Pandas DataFrame adalah struktur data yang banyak digunakan dalam bahasa pemrograman Python, sering digunakan untuk manipulasi dan analisis data. Ini menyediakan seperangkat alat yang komprehensif untuk menangani data terstruktur, yang dapat digunakan dalam berbagai tugas seperti pembersihan data, transformasi, dan analisis.
Parser output ini memungkinkan pengguna untuk menentukan DataFrame Pandas yang diinginkan dan meminta LLM untuk mengekstrak data dari DataFrame tersebut dan mengembalikannya dalam bentuk kamus yang terformat.
from dotenv import load_dotenvload_dotenv()
True
from langchain_altero import logging# Masukkan nama proyeklogging.langsmith("CH03-OutputParser")
Mulai penelusuran langsmith.
[nama project]
CH03-OutputParser
# Menginisialisasi model ChatOpenAI (disarankan menggunakan model gpt-4o-mini)model =ChatOpenAI(temperature=0, model_name="gpt-3.5-turbo")
Fungsi format_parser_output digunakan untuk mengonversi output parser ke dalam format kamus dan menentukan format output.
# Hanya digunakan untuk tujuan outputdefformat_parser_output(parser_output: Dict[str, Any]) ->None:# Menelusuri kunci-kunci dari output parserfor key in parser_output.keys():# Mengonversi nilai setiap kunci ke dalam kamus parser_output[key]= parser_output[key].to_dict()# Menampilkan output dengan format yang rapireturn pprint.PrettyPrinter(width=4, compact=True).pprint(parser_output)
Baca data dari file titanic.csv, lalu muat ke dalam DataFrame dan tetapkan ke variabel df.
Gunakan PandasDataFrameOutputParser untuk mem-parsing DataFrame.
# Mendefinisikan Pandas DataFrame yang diinginkan
df = pd.read_csv("/content/titanic.csv")
df.head()
# Mengatur parser dan menyisipkan petunjuk ke dalam template promptparser =PandasDataFrameOutputParser(dataframe=df)# Menampilkan petunjuk format dari parserprint(parser.get_format_instructions())
Contoh untuk menampilkan nilai dari kolom-kolom.
# Contoh operasi kolomdf_query ="Tolong tampilkan kolom Name."# Mengatur template promptprompt =PromptTemplate( template="Jawab pertanyaan pengguna.\n{format_instructions}\n{query}\n", input_variables=["query"], # Mengatur variabel input partial_variables={"format_instructions": parser.get_format_instructions() }, # Mengatur variabel parsial)# Membuat chainchain = prompt | model | parser# Menjalankan chainparser_output = chain.invoke({"query": df_query})# Menampilkan outputformat_parser_output(parser_output)