Python 智能体。
Bodo DataFrames 是一个高性能 DataFrame 库,只需更改一行导入语句即可自动加速和扩展 Pandas 代码(见下方示例)。由于其与 Pandas 的高度兼容性,Bodo DataFrames 使 LLM(通常擅长生成 Pandas 代码)能够更高效地回答大型数据集的问题,并将生成的代码扩展到 Pandas 的限制之外。
注意: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 functions
以下展示如何使用 OPENAI_FUNCTIONS 智能体类型初始化智能体,这是上述方式的替代选项。使用 Bodo DataFrames 和预处理创建并调用智能体
本示例展示了一个稍复杂的用例:将带有一些额外预处理的 Bodo DataFrame 传递给create_bodo_dataframes_agent。
由于 Bodo DataFrames 采用惰性求值,如果不是所有列都需要用于回答问题,则可以节省计算资源。注意,传递给智能体的 DataFrame 也可以大于可用内存。
多 DataFrame 示例
您也可以向智能体传递多个 DataFrame。 需要注意的是,虽然 Bodo DataFrames 支持 Pandas 中大多数计算密集型操作,但如果智能体生成了当前不支持的代码(见下方警告),DataFrame 将回退到 Pandas 以避免错误。 有关当前支持的功能,请参阅 Bodo DataFrames API 文档。使用 number_of_head_rows 优化智能体调用
默认情况下,DataFrame 的头部数据会以 Markdown 表格形式嵌入到提示词中。
由于 Bodo DataFrames 采用惰性求值,这个 head 操作可以被优化,但在某些情况下仍可能较慢。作为优化手段,您可以将头部行数设置为 0,这样在提示词阶段就不会触发任何求值。
传入 Pandas DataFrames
您也可以向create_bodo_dataframes_agent 传入一个或多个 Pandas DataFrame,它们将在传递给智能体之前被转换为 Bodo DataFrame。
API 参考
Bodo DataFrames API 文档Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

