暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

Bytebase 2024-06-21
524

本文为 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,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

          评论