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://lmstudio.ai/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://lmstudio.ai/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。

註冊登入以發表評論

© . This site is unofficial and not affiliated with Hugging Face, Inc.