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.

# !pip install python-dotenv

from dotenv import load_dotenv

load_dotenv()
True
# Mengatur pelacakan LangSmith. https://smith.langchain.com
# !pip install langchain-teddynote
from langchain_altero import logging

# Masukkan nama untuk proyek Anda.
logging.langsmith("CH03-OutputParser")
Mulai penelusuran langsmith.
[nama project]
CH03-OutputParser
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

# 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.

# 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
['Ubud']
['Kuta']
['Tanah Lot']
['Seminyak']
['Nusa Penida']

Last updated