在 Ubuntu 24.04 LTS 上 Docker 部署 DB-GPT

一、DB-GPT 简介

        DB-GPT 是一个开源的AI原生数据应用开发框架(AI Native Data App Development framework with AWEL(Agentic Workflow Expression Language) and Agents)。目的是构建大模型领域的基础设施,通过开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents 框架协作、AWEL (智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单,更方便。 

        数据3.0 时代,基于模型、数据库,企业/开发者可以用更少的代码搭建自己的专属应用。

        官方英文文档地址:http://docs.dbgpt.cn/docs/overview/

        官方中文文档地址:https://www.yuque.com/eosphoros/dbgpt-docs/bex30nsv60ru0fmx

        官网快速部署地址:http://docs.dbgpt.cn/docs/next/installation/docker/

        官网开源仓库地址:https://github.com/eosphoros-ai/DB-GPT

        截至目前,最新的版本:v0.7.1 

二、DB-GPT 安装


        首先,登录 Ubuntu 24.04 LTS 系统终端;在安装 DB-GPT 的目录下进行代码下载:

git clone https://github.com/eosphoros-ai/DB-GPT.git

        代码下载好之后,可以进行安装部署。目前有源码安装(最新版本不再支持 pip,而是采用 uv)、docker 安装 、docker compose 安装 等主流安装方式。

2.1 Docker 快速安装

# 拉取 dbgpt-openai 最新镜像
docker pull eosphorosai/dbgpt-openai:latest
# ${SILICONFLOW_API_KEY} 替换成 硅基流动 的大模型调用 API 密钥
docker run -it --rm -e SILICONFLOW_API_KEY=${SILICONFLOW_API_KEY}  -p 5670:5670 --name dbgpt eosphorosai/dbgpt-openai
# 访问地址 http://localhost:5670 验证是否安装正常可用


2.2 Docker Compose 安装

# 进行下载好的 DB-GPT 仓库的根目录
cd ~/MyDB-GPT/DB-GPT/# 维护${SILICONFLOW_API_KEY} 硅基流动的大模型调用 API 密钥;${SILICONFLOW_API_KEY}替换成你自己的 API 密钥,不要把下面傻傻的一字不差抄上去
SILICONFLOW_API_KEY=${SILICONFLOW_API_KEY}

# 查看 DB-GPT 仓库的根目录的docker-compose.yml内容 (里面的应用端口如果和现有应用端口冲突,记得调整,否则忽略。例如:机子已经安装了mysql占用了3306端口,如果不改启动的是否就会报端口冲突)

# 开始docker compose部署安装
docker compose -f docker-compose.yml -p dbgptnet up -d

# 访问地址 http://IP:5670 验证是否安装正常可用

三、DB-GPT 入门使用

3.1 模型供应商与模型配置

        按照上面的步骤,依次添加 llm 、text2vec 和 reranker 三种类型的模型;然后,再选择合适的模型供应商;并最后填写添加的模型与相关调参。

3.2 维护数据源

        按照上面步骤,依次选择数据库类型与相关配置。

3.3 维护知识库

        Text2SQL中最重要的SQL业务背景知识的三大知识库(每个单独的数据源,都需要维护该数据源对应的三个独立的 DDL 知识库 、DB Description 知识库 和 Q->SQL 知识库):

        第一类是 DDL(Data Definition Language)知识库,它主要提供数据库表结构信息,包括表名、列名、数据类型以及主键、外键等约束条件。

        第二类是 DB Description 知识库,用于说明数据库中表和列的含义,这对于模型理解数据的语义非常重要。

        第三类是 Q->SQL 知识库,它包含了大量的参考 SQL,即自然语言问题与对应的 SQL 语句示例。这些语句主要是让大模型学习如何在有背景知识的情况下学会写SQL语句。这些叫做黄金语句,Golden statement,这些语句给的越多,大模型学习的越好,他能够回答的问题越有不会出错。正常情况下准备5000-10000个这样的SQL语句就可以了。

        按照上面步骤,依次为每个单独的数据源,维护该单独数据源对应的三个独立的 DDL 知识库 、DB Description 知识库 和 Q->SQL 知识库。

        每一个知识库空间支持参数定制,包括向量检索的相关参数和知识问答提示的参数。 点击对应的知识库空间,  会弹出对话框。 点击 Arguments  按钮。即可进入到调参界面。

3.4 提示词


        根据自身需要创建维护完善提示词。

3.5 应用程序


        根据提示使用预置好的应用程序模板或创建属于自己个性化的应用程序。

3.6 AWEL 工作流

        根据提示创建属于自己个性化的工作流。

3.7 选择对话模式开始对话

        Excel对话(Chat Excel)是指可以通过自然语言对话的方式,实现Excel数据的解读与分析。注意Excel文件格式转换为.csv格式 。

        对话仪表板(Chat Dashboard)可以通过自然语言进行智能的报表生成与分析。

        数据对话(Chat Data)是通过自然语言与数据进行对话,目前主要是结构化与半结构化数据的对话,可以辅助做数据分析与洞察。

        数据库对话(Chat DB)是打造专业的数据库专家,定位是 LLM As DBA ,可以通过与数据库对话完成数据库性能分析、优化等工作。

        标准对话(Chat Normal)是用来本地LLM对话。

        知识库对话(Chat Knowledge)是用来基于指定知识库进行RAG的 Q&A 问答。


        选择对话模式后,就可以开始对话。

--------------------------------------

没有自由的秩序和没有秩序的自由,同样具有破坏性。

————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://mp.csdn.net/mp_blog/creation/editor/148136773

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

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

相关文章

python-leetcode 69.最小栈

题目: 设计一个支持push,pop,top,操作,并能在常数时间内检索到最小元素的栈。 辅助栈法: 1:使用两个栈,一个主栈用于存储所有元素,另一个辅助栈用于存储当前元素的最小值 2: 每次push时,将元…

JVM部分内容

1.JVM内存区域划分 为什么要划分内存区域,JAVA虚拟机是仿照真实的操作系统进行设计的,JVM也就仿照了它的情况,进行了区域划分的设计。 JAVA进程也就是JAVA虚拟机会从操作系统申请内存空间给进程使用,JVM内存空间划分&#xff0c…

os:进程与线程上

os:进程与线程上 理解进程进程的地址空间进程的抽象:进程控制块进程的用户态和内核态五状态进程模型五状态进程模型转化带挂起的进程状态模型进程调度与切换进程调度进程切换理解进程 举个栗子 程序刚开始执行时,PC的值是m,指向代码段的第一条指令。 问题:如果想要重现…

RISC-V 开发板 MUSE Pi Pro CSI测试,一把点亮ov5647摄像头

视频讲解: RISC-V 开发板 MUSE Pi Pro CSI测试,一把点亮ov5647摄像头 手上正好有一颗ov5674,看了下接口排线都是一致的,硬件条件满足的情况下,剩下的就是驱动软件的问题,直接接上CSI排线 https://bianbu-li…

应用案例 | 集成Docker,解锁 HMI/网关的定制化应用

前言 在当今竞争激烈的工业市场中,企业对于工业自动化系统的个性化需求日益增长。无论是提升生产效率、优化设备管理,还是实现智能化的生产监控,企业都希望拥有能够精准匹配自身业务流程的定制化解决方案。然而,传统HMI/网关设备…

【VLNs篇】03:VLMnav-端到端导航与视觉语言模型:将空间推理转化为问答

栏目内容论文标题End-to-End Navigation with Vision-Language Models: Transforming Spatial Reasoning into Question-Answering (端到端导航与视觉语言模型:将空间推理转化为问答)核心问题如何利用大型视觉语言模型(VLM)实现端到端的机器人…

剧本杀小程序:指尖上的沉浸式推理宇宙

在推理热潮席卷社交圈的当下,你是否渴望随时随地开启一场烧脑又刺激的冒险?我们的剧本杀小程序,就是你掌心的“推理魔法盒”,一键解锁无限精彩! 海量剧本库,满足多元口味:小程序汇聚了从古风权…

[Vue]路径跳转和路由高级设置

路由基础使用看另一篇文章:路由基础使用和路径传参 基本属性 path: /, //主路径,也就是路由路径 alias: [/myfarie], //路径别名,即访问该路径时,也会访问到该资源 name:farie //设置名字,占位符传参时需要使用 component:()>…

LeetCode 76题「最小覆盖子串」

LeetCode 76题「最小覆盖子串」是一道经典的滑动窗口算法题目,难度为困难。题目要求在给定的字符串 s 中找到包含字符串 t 所有字符的最小子串,若不存在则返回空字符串。 题目分析 输入:字符串 s 和 t(均由英文字母组成&#xf…

JMeter-Websocket接口自动化

JMeter-Websocket接口自动化 结构图 1.准备2.实现思路2.1 通过HTTP请求获取token2.2 设置循环控制、断言变量2.3 建立WebSocket连接2.4 设置While循环控制读取CSV文件数据2.4.1 csv文件设置,一般这样设置参数即可变量名称:message,expected_steps 2.5 设…

大模型在闭合性胫骨平台骨折诊疗全流程中的应用研究报告

目录 一、引言 1.1 研究背景与目的 1.2 国内外研究现状 1.3 研究方法与创新点 二、大模型预测原理及数据基础 2.1 大模型概述 2.2 数据收集与处理 2.3 模型训练与优化 三、术前预测与方案制定 3.1 骨折类型及损伤程度预测 3.2 手术时机评估 3.3 手术方案制定 3.4 …

Dify大语言模型应用开发环境搭建:打造个性化本地LLM应用开发工作台

文章目录 前言1. Docker部署Dify2. 本地访问Dify3. Ubuntu安装Cpolar4. 配置公网地址5. 远程访问6. 固定Cpolar公网地址7. 固定地址访问 前言 各位小伙伴们,大家好!今天我们要来一场技术大冒险,手把手教你如何在Linux Ubuntu系统上使用Docke…

【MySQL成神之路】MySQL插入、删除、更新操作汇总

MySQL 插入、删除和更新操作详解 一、插入数据(INSERT) 1. 基本插入语法 2. 插入多行数据 3. 从其他表插入数据 4. 插入NULL值和默认值 二、更新数据(UPDATE) 1. 基本更新语法 2. 使用子查询更新 3. 批量更新注意事项 三、删除数据(DELETE) 1. 基本删除语法 2. 清空…

亚马逊第四个机器人中心将如何降低30%配送成本?

近年来,亚马逊越来越依赖自动化技术来提升仓储效率和配送速度。2024年,亚马逊宣布其全球第四个机器人中心在美国正式投入运营,这一中心将成为改变供应链策略的新变量。据亚马逊官方消息,这一机器人中心有望帮助公司进一步削减运营…

MongoDB大数据量的优化——mongoTemplate.stream()方法使用

传统查询 在传统的 MongoDB 查询中&#xff0c;我们通常使用find方法&#xff1a; List<Document> results mongoTemplate.find(query, Document.class, "collection");这种方式会直接将查询结果全部加载到内存中&#xff0c;当数据量较大&#xff08;如百万…

JDK8中的 Stream流式编程用法优化(工具类在文章最后)

Java从JDK8起提供了Stream流这个功能&#xff0c;于是项目里出现了大量基于Stream流的写法。随着项目的进行&#xff0c;慢慢的代码中铺天盖地的都是下面的写法&#xff1a; List<User> userList null;if (condition) {userList new ArrayList<>();userList.add(…

Spring Cloud生态与技术选型指南:如何构建高可用的微服务系统?

引言&#xff1a;为什么选择Spring Cloud&#xff1f; 作为全球开发者首选的微服务框架&#xff0c;Spring Cloud凭借其开箱即用的组件、与Spring Boot的无缝集成&#xff0c;以及活跃的社区生态&#xff0c;成为企业级微服务架构的基石。但在实际项目中&#xff0c;如何从众多…

Android清单文件

清单文件AndroidManifest.xml AndroidManifest.xml 配置清单文件是 每个 Android 应用的配置中心&#xff0c;系统在安装和运行应用时&#xff0c;首先会读取它。 它是 Android 应用的 “说明书”&#xff0c;主要作用是&#xff1a; 功能说明声明应用组件比如 Activity、Se…

大语言模型与人工智能:技术演进、生态重构与未来挑战

目录 技术演进:从专用AI到通用智能的跃迁核心能力:LLM如何重构AI技术栈应用场景:垂直领域的技术革命生态关系:LLM与AI技术矩阵的协同演进挑战局限:智能天花板与伦理困境未来趋势:从语言理解到世界模型1. 技术演进:从专用AI到通用智能的跃迁 1.1 三次技术浪潮的跨越 #me…

SC3000智能相机-自动存图

1、需求:SC3000智能相机开机自动存图。相机自带的相机存储空间有限,预留存图需要开启SCMVS、并手动点存图。如果工人忘了开启则不会存图,导致生产严重失误! 2、方法:利用相机提供的FTP协议,将图自动存到本地。 1、在本地建立FTP服务器。 (1)win10默认开启了FTP服务器…