菜单

Python API

相关源文件

本文档介绍了 Open Interpreter 的 Python API,它允许您在 Python 应用程序中以编程方式与解释器进行交互。有关命令行界面的信息,请参阅命令行界面;有关服务器模式的信息,请参阅服务器模式

概述

Python API 提供了一个灵活的接口,可将 Open Interpreter 的功能集成到您的 Python 应用程序中。您可以通过编程方式发送消息、接收响应、配置解释器和管理对话。

来源: README.md85-91 interpreter/core/core.py24-42

安装

使用 pip 安装 Open Interpreter

基本用法

导入解释器

要使用 Python API,首先导入预初始化的解释器实例

这会导入 OpenInterpreter 类的一个单例实例,该实例充当交互的中心接口。

来源: README.md87

发送消息

与解释器通信的主要方法是 chat()

此方法向解释器发送消息,解释器会处理该消息,运行任何必要的代码,并返回结果。

来源: README.md89 interpreter/core/core.py164-196

交互式聊天

您可以启动交互式聊天会话

这会打开一个对话,您可以在终端中直接与解释器交互。

来源: README.md90 interpreter/core/core.py164-196

数据流

以下图表说明了使用 Python API 时的数据流

来源: interpreter/core/core.py164-196 interpreter/core/respond.py14-462

配置选项

解释器实例有许多可直接设置的可配置属性

语言模型配置

执行设置

安全与隐私

来源: README.md186-190 interpreter/core/core.py42-139 interpreter/terminal_interface/start_terminal_interface.py30-79

核心属性和方法

下表总结了解释器的主要属性和方法

属性/方法类型描述
messages列表作为消息对象的对话历史列表
system_message字符串语言模型的基本提示
custom_instructions字符串附加到系统消息的额外指令
auto_run布尔值是否自动运行生成的代码
llm对象语言模型配置
computer对象运行代码的计算机系统
chat(message, display, stream, blocking)方法发送消息并获取响应
reset()方法清除对话历史并终止进程
wait()方法在使用非阻塞模式时等待响应完成

来源: interpreter/core/core.py42-139 interpreter/core/core.py147-153 interpreter/core/core.py430-445

消息结构

以下图表显示了解释器中消息的结构

来源: interpreter/core/core.py85 interpreter/core/respond.py52-59 tests/test_interpreter.py32-74

流式响应

您可以流式传输响应以实现实时更新

每个数据块都是一个字典,包含响应生成时的各个部分。这些数据块具有指示其角色、类型和内容的结构。

来源: README.md121-123 interpreter/core/core.py187-188

管理对话

访问消息历史

对话历史存储在 messages 属性中

保存和恢复聊天

您可以保存对话状态并在以后恢复它

来源: README.md174-179 interpreter/core/core.py85

重置解释器

要开始一个新的对话

这将清除消息历史并终止所有正在运行的进程。

来源: README.md167-168 interpreter/core/core.py430-435

自定义系统消息

您可以自定义系统指令以修改解释器的行为

来源: README.md186-190 interpreter/core/core.py135

使用本地模型

要使用本地语言模型运行 Open Interpreter

来源: README.md247-256

服务器模式

您可以启动一个 FastAPI 服务器,通过 HTTP 端点控制 Open Interpreter

这将创建一个包含聊天、检索历史和执行代码端点的服务器。

有关服务器模式的更多详细信息,请参阅服务器模式

来源: README.md321-349

与计算机 API 集成

Python API 提供了访问 Computer API 的功能,从而实现与本地环境的交互

来源: interpreter/core/core.py119 README.md48-52

实际示例

基本问答

代码执行

数据分析示例

处理图像

来源: tests/test_interpreter.py569-595

错误处理

解释器处理各种类型的错误,包括

  • API 认证问题
  • 限流
  • 模型选择无效
  • 代码执行错误

如果在执行过程中出现错误,它们将被捕获并作为响应返回。

来源: interpreter/core/respond.py105-163

限制与最佳实践

  • 自动运行安全:设置 auto_run=True 时请务必谨慎,因为它会在未经确认的情况下执行代码。
  • 内存管理:对于长时间对话,请考虑定期重置或管理消息历史。
  • API 密钥:安全存储 API 密钥,最好以环境变量的形式。
  • 错误处理:在生产代码中使用解释器时,请实现 try-except 块。
  • 流式传输:使用流式传输可实现更灵敏的应用程序,尤其是在响应较长时。

完整类参考

OpenInterpreter 类是 Python API 的主要入口点。以下是其结构的全面视图

来源: interpreter/core/core.py24-445