Open R1:如何在本地使用 OlympicCoder 进行编码

发布于 2025 年 3 月 20 日
在 GitHub 上更新

过去几年,大家一直在使用 Claude 和 OpenAI 作为编码助手,但如果你关注 Open R1 等开源项目的发展,就会发现它们的吸引力有所不同。如果我们看一下下面 LiveCodeBench 上的评估,可以看到 7B 参数的变体性能优于 Claude 3.7 Sonnet 和 GPT-4o。这些模型是许多工程师在 Cursor 和 VSCode 等应用中日常使用的工具。

evals

评估固然很棒,但我想亲自动手感受一下提交代码的过程!这篇博文将重点介绍如何将这些模型集成到你的 IDE 中。我们将设置 OlympicCoder 7B,这是两个 OlympicCoder 变体中较小的一个,并且我们会使用量化版本以实现最佳的本地推理性能。以下是我们即将使用的技术栈:

  • OlympicCoder 7B。来自 LMStudio 社区的 4 位 GGUF 版本。
  • LM Studio:一个简化 AI 模型运行的工具
  • Visual Studio Code (VS Code)
  • Continue:一个用于本地模型的 VS Code 扩展

需要强调的是,我们选择这个技术栈完全是为了简单。你可能想尝试更大的模型和/或不同的 GGUF 文件,甚至可以试试像 llama.cpp 这样的替代推理引擎。

generation

1. 安装 LM Studio

LM Studio 就像一个 AI 模型的控制面板。它与 Hugging Face Hub 集成,可以拉取模型,帮你找到合适的 GGUF 文件,并提供一个 API,让其他应用程序可以与模型交互。

简而言之,它让你无需任何复杂的设置就能下载和运行它们。

  1. 访问 LM Studio 网站:打开你的网页浏览器,访问 https://lm-studio.cn/download
  2. 选择你的操作系统:点击对应你电脑(Windows、Mac 或 Linux)的下载按钮。
  3. 安装 LM Studio:运行下载的文件并按照说明操作。就像安装任何其他程序一样。

2. 获取 OlympicCoder 7B

我们需要的 GGUF 文件托管在 Hub 上。我们可以使用“Use this model”(使用此模型)按钮,从 Hub 在 LMStudio 中打开模型。

model_page

这将链接到 LMStudio 应用程序并在你的机器上打开它。你只需要选择一个量化版本。我选择了 Q4_K_M,因为它在大多数设备上都能表现良好。如果你的计算资源更充足,可以尝试一下 Q8_* 的选项。

如果你想跳过 UI,也可以通过命令行使用 LMStudio 加载模型。

lms get lmstudio-community/OlympicCoder-7B-GGUF
lms load olympiccoder-7b
lms server start

3. 将 LM Studio 连接到 VS Code

这是重要的部分。我们现在需要将 VS Code 与 LMStudio 提供的模型集成。

  1. 在 LM Studio 中,在“Developer”(开发者)选项卡上激活服务器。这将在 https://:1234/v1 处公开端点。

lmstudio

  1. 安装 VS Code 扩展以连接到我们的本地服务器。我选择了 Continue.dev,但也有其他选择。
    • 在 VSCode 中,转到“Extensions”(扩展)视图(点击左侧边栏的方块图标,或按 Ctrl+Shift+X / Cmd+Shift+X)。
    • 搜索“Continue”并安装“Continue Dev”的扩展。
  2. 在 Continue.dev 中配置一个新模型
    • 打开 Continue 选项卡,在模型下拉菜单中,选择“add new chat model”(添加新的聊天模型)。
    • 这将打开一个 json 配置文件。你需要指定模型名称,例如 olympiccoder-7b。

continue

🚀 你拥有了一个本地编码助手!

通过这种设置,vscode 中的大多数核心 AI 功能都可用,例如:

  • 代码补全:开始输入,AI 会建议如何完成你的代码。
  • 生成代码:让它编写一个函数或一整个代码块。例如,你可以(在注释或聊天窗口中,取决于扩展)输入:// 用 JavaScript 编写一个反转字符串的函数
  • 解释代码:选择一些代码,让 AI 解释它的作用。
  • 重构代码:让 AI 使你的代码更简洁或更高效。
  • 编写测试:让 AI 为你的代码创建单元测试。

🏋️‍♀️ OlympicCoder 的风格是什么?

OlympicCoder 不是 Claude。它在基于竞赛编程挑战的 CodeForces-CoTs 数据集上进行了优化。这意味着你不应期望它非常友好和善于解释。相反,卷起袖子,准备好迎接一个毫不留情、准备处理难题的竞赛程序员。

你可能需要将 OlympicCoder 与其他模型结合使用,以获得全面的编码体验。例如,如果你想从二分搜索中榨取毫秒级性能,可以试试 OlympicCoder。如果你想设计一个面向用户的 API,那就选择 Claude-3.7-sonnet 或 Qwen-2.5-Coder

后续步骤

  • 在下面的评论中分享你最喜欢的生成结果
  • 从 Hub 尝试另一个 OlympicCoder 的变体。
  • 根据你的硬件试验不同的量化类型。
  • 在 LM Studio 中尝试多个模型,体验不同的编码风格!查看模型目录 https://lm-studio.cn/models
  • 尝试其他具有智能体功能的 VS Code 扩展,如 Cline

社区

我在 https://livecodebench.github.io/leaderboard.html 上没有看到你发布的图表。我错过了什么?

·

只有 VS Code 吗?VI 呢?

·

对专业人士来说不是行业标准

Visual Studio Code 74%
Visual Studio 29.7%
IntelliJ IDEA 27.9%
Notepad++ 24%
Vim 21.6%

https://survey.stackoverflow.co/2024/technology#1-integrated-development-environment

因此 continue.dev 只支持 JetBrain 和 VSC。

注册登录以发表评论