CodeLlama をローカルにデプロイし、VSCode で CodeLlama を使用する

1.CodeLlamaとは何ですか

Code Llama は、Llama 2 に基づく大規模コード言語モデルのファミリーであり、オープン モデルでの最先端のパフォーマンス、パディング機能、大規模な入力コンテキストのサポート、プログラミング タスクのゼロショット命令トレーサビリティを提供します。当社では、幅広いアプリケーションをカバーするためのいくつかのフレーバーを提供しています。基本モデル (Code Llama)、Python 特化型 (Code Llama - Python)、および命令追従モデル (Code Llama - Instruct) であり、それぞれ 7B、13B、および 34B パラメーターがあります。すべてのモデルは 16k ラベル付けされたシーケンスでトレーニングされ、最大 100k ラベル付けされた入力で改善が見られます。7B および 13B コード ラマおよびコード ラマ - 命令バリアントは、周囲のコンテンツに基づいたパディングをサポートします。Code Llama は、より高いコード サンプリングを使用して Llama 2 を微調整することによって開発されました。

2. CodeLlama Github アドレス

https://github.com/facebookresearch/codellama

3. CodeLlama モデルをダウンロードする

モデルの重みとトークナイザーをダウンロードするには、Meta AI Web サイトにアクセスし、ライセンスに同意します。

リクエストが承認されると、署名付きの URL が電子メールで届きます。次に、download.sh スクリプトを実行し、ダウンロードの開始を求めるプロンプトが表示されたら、指定された URL を渡します。必ず URL テキスト自体をコピーし、URL を右クリックするときに [リンク アドレスをコピー] オプションを使用しないでください。コピーした URL テキストが https://download.llamameta.net で始まっている場合は、正しくコピーされています。コピーした URL テキストが https://l.facebook.com で始まる場合は、コピーが間違っています。

4.CodeLlamaをデプロイする

仮想環境を作成し、

conda create -n codellama python==3.10 -y
conda activate codellama

クローンコード、

git clone https://github.com/facebookresearch/codellama.git; cd codellama

依存関係をインストールし、

pip install -e .

5. VSCode で CodeLlama を使用する

ダウンロードllamacpp_mock_api.py

cd codellama
wget https://raw.githubusercontent.com/xNul/code-llama-for-vscode/main/llamacpp_mock_api.py

スタートllamacpp_mock_api.py

torchrun --nproc_per_node 1 llamacpp_mock_api.py \
    --ckpt_dir CodeLlama-7b-Instruct/ \
    --tokenizer_path CodeLlama-7b-Instruct/tokenizer.model \
    --max_seq_len 512 --max_batch_size 4

VSCode は、Continue プラグインをインストールし、ブラウザでContinue VSCode 拡張機能を開き、[Install] をクリックして、
ここに画像の説明を挿入
VSCode で [Continue] を開き、/configと入力し、次のようにモデルの構成を変更します。

ここに画像の説明を挿入
次に、[続行] ダイアログ ボックスで CodeLlama に話しかけることができます。

ここに画像の説明を挿入

6. WSGIを使用してサービスを開始します

geventライブラリをインストールし、

pip install gevent

コードを修正し、

vi llamacpp_mock_api.py

---
        # Run the Flask API server.
        # app.run(port=port)
        server = pywsgi.WSGIServer(('0.0.0.0', port), app)
        server.serve_forever()
---

7.start.sh起動スクリプトを作成する

start.sh起動スクリプトを作成し、

cat << "EOF" > start.sh
eval "$(conda shell.bash hook)"
conda activate codellama
torchrun --nproc_per_node 1 llamacpp_mock_api.py \
    --ckpt_dir CodeLlama-7b-Instruct/ \
    --tokenizer_path CodeLlama-7b-Instruct/tokenizer.model \
    --max_seq_len 512 --max_batch_size 4
EOF

start.sh起動スクリプトを実行します。

chmod +x ./start.sh
./start.sh

終わり!

おすすめ

転載: blog.csdn.net/engchina/article/details/132519889
おすすめ