Bytebase 对接本地部署的 llama3 开启ChatSQL功能

news2025/1/16 15:42:29

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-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 项目地址

# 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编辑后保存再执行。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1853568.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

千呼新零售2.0【更新日志】持续更新ing

千呼新零售2.0系统是零售行业连锁店一体化收银系统,包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体,线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货等连锁店使用。 详细介绍请查看下…

【CSS in Depth 2 精译】1.5 渐进式增强

文章目录 1.5 渐进式增强1.5.1 利用层叠规则实现渐进式增强1.5.2 渐进式增强的选择器1.5.3 利用 supports() 实现特性查询启用浏览器实验特性 1.5 渐进式增强 要用好 CSS 这样一门不断发展演进中的语言,其中一个重要的因素就是要与时俱进,及时了解哪些功…

HTML静态网页成品作业(HTML+CSS)——动漫猪猪侠网页(4个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有4个页面。 二、作品演示 三、代…

测试辅助工具(抓包工具)的使用4 之 断点

抓包作用3(绕过界面限制测试) 1.为什么要绕过界面限制做测试? 原因:界面限制导致部分异常数据无法输入 2.如何绕过界面限制做测试? 绕过界面限制直接测试服务器 步骤: 1.设置断点 2.修改请求 3.修改响应…

微型操作系统内核源码详解系列五(五):cm3下Pendsv切换任务上篇

系列一:微型操作系统内核源码详解系列一:rtos内核源码概论篇(以freertos为例)-CSDN博客 系列二:微型操作系统内核源码详解系列二:数据结构和对象篇(以freertos为例)-CSDN博客 系列…

React的路由(ReactRouter)-路由导航跳转

1.第一步 // createBrowserRouter路由 RouterProvider组件 import {createBrowserRouter,RouterProvider} from react-router-dom // 创建router实例对象&#xff0c;并配置路由对应关系 const routercreateBrowserRouter([{path:/login,element:<div>我是登录页</di…

grafana 通过自定义API获取数据

一、安装插件 安装infinity插件 二、配置数据源 三、配置图表 1、数据 这边提供一个go的demo package mainimport ("math/rand""net/http""time""github.com/gin-gonic/gin" )func main() {router : gin.Default()rand.Seed(time.…

浅谈红队攻防之道-office文件免杀

最完美的状态&#xff0c;不是你从不失误&#xff0c;而是你从没放弃成长。 ∙菜单栏&#xff1a;集成了Cobalt Strike的所有功能。 ∙快捷功能区&#xff1a;列出了常用功能。 ∙目标列表区&#xff1a;根据不同的显示模式&#xff0c;显示已获取权限的主机及目标主机。 ∙…

“序列优化探究:最长上升子序列的算法发现与应用“

最长上升子序列 最长上升子序列是指在一个给定序列中&#xff0c;找到一个最长的子序列&#xff0c;使得子序列中的元素单调递增。例如&#xff0c;序列 [1, 3, 5, 4, 7] 的最长上升子序列是 [1, 3, 5, 7]&#xff0c;长度为4。 这是一个经典的动态规划问题。 假设dp[i]表示…

day2-web安全漏洞攻防-基础-弱口令、HTML注入(米斯特web渗透测试)

day2-web安全漏洞攻防-基础-弱口令、HTML注入&#xff08;米斯特web渗透测试&#xff09; 1&#xff0c;漏洞2&#xff0c;弱口令3&#xff0c;爆破&#xff08;1&#xff09;Burpsuite&#xff08;2&#xff09;攻击类型 4&#xff0c;HTML针剂注入 1&#xff0c;漏洞 挖掘和利…

Adobe Photoshop图像处理软件下载安装,ps 2024版本安装包分享

Adobe Photoshop&#xff0c;这款业界闻名的图像处理软件&#xff0c;简称“PS”&#xff0c;以其强大的功能和广泛的应用领域&#xff0c;赢得了无数设计师、摄影师和创意工作者的青睐。 在Photoshop的世界里&#xff0c;用户能够随心所欲地对图像进行裁剪、缩放、调整色彩和…

Git 中 pull 操作和 rebase 操作的不同

由于在开发过程中&#xff0c;pull 操作和 rebase 操作都是用来合并分支的&#xff0c;所以我就常常分不清这两个操作具体有什么区别&#xff0c;所以才有了这篇博客来做个简单区分&#xff0c;具体细致差别还请移步到官方文档&#xff1a;Git - Reference (git-scm.com) 1&am…

怎么优化ArcEngine组件开发mfc程序界面?

&#x1f3c6;本文收录于「Bug调优」专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&&…

接口测试工作准备

前面已经讲了接口测试的原理&#xff0c;接下来讲接口测试如何准备。分为了解项目背景、收集项目相关资料、部署接口测试环境。明确接口测试相关成果物。接口测试采用的技术/工具。接口测试工作分工等。 1、了解项目背景 1、首先我们应该去了解项目的应用范围&#xff0c;了解…

报错:mAP数据为0%+无法读取output里的图片红色警告

debug检查&#xff1a;发现创建的output和input的路径不在同一级 操作1&#xff1a;修改output创建路径为绝对路径后&#xff0c;output和input文件成功在同一级&#xff0c;但问题仍存在 debug检测&#xff1a;识别的类别和保存的类别不同&#xff0c;没有保存数据 操作2&…

Python爬虫介绍

Python 作为一种广泛应用的编程语言&#xff0c;在 Web 开发、大数据开发、人工智能开发和嵌入式开发等领域都有着重要的应用。 Python 的易学性、清晰性和可移植性等特点使它得到很多技术人士的喜爱。对于数据科学和机器学习领域的程序员来说&#xff0c;Python 提供了强大的…

poi生成的excel,输入数字后变成1.11111111111111E+23

poi版本4.1.2 生成excel后&#xff0c;单元格输入数字&#xff0c;过长的话变成这样 解决&#xff1a;生成的时候设置单元格格式为文本格式 import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.FileOutputStream; imp…

【电路笔记】-共发射极放大器

共发射极放大器 文章目录 共发射极放大器1、概述2、完整的CEA配置3、直流等效电路4、交流等效电路5、输入阻抗6、输出阻抗7、电压增益8、微分电容的重要性9、信号源的衰减10、电流增益11、相位反转12、总结1、概述 在本文中,我们将介绍基于双极晶体管的放大器的最后一种拓扑:…

SQL注入-sqlmap使用

sqlmap简介 一款自动化的SQL注入工具&#xff0c;其主要功能是扫描&#xff0c;发现并利用给定的URL的SQL注入漏洞&#xff0c;目前支持的数据库是MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase和SAP MaxDB Sqlma…

Day8 —— 大数据技术之HBase

HBase快速入门系列 HBase的概述什么是HBase&#xff1f;主要特点和功能包括使用场景 HBase的架构HBase部署与启动HBase基本操作前提条件数据库操作表操作数据的CRUD操作 HBase的不足 HBase的概述 什么是HBase&#xff1f; HBase 是一个开源的、分布式的、面向列的 NoSQL 数据…