前言
最近 Github Copilot 出了點問題,發現身邊不少同學如失左膀右臂。之前看到有網友方向通過本地部署 LLM 實現了類似 Copilot 的功能,借此機會我也來嘗試自己部署一套看看能否在 Copilot 無法使用期間臨時過渡一下。
本文作者:煙花易冷
原文地址:
工具介紹
整套工具鏈我選擇了比較熱門的 ollama 部署 deepseek 模型,然后和 IDE 上的 continue.dev 插件進行聯動,實現類似 Github Copilot 的代碼提示與問答功能。
ollama
ollama 是一個輕量級、可擴展的框架,專為在本地運行大型語言模型而設計。它簡化了模型的設置和配置過程,包括 GPU 的使用,可以很方便地運行并管理常見的開源大模型。在其官網有一個模型倉庫可以檢索到當前支持的全部模型,基本上主流的開源模型都能找到,一些常用的模型如下:
在這里我主要應用 ollama 來下載安裝 deepseek 模型,并提供對應的 HTTP API,如果有同學使用了其他方法的話(如 LM Studio)也是可以的。再提一嘴,ollama 的 api 部分采用了 gin 框架,cli 部分采用了 cobra,是不是后端的同學 DNA 要動了(偷笑)。
deepseek coder 模型
deepseek coder 是知名私募巨頭幻方量化旗下的人工智能公司深度求索自主研發的大語言模型,數學和編碼能力突出。核心功能是代碼自動補全和智能代碼建議。它可以理解你的意圖,并根據你的上下文提供相關的代碼片段。
除了 deepseek 以外,還有 codellama、starcode 等開源模型也可以用作代碼生成類的場景,不同模型之間對比參考可以參考 deepseek 放出來的一張圖一張圖:

詳細的文章可以參考:https://maimai.cn/article/detail?fid=1819575131&efid=LlF0X9Eadl1kryiJ2Qrtcw
continue.dev 插件
continue.dev 是一款開源的 AI 輔助編程插件,支持 VSCode 和 Jetbrains IDE,也支持自定義 API 接口。在這里我便是利用 continue.dev 對接 ollama 的接口,去實現代碼的自動完成功能。
我的開發機配置
MacBook Air M1 2020 版
8 核心 Arm CPU, 16G 運行內存
部署過程
安裝 ollama
首先進入到 ollama 官網下載頁,選擇合適的系統版本進行安裝
安裝完成后可以直接在終端里執行 ollama 看看效果。對于 Mac 系統,安裝完成后將會在任務欄展示一個小圖標并自動運行 ollama 服務端。如果是 Linux 系統的話需要手動執行一下 ollama serve 啟動。
下載并運行對應的模型
安裝完成之后,只需要簡單運行一條命令即可下載 deepseek code 模型。在這里我選擇的是 6.7b 的版本
ollama pull deepseek-coder:6.7b
我們可以通過下面的命令看到當前已經下載的模型
ollama list
也可以直接運行模型進行簡單的人機對話的話
ollama run deepseek-coder:6.7b

安裝 continue.dev 插件并配置對應的模型
這里以 VSCode 為例,直接進入到插件市場,搜索 continue 然后安裝即可

這個插件大約250M,下載過程比較緩慢,完成安裝后需要進行簡單的配置。
使用效果
這里簡單試了一下自動完成的能力,與 github copilot 的用法基本一致,能夠正常為我們生成注釋、代碼片段以及通過對話的方式生成單元測試。


總結
整個流程跑下來,確實是能夠實現類似于 Copilot 的效果,并且可以脫離互聯網運行,但是個人認為它的功能還是相對雞肋。
由于是本地部署,個人開發機配置并不算高,因此模型的響應速度不太理想。
所選擇的模型跑出來的效果不盡人意。由于時間的緣故,我基本上按照網友們的評論跟帖選擇了 deepseek 6.7b 的模型,其他同種類的模型如 codellama、starcoder 都沒來得及試用,加之開發機無獨立顯卡、內存空間不大而選擇了 6.7b 的版本,“代碼提示”的效果遠不如 GPT4 模型完善,具體表現為條件判斷不嚴謹、部分代碼提示出現非預期錯誤等等。
根據網友使用家用電腦跑大模型的案例,由于電腦沒有獨立的GPU,使用CPU運算時將會增大內存的帶寬負擔,有出現內存受損的情況。雖然不排除是個例,但是長時間讓開發機處于滿載狀態會不會影響壽命確實是個值得思考的問題。
時間匆忙,行文催促,并未對各個模型的效果做詳細對比,虛心接受各位前輩的指教。