DB-GPT,开源的AI数据开发框架,可利用自然语言生成可视化报表
阅读原文
建议阅读原文以获得最佳阅读体验:《DB-GPT,开源的AI数据开发框架,可利用自然语言生成可视化报表》
简介
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 时代,基于模型、数据库,企业/开发者可以用更少的代码搭建自己的专属应用。
简单的说,大家可以通过自然语言生成生成报表,支持与excel文件、数据库、知识库对话。
引言
因为工作需要,规范企业电脑软件清单,本人偶尔需要从glpi数据库中导出安装了特定软件的计算机清单(包含使用人),我之前的做法,是写一个SQL语句,然而再利用Powershell调整excel的格式,使其更加直观。具体可以看我之前写的一篇文章https://mp.weixin.qq.com/s/hV70jW7RPZ4vim7pXs_kKQ
自从2022年底AI技术爆发后,将AI技术应用于生成式BI的研究越来越多了,我想能不能利用AI技术,直接用自然语言就能查询数据,或者生成报表呢?于是我找到了DB-GPT,做了一些实验。
类似软件
Vanna.AI Vanna.AI Documentation
部署
用docker compose部署
参考资料:Docker-Compose部署
git clone https://github.com/eosphoros-ai/DB-GPT.git
cd DB-GPT
设置环境变量:
#编辑~/.bashrc文件,在文件末尾加上一行
export DASHSCOPE_API_KEY="<此处替换为你的阿里云百炼上的API KEY>"
#使得配置立即生效
source ~/.bashrc
本文采用阿里云上的大模型,qwen-plus,需要更改一些配置文件
nano configs/dbgpt-proxy-tongyi.toml
[system]
# Load language from environment variable(It is set by the hook)
language = "${env:DBGPT_LANG:-zh}" #这一行的含义是设置DBGPT_LANG的语言,默认为en
api_keys = []
encrypt_key = "your_secret_key"
# Server Configurations
[service.web]
host = "0.0.0.0"
port = 5670
[service.web.database]
type = "sqlite"
path = "pilot/meta_data/dbgpt.db"
[rag.storage]
[rag.storage.vector]
type = "chroma"
persist_path = "pilot/data"
# Model Configurations
[models]
[[models.llms]]
name = "qwen-plus" #此处可以更改大模型
provider = "${env:LLM_MODEL_PROVIDER}" #此处做了调整
api_base = "https://dashscope.aliyuncs.com/compatible-mode/v1"
api_key = "${env:DASHSCOPE_API_KEY}"
[[models.embeddings]]
name = "text-embedding-v3"
provider = "${env:EMBEDDING_MODEL_PROVIDER}" #此处做了调整
api_url = "https://dashscope.aliyuncs.com/compatible-mode/v1/embeddings"
api_key = "${env:DASHSCOPE_API_KEY}"
docker-compose.yml文件也要调整
先创建目录:
sudo mkdir -p /dbgpt-data/models
sudo chown -R ubuntu:docker /dbgpt-data
nano docker-compose.yml
# To run current docker compose file, you should prepare the silliconflow api key in your environment.
# SILICONFLOW_API_KEY=${SILICONFLOW_API_KEY} docker compose up -d
services:
db:
image: mysql/mysql-server
environment:
MYSQL_USER: 'user'
MYSQL_PASSWORD: 'password'
MYSQL_ROOT_PASSWORD: 'aa123456'
ports:
- 3306:3306
volumes:
- dbgpt-myql-db:/var/lib/mysql
- ./docker/examples/my.cnf:/etc/my.cnf
- ./docker/examples/sqls:/docker-entrypoint-initdb.d
- ./assets/schema/dbgpt.sql:/docker-entrypoint-initdb.d/dbgpt.sql
restart: unless-stopped
networks:
- dbgptnet
webserver:
image: eosphorosai/dbgpt-openai:latest
command: dbgpt start webserver --config /app/configs/dbgpt-proxy-tongyi.toml #此处更换了配置文件,以满足我的需求,使用阿里云上的大模型,此处的默认值是选择硅基流动上的大模型
environment:
- LLM_MODEL_PROVIDER

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



