📚
lsp-aiでgroqを利用した爆速Copilotを手に入れたい
lsp-aiについて
- lsp(Language Server Protocol)はMicroSoftが提唱したプロトコルで、VSCodeからhelixまで幅広いエディタの共通のインターフェースを提供します
- lsp-aiは、lspを使ってGitHub Copilotのようなインライン補完を提供するツールです
- 今回は簡単のためVSCodeの例を示します。
インストール
以下の手順でセットアップします。
- lsp-aiのインストール
- VSCode拡張機能のインストール
- groqのAPIキーの取得
- 拡張機能の設定
1. lsp-aiのインストール
wikiに従ってインストールします。以下はMacOSの例です。
cargo install lsp-ai -F llama_cpp -F metal
2. VSCode拡張機能のインストール
以下のリンクからVSCode拡張機能をインストールします。インストール数が少ないですが公式です。 参考
3. groqのAPIキーの取得
他のものでも動きますが、本趣旨であるgroqでの爆速補完のためにAPIキーを取得します。
ログインしてCreate API Keyで簡単に取得できます。
4. 拡張機能の設定
まずはQuick Suggestionsの設定を変更します。
"editor.quickSuggestions": {
"comments": "inline",
"other": "inline",
"strings": "inline"
},
次にプロバイダを設定します。公式のwikiだと少し不親切な部分。以下はgroqの例です。
auth_token_env_var_nameを利用したら環境変数から取得できるようですが、うまく認識しないのでauth_tokenで直接設定します。
"lsp-ai.serverConfiguration": {
"memory": {
"file_store": {}
},
"models": {
"model1": {
"type": "open_ai",
"chat_endpoint": "https://api.groq.com/openai/v1/chat/completions",
"model": "llama3-8b-8192",
"auth_token": "gsk_xxx",
}
},
"completion": {
"model": "model1",
"parameters": {
"max_context": 1800,
"max_tokens": 32,
"messages": [
{
"role": "system",
"content": "You are a programming completion tool. Replace <CURSOR> with the correct code."
},
{
"role": "user",
"content": "{CODE}"
}
]
}
}
},
使ってみた
最後に簡単なアルゴリズムを書いてみました。
速度
確かにスピードが速い気がしますが、cacheがないせいか、Copilotとそこまで変わらないスピードでした。
精度
7bにしては最低限使える精度が出ます。構文か崩れてたりするのでそこはチューニングが必要そうです。
その他
あとそしてちょっと書いただけでratelimitが来ます。やっぱ金かけないとです。
Discussion