02. Comma Separator Output Parser (Comma Separated List Output Parser)

02. Comma Separator Output Parser (CommaSeparatedListOutputParser)

CommaSeparatedListOutputParser

CommaSeparatedListOutputParser berguna ketika Anda perlu mengembalikan daftar item yang dipisahkan dengan koma.

Dengan menggunakan pemilah keluaran ini, Anda bisa mendapatkan data yang dimasukkan oleh pengguna atau informasi yang diminta dalam daftar yang jelas dan ringkas yang dipisahkan oleh koma. Misalnya, ketika membuat daftar beberapa titik data, nama, item, atau jenis nilai lainnya, ini adalah cara yang efektif untuk mengatur dan mengkomunikasikan informasi kepada pengguna.

Metode ini sangat berguna untuk menyusun informasi, meningkatkan keterbacaan, dan terutama ketika berurusan dengan data atau membutuhkan hasil dalam bentuk daftar.

Python
# pastikan sudah menginstall package python-dotenv
# !pip install python-dotenv
 
from dotenv import load_dotenv
 
load_dotenv()
Output
True
Python
# Mengatur pelacakan LangSmith. https://smith.langchain.com
# Pastikan sudah menginstall package langchain_teddynote
# !pip install langchain-teddynote
from langchain_altero import logging
 
# Masukkan nama untuk proyek Anda.
logging.langsmith("CH03-OutputParser")
Output
Mulai penelusuran langsmith.
[nama project]
CH03-OutputParser
Python
from langchain_core.output_parsers import CommaSeparatedListOutputParser
from langchain_core.prompts import PromptTemplate
from langchain_openai import ChatOpenAI
 
# Output parser yang memisahkan daftar dengan koma
output_parser = CommaSeparatedListOutputParser()
 
# Mengambil petunjuk format output
format_instructions = output_parser.get_format_instructions()
# Mengatur template prompt
prompt = PromptTemplate(
    # Template untuk mencantumkan lima item tentang suatu topik
    template="Sebutkan lima {subject}.\n{format_instructions}",
    input_variables=["subject"],  # Menggunakan 'subject' sebagai variabel input
    # Menggunakan petunjuk format sebagai variabel parsial
    partial_variables={"format_instructions": format_instructions},
)
 
# Inisialisasi model ChatOpenAI
model = ChatOpenAI(temperature=0)
 
# Membuat chain dengan menghubungkan prompt, model, dan output parser
chain = prompt | model | output_parser
  • Jalankan chain dan cetak hasilnya
Python
# Jalankan chain untuk subjek "Tempat Wisata di Bali"
result = chain.invoke({"subject": "Tempat Wisata di Bali"})
  • Gunakan chain.stream untuk memproses stream tentang "Tempat Wisata di Bali" secara berulang.
  • Cetak hasil stream selama perulangan.
Python
# Gunakan chain.stream untuk memproses stream tentang "Tempat Wisata di Korea Selatan" secara berulang
for s in chain.stream({"subject": "Tempat Wisata di Bali"}):
    print(s)  # Cetak isi dari stream
Output
['Ubud']
['Kuta']
['Tanah Lot']
['Seminyak']
['Nusa Penida']