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.
# Mengatur pelacakan LangSmith. https://smith.langchain.com# !pip install langchain-teddynotefrom 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 CommaSeparatedListOutputParserfrom langchain_core.prompts import PromptTemplatefrom langchain_openai import ChatOpenAI# Output parser yang memisahkan daftar dengan komaoutput_parser =CommaSeparatedListOutputParser()# Mengambil petunjuk format outputformat_instructions = output_parser.get_format_instructions()# Mengatur template promptprompt =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 ChatOpenAImodel =ChatOpenAI(temperature=0)# Membuat chain dengan menghubungkan prompt, model, dan output parserchain = 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 berulangfor s in chain.stream({"subject": "Tempat Wisata di Bali"}):print(s)# Cetak isi dari stream