自然语言转 SQL:通过 One API 将 llama3 模型部署在 Bytebase SQL 编辑器
出于数据安全的考虑,私有部署大语言模型是一个较好的选择 -- 本文选择功能强大的开源模型 llama3。
准备
Docker
安装见 https://www.docker.com/products/docker-desktop/
Bytebase
拉取 Bytebase 并本地运行,见 https://www.bytebase.com/docs/get-started/step-by-step/deploy-with-docker/
docker run -d -p 11434:11434 --name ollama --restart always ollama/ollama容器启动并返回 id 后,通过如下命令进入容器内:
docker exec -it ollama bashollama pull llama3ollama cp llama3 gpt-3.5-turboollama run gpt-3.5-turbo
curl http://localhost:11434/api/generate -d '{"model": "gpt-3.5-turbo","prompt":"Why is the sky blue?"}'
看到结果流式输出,说明 API 正常。
配置 One API
docker run --name one-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /one-api:/data justsong/one-api在 Docker 控制面板中也可以看到 one-api 容器及其地址。可以从这里访问 localhost:3000,登陆 One API 控制面板。
代理栏填写运行 ollama 的 ip 地址。由于我们是用 Docker 运行的,这里填 http://host.docker.internal:11434。
配置令牌
curl http://localhost:3000/v1/chat/completions \-H "Content-Type: application/json" \-H "Authorization: Bearer <YOUR_TOKEN>" \-d '{"model": "gpt-3.5-turbo","messages": [{"role": "user","content": "给我讲个笑话吧。"}],"temperature": 0.7}'
配置 Bytebase 并运行
Bytebase 3.1.2 - 在 SQL 编辑器中为表、列和 PG 的视图注释显示鼠标悬浮提示