【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
相关推荐
百***97641 小时前
LangChain-08 Query SQL DB 通过GPT自动查询SQL
数据库·sql·langchain
小陈phd2 小时前
RAG从入门到精通(四)——结构化数据读取与导入
人工智能·langchain
唐诗2 小时前
使用 LangChain 创建一个简单的 Agent
前端·langchain·llm
骑猪兜风2338 小时前
大厂集体押注 SDD!阿里、腾讯、亚马逊都在用的规范驱动开发,优势在哪?坑怎么避?
人工智能·驱动开发·经验分享·langchain·ai编程
FreeCode9 小时前
基于LangSmith的提示词工程
python·langchain·agent
serve the people1 天前
HTML Document Loaders in LangChain
chrome·langchain·html
AI大模型1 天前
5步构建企业级RAG应用:Dify与LangChain v1.0集成实战
langchain·llm·agent
FreeCode1 天前
LangSmith本地部署LangGraph应用
python·langchain·agent
汗流浃背了吧,老弟!1 天前
LangChain 实现文本分类任务
分类·langchain
FreeCode2 天前
使用LangSmith评估智能体
python·langchain·agent