本文档介绍了 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
Python API 提供了访问 Computer API 的功能,从而实现与本地环境的交互
来源: interpreter/core/core.py119 README.md48-52
来源: tests/test_interpreter.py569-595
解释器处理各种类型的错误,包括
如果在执行过程中出现错误,它们将被捕获并作为响应返回。
来源: interpreter/core/respond.py105-163
auto_run=True 时请务必谨慎,因为它会在未经确认的情况下执行代码。OpenInterpreter 类是 Python API 的主要入口点。以下是其结构的全面视图