( 教学 )Agent 构建 OutPutParser (定义输出结构)5. PandasDataFrameOutPutParser - 详解
( 教学 )Agent 构建 Prompt(提示词)5. PandasDataFrameOutPutParser
LLM 的输出以 pd.DataFrame 格式进行控制。
“Pandas”是一个软件包,以表格(即表格数据)的形式存在,深受数据科学家的青睐。它能帮助您进行数据的探索、清理和处理。
若想进一步了解 pd.DataFrame 及其功能,请访问 Pandas 官方教程之一,即 10 分钟学会 Pandas 。
这既可以作为将结构化输出转换为 LLM 查询的字符串形式,也可以作为将结构化输入提供给 LLM 查询的形式
作为输入,可以使用
pd.DataFrame数据集,使 LLM 与数据进行交互。
“本教程的目标”
了解PandasDataFrameOutputParser是如何用于与pd.DataFrame进行交互的。
数据采集可访问figshare.com网站,可以在该网站上找到各类学术研究的成果,包括从 CSV 格式到 PDF 格式的文件。
定义大模型
from langchain_openai import ChatOpenAI
from pydantic import BaseModel, Field
from dotenv import load_dotenv
import os
load_dotenv()
Qwen2_5_7B_Instruct_llm = ChatOpenAI(
temperature=0.1, # 控制输出的随机性和创造性,值越低输出越稳定可预测,值越高输出越有创意但可能偏离预期 (范围: 0.0 ~ 2.0)
model_name="Qwen/Qwen2.5-7B-Instruct", # 硅基流动支持的模型名称
openai_api_key=os.getenv("SILICONFLOW_API_KEY"), # 从环境变量获取API密钥
openai_api_base="https://api.siliconflow.cn/v1" # 硅基流动API的基础URL
)
定义输出模型
import pandas as pd
from pydantic import BaseModel, Field
from langchain_openai import ChatOpenAI
class DataFrameResponse(BaseModel):
"""期望 LLM 返回表格数据"""
dataframe: list[dict] = Field(..., description="表格数据,每行是一个字典")
model = Qwen2_5_7B_Instruct_llm.with_structured_output(DataFrameResponse)

浙公网安备 33010602011771号