在 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.pswp.cn/bicheng/82525.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/82525.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/82525.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

早停策略和模型權重的保存

知識點回顧: 過擬合的判斷:測試集和訓練集同步打印指標模型的保存和加載 僅保存權重保存權重和模型保存全部信息checkpoint,還包含訓練狀態 早停策略 作業:對信貸數據集訓練后保存權重,加載權重后繼續訓練50輪&#xf…

DeepSpeed-Ulysses:支持極長序列 Transformer 模型訓練的系統優化方法

DeepSpeed-Ulysses:支持極長序列 Transformer 模型訓練的系統優化方法 flyfish 名字 Ulysses “Ulysses” 和 “奧德修斯(Odysseus)” 指的是同一人物,“Ulysses” 是 “Odysseus” 的拉丁化版本 《尤利西斯》(詹姆…

Redis-基礎-總結

一、概述 Remote Dictionary Server(遠程字典服務)是完全開源的,使用ANSIC語言編寫遵守BSD協議,是一個高性能的Key-Value數據庫提供了豐富的數據結構,例如String、Hash、List、Set、sortedset等等。數據是存在內存中的,同時Redis…

尚硅谷redis7 28-32 redis持久化之理論介紹

28redis持久化之理論介紹 redis持久化:redis如何將內存數據寫入磁盤中 為什么需要持久化? 內存數據一斷電就會消失,那么所有的請求都會打到數據庫中。因此讓redis中的數據長期持有,不管是重啟、故障、恢復、宕機,還…

JS逆向【抖查查】逆向分析 | sign | secret簽名驗證

1.目標 目標網址:https://www.douchacha.com/bloggerRankingRise 切換日期出現目標請求 import requests import jsonheaders {"accept": "application/json, text/plain, */*","accept-language": "zh-CN,zh;q0.9","…

【數據倉庫面試題合集④】SQL 性能調優:面試高頻場景 + 調優策略解析

隨著業務數據規模的持續增長,SQL 查詢的執行效率直接影響到數據平臺的穩定性與數據產出效率。因此,在數據倉庫類崗位的面試中,SQL 性能調優常被作為重點考察內容。 本篇將圍繞常見 SQL 調優問題,結合實際經驗,整理出高頻面試題與答題參考,助你在面試中游刃有余。 ?? 高…

python打卡訓練營打卡記錄day37

知識點回顧: 過擬合的判斷:測試集和訓練集同步打印指標模型的保存和加載 僅保存權重保存權重和模型保存全部信息checkpoint,還包含訓練狀態 早停策略 作業:對信貸數據集訓練后保存權重,加載權重后繼續訓練50輪&#xf…

卷積神經網絡(CNN)深度講解

卷積神經網絡(CNN) 本篇博客參考自大佬的開源書籍,幫助大家從頭開始學習卷積神經網絡,謝謝各位的支持了,在此期待各位能與我共同進步? 卷積神經網絡(CNN)是一種特殊的深度學習網絡結構&#x…

深度體驗:海螺 AI,開啟智能創作新時代

人工智能 AI 工具如雨后春筍般涌現,而海螺 AI 以其獨特的魅力與卓越的性能,迅速在眾多產品中嶄露頭角,成為了無數創作者、辦公族以及各行業人士的得力助手。近期,我對海螺 AI 進行了深入的使用體驗,接下來就為大家詳細…

哈希表day5

242 有效的字母異位詞 思路就是轉為ASCII碼&#xff0c;然后用一個數組記錄26位字母出現的次數 #include <string> class Solution{ public:bool isAnagram(string s,string t){int record[26]{0};for (int i0;i<s.size();i){record[s[i]-a];}for (int i0;i<t.si…

【Python數據庫全棧指南】從SQL到ORM深度實踐

目錄 &#x1f31f; 前言&#x1f3d7;? 技術背景與價值&#x1fa79; 當前技術痛點&#x1f6e0;? 解決方案概述&#x1f465; 目標讀者說明 &#x1f9e0; 一、技術原理剖析&#x1f4ca; 核心概念圖解&#x1f4a1; 核心作用講解&#x1f527; 關鍵技術模塊說明?? 技術選…

Android磁盤占用優化全解析:從監控到治理的存儲效率革命

引言 隨著移動應用功能的復雜化&#xff0c;磁盤占用問題日益突出。據統計&#xff0c;國內頭部應用的平均安裝包大小已超100MB&#xff0c;運行時緩存、日志、圖片等數據更可能使磁盤占用突破GB級。過度的磁盤消耗不僅影響用戶設備空間&#xff0c;還可能觸發系統的“應用數據…

AJAX-讓數據活起來(一):入門

目錄 一、AJAX概念和axios使用 1.1 什么是AJAX ? 1.2 怎么用AJAX ? 1.3 axios使用 二、認識URL 2.1 什么是URL? 2.2 URL的組成 組成 協議 域名 資源路徑 獲取-新聞列表 三、URL查詢參數 URL查詢參數 axios - 查詢參數 四、常用請求方法和數據提交 常用請求…

【C++篇】list模擬實現

實現接口&#xff1a; list的無參構造、n個val構造、拷貝構造 operator重載 實現迭代器 push_back() push_front() erase() insert() 頭尾刪 #pragma once #include<iostream> #include<assert.h> using namespace std;namespace liu {//定義list節點temp…

Go 語言范圍循環變量重用問題與 VSCode 調試解決方法

文章目錄 問題描述問題原因1. Go 1.21 及更早版本的范圍循環行為2. Go 1.22 的改進3. VSCode 調試中的問題4. 命令行 dlv debug 的正確輸出 三種解決方法1. 啟用 Go 模塊2. 優化 VSCode 調試配置3. 修改代碼以確保兼容性4. 清理緩存5. 驗證環境 驗證結果結論 在 Go 編程中&…

快速創建 Vue 3 項目

安裝 Node.js 和 Vue CL 安裝 Node.js&#xff1a;訪問 https://nodejs.org/ 下載并安裝 LTS 版本。 安裝完后&#xff0c;在終端檢查版本&#xff1a; node -v npm -v安裝 Vue CLI&#xff08;全局&#xff09;&#xff1a; npm install -g vue/cli創建 Vue 3 項目 vue cr…

java學習日志——Spring Security介紹

使用Spring Security要重寫UserDetailsService的loadUserByUsername方法&#xff08;相當于自定了認證邏輯&#xff09;

【C++進階篇】初識哈希

哈希表深度剖析&#xff1a;原理、沖突解決與C容器實戰 一. 哈希1.1 哈希概念1.2 哈希思想1.3 常見的哈希函數1.3.1 直接定址法1.3.2 除留余數法1.3.3 乘法散列法&#xff08;了解&#xff09;1.3.4 平方取中法&#xff08;了解&#xff09; 1.4 哈希沖突1.4.1 沖突原因1.4.2 解…

單機Kafka配置ssl并在springboot使用

目錄 SSL證書生成根證書生成服務端和客戶端證書生成keystore.jks和truststore.jks輔助腳本單獨生成truststore.jks 環境配置hosts文件kafka server.properties配置ssl 啟動kafkakafka基礎操作springboot集成準備工作需要配置的文件開始消費 SSL證書 證書主要包含兩大類&#x…

PCB設計教程【入門篇】——電路分析基礎-元件數據手冊

前言 本教程基于B站Expert電子實驗室的PCB設計教學的整理&#xff0c;為個人學習記錄&#xff0c;旨在幫助PCB設計新手入門。所有內容僅作學習交流使用&#xff0c;無任何商業目的。若涉及侵權&#xff0c;請隨時聯系&#xff0c;將會立即處理 目錄 前言 一、數據手冊的重要…