查看原文
其他

Bytebase 对接开源 AI 大模型 Llama3 开启自然语言转 SQL 的 ChatSQL 功能

Chai Yingchao Bytebase
2024-09-04

本文为 Bytebase 用户 Chai Yingchao 原创,原文地址 https://blog.csdn.net/qq_31977125/article/details/139829760

Bytebase 是为开发人员、测试、DBA 和运维工程师构建的数据库 DevOps 领域的,类 GitLab/GitHub 平台。
这篇文章主要关注 Bytebase SQL 编辑器中的 AI 增强功能。使用此功能您可以使用自然语言在 Bytebase SQL 编辑器中查询数据库。同时还能给出针对查询的索引建议,但目前只支持 OpenAI 兼容的API,由于国内无法访问 ChatGPT ,另外出于数据安全的考虑,也建议使用本地部署的LLM。您可以找一个与 OpenAI API 完全兼容的LLM, 但目前开源的模型如 llama3 已经非常强大,本篇文章就是详解如何使 Bytebase 对接私有部署 llama3 模型。
思路是在 Bytebase 和 llama3 中间加一个翻译器,将 bytebase 发起的符合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-API 中做映射。 ollama cp llama3 gpt-3.5-turbo
# 运行模型 ollama run gpt-3.5-turbo
至此本地模型就运行起来了。可以测试一下API是否正常。
curl http://localhost:11434/api/generate -d '{ "model": "gpt-3.5-turbo", "prompt":"Why is the sky blue?"}'
当然这个模型虽然名称是 gpt-3.5-turbo,但实际上他是llama3 模型。
配置 One-API
GitHub 项目地址:https://github.com/songquanpeng/one-api
# docker运行# 使用 SQLite 的部署命令:docker run --name one-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data justsong/one-api
启动后登陆 One API 管理界面:
先配置渠道
配置令牌
提交后生成令牌,点击复制按钮,会显示令牌
测试 One-API
curl http://192.168.0.10:3000/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sk-UUqssfusufisfisifwefjfjmwvwlmi3292923m84E698E548" \ -d '{ "model": "gpt-3.5-turbo", "messages": [ { "role": "user", "content": "给我讲个笑话吧。" } ], "temperature": 0.7}'
配置 Bytebase
如果 One-API 测试没问题了,就可以将其配置到 Bytebase 中了。
在设置 -> 工作空间 -> 通用中有 AI 增强配置页。要求输入 OpenAI API Key 和 OpenAI API Endpoint
OpenAI API Key:即刚才的生成的令牌
OpenAI API Endpoint:即 One-API 的地址端口,如我这里的 http://192.168.0.10:3000

验证
至此我们就可以在 Bytebase 中选择一个数据库,打开 SQL 编辑器,左下角启动 ChatSQL。在对话框输入你想查询的数据吧,AI 会为你生成对应的查询SQL,你可以点击立即执行按钮立即执行查询 SQL,也可以点击编辑按钮对生成的 SQL 编辑后保存再执行。

Bytebase 签约中欧财富,提升财富管理平台数据安全,保障业务合规

Bytebase 2.19.0 - 支持 DynamoDB

解锁 7 大技巧,避免你的 Postgres 挂掉

Bytebase 签约美宜佳,助力便利店连锁巨头规范化数据库变更及访问流程,确保安全及合规

继续滑动看下一个
Bytebase
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存