【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
相关推荐
大模型真好玩12 小时前
大模型训练全流程实战指南工具篇(六)——OCR工具实战指南(以DeepSeek-OCR-2为例)
人工智能·langchain·deepseek
高可用架构14 小时前
LangChain创始人:Agent 连接沙箱的两种模式(附深度架构解析)
架构·langchain
曦云沐16 小时前
第四篇:LangChain 1.0 Community 生态全览:第三方集成与厂商包最佳实践
人工智能·langchain·大模型开发框架
无名修道院16 小时前
AI大模型-LangChain
langchain·agent·ai大模型
梧桐16817 小时前
基于 LangChain 的Text2SQL 智能体开发实践
人工智能·langchain·大模型·text2sql
Elastic 中国社区官方博客19 小时前
从向量到关键词:在 LangChain 中的 Elasticsearch 混合搜索
大数据·开发语言·数据库·elasticsearch·搜索引擎·ai·langchain
JaydenAI21 小时前
[拆解LangChain执行引擎] PregelProtocol——定义了"LangChain执行体"最小功能集
python·langchain
明天有专业课21 小时前
RAG的基石-数据加载
langchain·aigc
GeminiJM21 小时前
LangGraph 源码学习笔记
linux·笔记·学习·langchain
曦云沐1 天前
第六篇:LangChain 1.0 消息系统与 Prompt 工程:从入门到精通的完整教程
人工智能·langchain·prompt·大模型开发框架