本地部署 CodeLlama 并在 VSCode 中使用 CodeLlama

本地部署 CodeLlama 并在 VSCode 中使用 CodeLlama

  • [1. CodeLlama 是什么](#1. CodeLlama 是什么)
  • [2. CodeLlama Github 地址](#2. CodeLlama Github 地址)
  • [3. 下载 CodeLlama 模型](#3. 下载 CodeLlama 模型)
  • [4. 部署 CodeLlama](#4. 部署 CodeLlama)
  • [5. 在 VSCode 中使用 CodeLlama](#5. 在 VSCode 中使用 CodeLlama)
  • [6. 使用WSGI启动服务](#6. 使用WSGI启动服务)
  • [7. 创建 `start.sh` 启动脚本](#7. 创建 start.sh 启动脚本)

1. CodeLlama 是什么

Code Llama 是一个基于 Llama 2 的大型代码语言模型系列,在开放模型、填充功能、对大输入上下文的支持以及编程任务的零样本指令跟踪能力中提供最先进的性能。我们提供多种风格来覆盖广泛的应用:基础模型 (Code Llama)、Python 专业化 (Code Llama - Python) 和指令跟随模型 (Code Llama - Instruct),每个模型都有 7B、13B 和 34B 参数。所有模型均在 16k 个标记序列上进行训练,并在最多 100k 个标记的输入上显示出改进。 7B 和 13B Code Llama 和 Code Llama - 指令变体支持基于周围内容的填充。 Code Llama 是通过使用更高的代码采样对 Llama 2 进行微调而开发的。

2. CodeLlama Github 地址

https://github.com/facebookresearch/codellama

3. 下载 CodeLlama 模型

要下载模型权重和标记器,请访问 Meta AI 网站并接受他们的许可证。

一旦您的请求获得批准,您将通过电子邮件收到签名的 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 extension,单击 Install,

VSCode 中打开 Continue,输入 /config,修改 models 的配置如下,

然后就可以在 Continue 的对话框和 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

完结!

相关推荐
科研小白_d.s7 小时前
vscode配置c/c++环境
c语言·c++·vscode
程序猿进阶14 小时前
如何在 Visual Studio Code 中反编译具有正确行号的 Java 类?
java·ide·vscode·算法·面试·职场和发展·架构
猿饵块14 小时前
vscode
ide·vscode·编辑器
逐梦苍穹21 小时前
速通LLaMA2:《Llama 2: Open Foundation and Fine-Tuned Chat Models》全文解读
论文阅读·人工智能·语言模型·llama·论文笔记·llama2
我命由我123451 天前
2.使用 VSCode 过程中的英语积累 - Edit 菜单(每一次重点积累 5 个单词)
前端·javascript·ide·vscode·学习·编辑器·学习方法
疑惑的杰瑞2 天前
[乱码]确保命令行窗口与主流集成开发环境(IDE)统一采用UTF-8编码,以规避乱码问题
java·c++·vscode·python·eclipse·sublime text·visual studio
Eiceblue2 天前
Python 实现Excel XLS和XLSX格式相互转换
vscode·python·pycharm·excel
乌漆嘎嘎黑2 天前
下载 llama2-7b-hf 全流程【小白踩坑记录】
大模型·llama2·大模型下载·llama-2-7b-hf
guigui_hello2 天前
VScode的简单使用
c++·ide·vscode·编辑器
MicrosoftReactor2 天前
技术速递|VS Code Java 8月更新 - 重要 Gradle 更新!用户体验与入门向导增强
java·vscode