Open R1:如何在本地使用 OlympicCoder 進行編碼
過去幾年,大家一直在使用 Claude 和 OpenAI 作為編碼助手,但如果你關注 Open R1 等開源專案的發展,就會發現它們的吸引力有所不同。如果我們看一下下面 LiveCodeBench 上的評估,可以看到 7B 引數的變體效能優於 Claude 3.7 Sonnet 和 GPT-4o。這些模型是許多工程師在 Cursor 和 VSCode 等應用中日常使用的工具。
評估固然很棒,但我想親自動手感受一下提交程式碼的過程!這篇博文將重點介紹如何將這些模型整合到你的 IDE 中。我們將設定 OlympicCoder 7B,這是兩個 OlympicCoder 變體中較小的一個,並且我們會使用量化版本以實現最佳的本地推理效能。以下是我們即將使用的技術棧:
- OlympicCoder 7B。來自 LMStudio 社群的 4 位 GGUF 版本。
- LM Studio:一個簡化 AI 模型執行的工具
- Visual Studio Code (VS Code)
- Continue:一個用於本地模型的 VS Code 擴充套件
需要強調的是,我們選擇這個技術棧完全是為了簡單。你可能想嘗試更大的模型和/或不同的 GGUF 檔案,甚至可以試試像 llama.cpp 這樣的替代推理引擎。
1. 安裝 LM Studio
LM Studio 就像一個 AI 模型的控制面板。它與 Hugging Face Hub 整合,可以拉取模型,幫你找到合適的 GGUF 檔案,並提供一個 API,讓其他應用程式可以與模型互動。
簡而言之,它讓你無需任何複雜的設定就能下載和執行它們。
- 訪問 LM Studio 網站:開啟你的網頁瀏覽器,訪問 https://lmstudio.ai/download。
- 選擇你的作業系統:點選對應你電腦(Windows、Mac 或 Linux)的下載按鈕。
- 安裝 LM Studio:執行下載的檔案並按照說明操作。就像安裝任何其他程式一樣。
2. 獲取 OlympicCoder 7B
我們需要的 GGUF 檔案託管在 Hub 上。我們可以使用“Use this model”(使用此模型)按鈕,從 Hub 在 LMStudio 中開啟模型。
這將連結到 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 提供的模型整合。
- 在 LM Studio 中,在“Developer”(開發者)選項卡上啟用伺服器。這將在
https://:1234/v1
處公開端點。
- 安裝 VS Code 擴充套件以連線到我們的本地伺服器。我選擇了 Continue.dev,但也有其他選擇。
- 在 VSCode 中,轉到“Extensions”(擴充套件)檢視(點選左側邊欄的方塊圖示,或按 Ctrl+Shift+X / Cmd+Shift+X)。
- 搜尋“Continue”並安裝“Continue Dev”的擴充套件。
- 在 Continue.dev 中配置一個新模型
- 開啟 Continue 選項卡,在模型下拉選單中,選擇“add new chat model”(新增新的聊天模型)。
- 這將開啟一個 json 配置檔案。你需要指定模型名稱,例如 olympiccoder-7b。
🚀 你擁有了一個本地編碼助手!
透過這種設定,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