Python 代理。 Bodo DataFrames 是一个高性能的 DataFrame 库,通过简单的导入更改(参见下面的示例)可以自动加速和扩展 Pandas 代码。由于其强大的 Pandas 兼容性,Bodo DataFrames 使通常擅长生成 Pandas 代码的 LLM 能够更高效地回答有关大型数据集的问题,并将生成的代码扩展到 Pandas 的限制之外。 注意:Python 代理执行 LLM 生成的 Python 代码 - 如果 LLM 生成的 Python 代码有害,这可能会很糟糕。请谨慎使用。设置
在运行示例之前,请复制 泰坦尼克号数据集 并将其保存为titanic.csv。 安装 langchain-bodo 也会安装依赖项 Bodo 和 Pandas:pip
凭据
Bodo DataFrames 是免费的,不需要额外的凭据。示例使用 OpenAI 模型,如果尚未配置,请设置您的 OPENAI_API_KEY。创建和调用代理
以下示例借鉴自 Pandas DataFrames 代理笔记本,并进行了一些修改以突出关键区别。 第一个示例展示了如何直接将 Bodo DataFrame 传递给create_bodo_dataframes_agent 并提出一个简单的问题。使用 ZERO_SHOT_REACT_DESCRIPTION
这展示了如何使用 ZERO_SHOT_REACT_DESCRIPTION 代理类型初始化代理。
使用 OpenAI 函数
这展示了如何使用 OPENAI_FUNCTIONS 代理类型初始化代理。请注意,这是上述方法的一种替代方案。使用 Bodo DataFrames 和预处理创建和调用代理
此示例展示了一个稍微复杂的用例,即将 Bodo DataFrame 传递给create_bodo_dataframes_agent 并进行一些额外的预处理。由于 Bodo DataFrames 是惰性评估的,如果不需要所有列来回答问题,则可以节省计算。请注意,传递给代理的 DataFrame 也可以大于可用内存。
多数据帧示例
您还可以将多个 DataFrame 传递给代理。请注意,虽然 Bodo DataFrames 支持 Pandas 中大多数常见的计算密集型操作,但如果代理生成的代码目前不受支持(请参阅下面的警告),DataFrame 将被转换回 Pandas 以防止错误。 有关当前支持功能的更多详细信息,请参阅 Bodo DataFrames API 文档。使用 number_of_head_rows 优化代理调用
默认情况下,DataFrame 的头部作为 Markdown 表嵌入到提示中。由于 Bodo DataFrames 是惰性评估的,此头部操作可以进行优化,但在某些情况下仍然可能很慢。作为一种优化,您可以将头部行数设置为 0,这样在提示期间就不会发生评估。
传递 Pandas DataFrames
您还可以将一个或多个 Pandas DataFrame 传递给create_bodo_dataframes_agent。DataFrame 将在传递给代理之前转换为 Bodo。
API 参考
Bodo DataFrames API 文档以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。