Bytebase 是为开发人员、测试、DBA和运维工程师构建的数据库 DevOps 领域的,类 GitLab/GitHub 平台。
这篇文章主要关注 Bytebase SQL 编辑器中的 AI 增强功能。使用此功能您可以使用自然语言在 Bytebase SQL 编辑器中查询数据库。同时还能给出针对查询的索引建议,但目前只支持 OpenAI 兼容的API,由于国内无法访问 ChatGPT ,另外出于数据安全的考虑,也建议使用本地部署的LLM。您可以找一个与 OpenAI API 完全兼容的LLM, 但目前开源的模型如 llama3 已经非常强大,本篇文章就是详解如何使 Bytebase 对接私有部署 llama3 模型。
思路是在 Bytebase 和 llama3 中间加一个翻译器,将bytatebase 发起的符合OpenAI API规范的请求转换为llama3 API 的请求,当然响应就是这个过程的逆向解释。这里使用开源项目 One-API。
下面进入实操(linux 环境,docker的安装掠过):
运行llama3 模型
# 先运行llama3,我这里使用 ollama 运行llama3
docker run -d -p 11434:11434 --name ollama --restart always ollama/ollama
# ollama 容器启动后,进入到容器内
docker exec -it ollama bash
# 下载 llama3 模型( 如果中文问答建议使用llama3-Chinese:8B-instruct 模型,需要自己下载并导入 )
ollama pull llama3
# 目前 Bytebase 发送 API 请求默认的 model 使用的是 gpt-3.5-turbo 无法修改,所以我们需要将模型改名为 gpt-3.5-turbo。也可以在 One-AP