部署私有代码助手大模型
Tabby
描述: Tabby是目前完全开源,从模型到插件都开源的一个AI编程助手。 Tabby分成模型和插件两部分
官方文档参考地址: https://tabby.tabbyml.com/docs/getting-started
直接使用官方的例子会有坑,因为由于网络原因模型无法下载。
Caused by:
0: error sending request for url (https://raw.githubusercontent.com/TabbyML/
registry-tabby/main/models.json): error trying to connect: tcp connect error: Ca
nnot assign requested address (os error 99)
1: error trying to connect: tcp connect error: Cannot assign requested addre
ss (os error 99)
2: tcp connect error: Cannot assign requested address (os error 99)
3: Cannot assign requested address (os error 99)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
下面分为六部介绍
一.在公网环境生成镜像,此时该镜像不包含模型。
- 生成镜像
docker run --entrypoint /opt/tabby/bin/tabby-cpu -it -p 8080:8080 -v $HOME/.tabby:/data tabbyml/tabby serve --model TabbyML/StarCoder-1B
- 导出镜像
docker save -o tabby.tar tabbyml/tabby:latest
二.获取模型
Availble DeepseekCoder-6.7B model doesn't exist · Issue #1188 · TabbyML/tabby (github.com)
2.1 从huggingface下载模型
点击进入HuggingFace的下载界面(科学上网)
如果没有科学上网的环境可以选择HuggingFace的国内平替hf-mirror.com
引用:
https://blog.csdn.net/weixin_43431218/article/details/135403324
使用huggingface 官方提供的 huggingface-cli 命令行工具。
huggingface-cli 是 Hugging Face 官方提供的命令行工具,自带完善的下载功能。
(1) 安装依赖
pip install -U huggingface_hub
(2) 基本命令示例:
设置环境:
# Linux
export HF_ENDPOINT=https://hf-mirror.com
(3)下载模型
注意:除此之外如果需下载需要登录的模型(Gated Model)
请添加--token hf_***参数,其中hf_***是 access token,请在huggingface官网这里获取。示例:
huggingface-cli download --token hf_*** --resume-download --local-dir-use-symlinks False bigcode/starcoderbase-1b --local-dir starcoderbase-1b
本地会生成starcoderbase-1b这个文件夹,在文件夹中创建gglm目录。
三.获取模型的向量版本
registry-tabby/models.json at main · TabbyML/registry-tabby (github.com)
直接复制网址到浏览器下载q8_0.v2.gguf
https://modelscope.cn/api/v1/models/TabbyML/StarCoder-1B/repo?FilePath=ggml/q8_0.v2.gguf
将q8_0.v2.gguf放置starcoderbase-1b/gglm中。修改
四.部署私有代码助手
将tabby.tar和starcoderbase-1b上传到具有docker环境的服务器上。
这里假设starcoderbase-1b放到了/opt/data目录下
4.1导入镜像
docker load < tabby.tar
4.2配置starcoderbase-1b
cd /opt/data/starcoderbase-1b
cp vocab.json tabby.json
五.启动容器
参考:How to use tabby docker image with model SantaCoder-1B directly? · Issue #284 · TabbyML/tabby (github.com)
此时代码助手服务器在9999端口运行
六.配置VSCODE
下载vscode插件,对服务器进行配置