当前位置: 首页 > news >正文

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

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

  • 1. CodeLlama 是什么
  • 2. CodeLlama Github 地址
  • 3. 下载 CodeLlama 模型
  • 4. 部署 CodeLlama
  • 5. 在 VSCode 中使用 CodeLlama
  • 6. 使用WSGI启动服务
  • 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

完结!

http://www.lryc.cn/news/145687.html

相关文章:

  • Agilent33220A任意波形发生器
  • springboot第37集:kafka,mqtt,Netty,nginx,CentOS,Webpack
  • NVIDIA DLI 深度学习基础 答案 领取证书
  • axios模拟表单提交
  • 智安网络|探索物联网架构:构建连接物体与数字世界的桥梁
  • 胡歌深夜发文:我对不起好多人
  • C++二级题
  • NetApp AFF A900:适用于数据中心的超级产品
  • 入海排污口水质自动监测系统,助力把好入河入海“闸门”
  • AUTOSAR知识点 之 ECUM (一):基础知识梳理(概念部分)
  • leetcode分类刷题:哈希表(Hash Table)(二、数组交集问题)
  • [Mac软件]Adobe After Effects 2023 v23.5 中文苹果电脑版(支持M1)
  • 范德波尔方程详细介绍与Python实现(附说明)
  • 常用的GPT插件
  • 智慧校园用电安全解决方案
  • 【教程】DGL中的子图分区函数partition_graph讲解
  • 关于layui table回显以及选择下一页时记住上一页数据的问题
  • kafka消息系统实战
  • Kafka3.0.0版本——Leader故障处理细节原理
  • BI系统框架模型
  • 双向交错CCM图腾柱无桥单相PFC学习仿真与实现(3)硬件功能实现
  • 微软用 18 万行 Rust 重写了 Windows 内核
  • word 调整列表缩进
  • nginx学习
  • python+TensorFlow实现人脸识别智能小程序的项目(包含TensorFlow版本与Pytorch版本)(一)
  • ChatGPT怎么用于政府和公共服务?
  • dvwa文件上传通关及代码分析
  • 数字孪生:重塑政府决策与公共服务
  • Leetcode:【448. 找到所有数组中消失的数字】题解
  • 2023年中,量子计算产业现状——