( 教学 )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)
posted @ 2026-01-08 12:14  yangykaifa  阅读(26)  评论(0)    收藏  举报