【langchain学习】使用PandasDataFrameOutputParser对DataFrame进行数据处理

介绍如何使用Langchain结合ChatGLM对Pandas DataFrame进行数据处理。以下是具体步骤和代码示例:

  1. 导入所需库

    python 复制代码
    from config.chatglm_config import llm_glm4
    import pprint
    from typing import Any, Dict
    import pandas as pd
    from langchain.output_parsers import PandasDataFrameOutputParser
    from langchain.prompts import PromptTemplate
  2. 格式化解析器输出函数

    python 复制代码
    def format_parser_output(parser_output: Dict[str, Any]) -> None:
        for key in parser_output.keys():
            parser_output[key] = parser_output[key].to_dict()
        return pprint.PrettyPrinter(width=4, compact=True).pprint(parser_output)
  3. 定义Pandas DataFrame

    python 复制代码
    df = pd.DataFrame(
        {
            "num_legs": [2, 4, 8, 0],
            "num_wings": [2, 0, 0, 0],
            "num_specimen_seen": [10, 2, 1, 8],
        }
    )
  4. 设置解析器和提示模板

    python 复制代码
    parser = PandasDataFrameOutputParser(dataframe=df)
    df_query = "检索 num_wings 列。"
    prompt = PromptTemplate(
        template="回答用户查询。\n{format_instructions}\n{query}\n",
        input_variables=["query"],
        partial_variables={"format_instructions": parser.get_format_instructions()},
    )
  5. 执行链操作

    python 复制代码
    chain = prompt | llm_glm4 | parser
    parser_output = chain.invoke({"query": df_query})
    format_parser_output(parser_output)
  6. 得到结果

bash 复制代码
{'num_wings': {0: 2,
               1: 0,
               2: 0,
               3: 0}}

Process finished with exit code 0
相关推荐
Andy_shenzl1 天前
31、LangChain开发框架(八)-- LangChain 数据分析智能体实战
数据挖掘·数据分析·langchain·agent开发
liliangcsdn2 天前
如何结合langchain、neo4j实现关联检索问答
开发语言·python·langchain·neo4j
大模型教程2 天前
dify和Langchain-Chatchat有什么区别?
程序员·langchain·llm
想ai抽3 天前
基于AI Agent的数据资产自动化治理实验
人工智能·langchain·embedding
小关会打代码3 天前
LangChain最详细教程之Model I/O(三)Output Parsers
langchain
小关会打代码3 天前
LangChain最详细教程之Model I/O(二)Prompt Template
langchain·prompt
动能小子ohhh3 天前
Langchain从零开始到应用落地案例[AI智能助手]【3】---使用Paddle-OCR识别优化可识别图片进行解析回答
人工智能·python·pycharm·langchain·ocr·paddle·1024程序员节
L_cl3 天前
【大模型应用开发 6.LangChain多任务应用开发】
langchain
weixin_438077494 天前
langchain_neo4j 以及 neo4j (windows-community) 的学习使用
windows·langchain·neo4j
Miku166 天前
从0到1,构建你的专属AI知识库:My-Chat-LangChain项目深度解析
人工智能·langchain