本文档描述了 Open Interpreter 的高级架构和主要组件。它解释了这些组件如何交互,从而使自然语言能够驱动代码执行和系统交互。
有关 OpenInterpreter 具体实现的信息,请参见OpenInterpreter 类、AsyncInterpreter 和服务器功能以及用户界面。
Open Interpreter 围绕一个中央解释器类构建,该类协调语言模型与用户计算机之间的交互。该架构遵循模块化设计模式,将语言模型交互、代码执行和用户界面之间的关注点分离。
来源
核心功能通过几个关键类实现,其中OpenInterpreter 作为将所有功能整合在一起的中心类。
来源
OpenInterpreter (interpreter/core/core.py)
AsyncInterpreter:
Computer:
LLM:
来源
核心功能围绕用户、语言模型和计算机系统之间的消息处理展开。
来源
用户输入: 当chat() 被调用时,用户的消息被添加到消息历史中。
LLM 交互: 系统构建一个提示,包括
响应处理: LLM 的响应通过_respond_and_store() 方法分块处理
代码执行: 如果存在代码
auto_run=False)迭代过程: 结果可能会以循环模式发送回 LLM 进行进一步处理,直到任务完成或模型指示完成。
来源
响应生成系统管理语言模型和计算机之间的对话流程。
响应生成过程
系统消息准备:
LLM 交互:
代码执行处理:
循环模式:
来源
Computer 组件处理多语言代码执行,并提供系统访问能力。
代码执行系统
语言验证:
安全检查:
safe_mode 启用,则扫描代码是否存在安全问题执行过程:
输出处理:
max_output 设置截断大输出来源
终端界面提供了在命令行中与 Open Interpreter 交互的主要用户体验。
终端界面
初始化:
输入处理:
% 开头)输出显示:
用户交互:
来源
Open Interpreter 通过命令行参数、配置文件和环境变量提供了广泛的配置选项。
| 类别 | 设置 | 描述 |
|---|---|---|
| LLM 配置 | model, temperature, api_key, api_base | 控制使用哪个语言模型以及其行为方式 |
| 执行控制 | auto_run, safe_mode, max_output | 决定代码执行的处理方式和安全保障 |
| 界面选项 | verbose, plain_text_display, multi_line | 控制信息如何显示给用户 |
| 特殊模式 | os, vision, local | 启用操作系统控制或本地模型等特殊功能 |
| 系统配置 | offline, speak_messages, conversation_history | 控制系统行为和功能 |
配置通过以下方式管理
配置文件: 预定义配置(例如local.py、vision.yaml),用于为特定用例设置 Open Interpreter
命令行参数: 启动 Open Interpreter 时传递的参数(例如--model、--auto_run 等)
环境变量: API 密钥和其他设置可以通过环境变量进行设置
来源
Open Interpreter 与各种外部系统集成,以提供其功能。
关键集成点包括
LLM 提供商 API:
操作系统:
Python 环境:
Web 服务:
来源
Open Interpreter 的核心架构围绕一个中央解释器类构建,该类协调语言模型与用户计算机之间的交互。模块化设计提供了清晰的关注点分离,同时实现了自然语言理解和系统执行功能之间的强大集成。
该架构的关键优势在于其灵活性——支持不同的 LLM 提供商、执行环境和接口模式,同时保持一致的交互模型。基于消息的通信系统允许通过持续的 LLM-计算机交互实现流式响应、交互式代码执行和迭代问题解决。