菜单

本地模型

相关源文件

本页介绍了 Open Interpreter 的本地模型功能,解释了如何在本地机器上运行语言模型,而不是使用云 API。有关使用 OpenAI 或 Claude 等托管模型的信息,请参阅托管模型

概述

Open Interpreter 支持在您的机器上本地运行大型语言模型,提供多项优势:

  • 隐私性:您的对话和数据保留在您的计算机上
  • 离线使用:初始设置后无需互联网连接
  • 成本效益:无 API 使用费用
  • 可定制性:可控制模型选择和参数

本地模型支持通过与几个本地模型提供商集成实现,这些提供商负责实际的模型加载和推理。

来源: interpreter/terminal_interface/local_setup.py190-203

支持的本地模型提供商

Open Interpreter 集成了四个主要的本地模型提供商:

Ollama

Ollama 提供了一种在本地轻松运行开源大型语言模型的方法。它通过简单的 API 处理模型的下载、管理和运行。

主要功能:

  • 优先支持较新的模型,如 Llama 3、Codestral、Phi3、Mistral-Nemo 和 Gemma2
  • 简单的命令行界面
  • 模型库可在 ollama.com/library 上获取
  • 使用 ollama pull <model_name> 轻松安装模型

设置过程:

  1. ollama.com 安装 Ollama
  2. Open Interpreter 将自动检测并列出已安装的模型
  3. 模型可以直接通过界面下载

来源: interpreter/terminal_interface/local_setup.py237-329

Llamafile

Llamafile 创建可移植的自包含可执行文件,其中包含模型权重和推理引擎。

主要功能:

  • 跨平台工作的单文件可执行文件
  • 除了模型文件本身,无需额外安装
  • 模型存储在 Open Interpreter 的 models 目录中
  • 包含各种大小和功能不同的模型
  • 内置模型下载器,根据硬件提供大小建议

可用模型包括:

  • Llama-3.1-8B-Instruct (4.95GB)
  • Gemma-2-9b (5.79GB)
  • Phi-3-mini (2.42GB)
  • Moondream2 (视觉能力, 1.98GB)
  • Mistral-7B-Instruct (4.40GB)
  • Gemma-2-27b (16.7GB)
  • TinyLlama-1.1B (0.70GB)
  • Rocket-3B (1.74GB)
  • LLaVA 1.5 (视觉能力, 4.29GB)
  • WizardCoder-Python (代码专用, 13B 和 34B 版本)
  • Mixtral-8x7B-Instruct (30.03GB)

来源: interpreter/terminal_interface/local_setup.py16-188 interpreter/terminal_interface/local_setup.py379-456

LM Studio

LM Studio 是一款用于运行各种开源语言模型的桌面应用程序。

主要功能:

  • 用于模型管理和服务器操作的桌面 GUI
  • 支持多种模型架构
  • 自带内置聊天界面
  • 公开一个与 OpenAI 兼容的 API 服务器

设置过程:

  1. lmstudio.ai 下载并安装 LM Studio
  2. 通过 LM Studio 界面下载模型
  3. 从 LM Studio 启动本地服务器
  4. 将 Open Interpreter 连接到正在运行的服务器

来源: interpreter/terminal_interface/local_setup.py218-236

Jan

Jan.ai 是另一个在本地运行语言模型的桌面应用程序。

主要功能:

  • 带有内置模型中心的桌面应用程序
  • 与 OpenAI 兼容的 API 服务器
  • 模型管理界面

设置过程:

  1. jan.ai 下载并安装 Jan
  2. 通过 Jan 界面下载模型
  3. 启动本地 API 服务器
  4. 在 Open Interpreter 中选择模型

来源: interpreter/terminal_interface/local_setup.py331-377

设置本地模型

使用本地浏览器

使用本地模型的简单方法是通过本地浏览器界面,它提供引导式设置:

  1. 安装 Open Interpreter: pip install open-interpreter
  2. 使用本地标志启动: interpreter --local
  3. 按照交互式菜单选择提供商和模型
> Open Interpreter supports multiple local model providers.
> 
> ? Select a provider
>   Ollama
>   Llamafile
>   LM Studio
>   Jan

来源: interpreter/terminal_interface/local_setup.py190-217

硬件要求

选择本地模型时,请考虑您的硬件规格:

  • 内存 (RAM):模型大小的主要限制
    • < 10GB 内存:Phi-3-mini 或 TinyLlama 等小型模型
    • 10-30GB 内存:Mistral-7B 或 Llama-3.1-8B 等中型模型
    • > 30GB 内存:Mixtral-8x7B 或 Gemma-2-27b 等大型模型

  • 存储:模型文件所需空间
  • GPU:加速推理但并非必需

Open Interpreter 将分析您的系统并推荐合适的模型

Your machine has `16.00GB` of RAM, and `256.45GB` of free storage space.

Your computer could handle a mid-sized model (4-10GB), Mistral-7B might be the best model for your computer.

来源: interpreter/terminal_interface/local_setup.py16-45

Python API 配置

通过 Python API 使用本地模型:

来源: docs/guides/running-locally.mdx39-50

自定义端点

如果您使用的本地模型提供商未直接支持,您可以连接到任何与 OpenAI 兼容的 API 端点。

来源: docs/guides/running-locally.mdx25-36

本地模型优化

本地模型通常需要额外的指导才能实现最佳性能。Open Interpreter 提供多项设置来提供帮助:

消息模板

这些模板有助于为发送到本地模型的提示提供一致的结构

# Configure templates
interpreter.user_message_template = "User: {message}\nAssistant: "
interpreter.always_apply_user_message_template = True
interpreter.code_output_template = "Output: {content}\nNext step:"
interpreter.empty_code_output_template = "The code executed successfully with no output."

这些模板有助于为模型提供更多上下文和结构,而无需用户修改其消息。

来源: docs/guides/running-locally.mdx52-66 interpreter/terminal_interface/profiles/defaults/local-assistant.py106-110

本地模型配置文件

Open Interpreter 包含为本地模型优化的预配置配置文件

local-assistant 配置文件为 Open Interpreter 配置了适合本地模型的系统消息和模板,包括:

  • 带有明确指令的简洁系统消息
  • 为本地模型优化的输出模板
  • 自动代码执行
  • 离线模式已启用

来源: interpreter/terminal_interface/profiles/defaults/local-assistant.py1-120

性能考量

使用本地模型时:

  1. 响应质量:本地模型通常无法与 GPT-4 等大型托管模型的功能相媲美,但对于许多任务仍然有效
  2. 速度:推理速度取决于您的硬件,特别是 CPU/GPU 性能
  3. 上下文窗口:本地模型的上下文窗口通常比云端模型小
  4. 视觉能力:某些本地模型(如 Moondream2 和 LLaVA)支持图像理解

Open Interpreter 会根据您的硬件自动调整参数

来源: interpreter/terminal_interface/local_setup.py457-466

管理本地模型

对于 Llamafile 模型,Open Interpreter 提供了一个管理界面:

此命令列出所有已下载的模型并允许您:

  • 查看模型详情(大小、功能)
  • 下载新模型
  • 删除现有模型

模型存储在 Open Interpreter 的 models 目录中,通常位于:

  • Linux/macOS: ~/.openinterpreter/models/
  • Windows: %USERPROFILE%\.openinterpreter\models\

来源: interpreter/terminal_interface/local_setup.py173-176 interpreter/terminal_interface/local_setup.py379-456