DB-GPT V0.6.3 版本更新:支持 SiliconCloud 模型、新增知识处理工作流等

news/2024/12/22 15:44:21 标签: 数据库, gpt

DB-GPT V0.6.3版本现已上线,快速预览新特性:

 新特性

1. 支持 SiliconCloud 模型,让用户体验多模型的管理能力

如何使用:

  • 修改环境变量文件.env,配置SiliconCloud模型
#  使用 SiliconCloud 的代理模型
LLM_MODEL=siliconflow_proxyllm
# 配置具体使用的模型名称
SILICONFLOW_MODEL_VERSION=Qwen/Qwen2.5-Coder-32B-Instruct
SILICONFLOW_API_BASE=https://api.siliconflow.cn/v1
# 记得填写您在步骤2中获取的 API Key
SILICONFLOW_API_KEY={your-siliconflow-api-key}

# 配置使用 SiliconCloud 的 Embedding 模型
EMBEDDING_MODEL=proxy_http_openapi
PROXY_HTTP_OPENAPI_PROXY_SERVER_URL=https://api.siliconflow.cn/v1/embeddings
# 记得填写您在步骤2中获取的 API Key
PROXY_HTTP_OPENAPI_PROXY_API_KEY={your-siliconflow-api-key}
# 配置具体的 Embedding 模型名称
PROXY_HTTP_OPENAPI_PROXY_BACKEND=BAAI/bge-large-zh-v1.5


# 配置使用 SiliconCloud 的 rerank 模型
RERANK_MODEL=rerank_proxy_siliconflow
RERANK_PROXY_SILICONFLOW_PROXY_SERVER_URL=https://api.siliconflow.cn/v1/rerank
# 记得填写您在步骤2中获取的 API Key
RERANK_PROXY_SILICONFLOW_PROXY_API_KEY={your-siliconflow-api-key}
# 配置具体的 rerank 模型名称
RERANK_PROXY_SILICONFLOW_PROXY_BACKEND=BAAI/bge-reranker-v2-m3

注意,上述的语言模型(SILICONFLOW_MODEL_VERSION)、 Embedding 模型(PROXY_HTTP_OPENAPI_PROXY_BACKEND)和 rerank 模型(RERANK_PROXY_SILICONFLOW_PROXY_BACKEND)可以从《获取用户模型列表 - SiliconFlow》(https://docs.siliconflow.cn/api-reference/models/get-model-list)中获取。

  • 通过DB-GPT Python SDK使用
pip install "dbgpt>=0.6.3rc2" openai requests numpy
  • 使用SiliconCloud的大语言模型
import asyncio
import os
from dbgpt.core import ModelRequest
from dbgpt.model.proxy import SiliconFlowLLMClient

model = "Qwen/Qwen2.5-Coder-32B-Instruct"
client = SiliconFlowLLMClient(
    api_key=os.getenv("SILICONFLOW_API_KEY"),
    model_alias=model
)

res = asyncio.run(
    client.generate(
        ModelRequest(
            model=model,
            messages=[
                {"role": "system", "content": "你是一个乐于助人的 AI 助手。"},
                {"role": "human", "content": "你好"},
            ]
        )
    )
)
print(res)

更多使用方式参考《在 DB-GPT 中使用 - SiliconFlow》(https://docs.siliconflow.cn/usercases/use-siliconcloud-in-DB-GPT)

2. 新增知识处理工作流,支持Embedding加工知识图谱加工混合知识加工处理

目前DB-GPT知识库提供了文档上传->解析->切片->Embedding->知识图谱三元组抽取->向量数据库存储->数据库存储等单一的知识加工的能力,但是不具备对文档进行复杂的,多元化的信息抽取能力,因此希望通过构建知识加工工作流来完成复杂的,多元化的,可视化的,用户可自定义的知识抽取,转换,加工流程。

图片

如何使用:

  • 导入工作流模

图片

  • 保存并注册为服务

curl --location --request POST 'http://localhost:5670/api/v1/awel/trigger/rag/knowledge/hybrid/process' \
--header 'Content-Type: application/json' \
-d '{}'

[
    "async persist vector store success 9 chunks.",
    "async persist graph store success 9 chunks."
]

更多使用方式参考《知识加工》(https://www.yuque.com/eosphoros/dbgpt-docs/vg2gsfyf3x9fuglf)。

 3. ChatData 场景支持 OceanBase 向量可视化

图片

 4. GraphRAG 社区总结优化,通过并行总结抽取提升索引构建性能

GraphRAG,作为DB-GPT开源项目的重要模块之一,近期获得了显著的技术改进和性能提升。这个创新框架通过巧妙结合图数据库技术与检索增强生成(RAG)方法,在处理复杂数据关系任务上展现出优越性能。

核心改进包括三个关键方面:

  • 首先,引入了文档结构(Document Structure)索引,通过识别文档的层级关系,构建了包含"next"(顺序关系)和"include"(包含关系)两种边的有向图结构。

  • 其次,在知识图谱构建环节,创新性地采用了"上下文增强"方法和并发抽取优化,将任务处理时间降低至原有耗时的20%。

  • 第三,实现了多维度的检索框架,包括三元组图谱检索(局部)、社区摘要检索(全局)和文档结构检索(原文)。

在基于TuGraph基座的图数据建模阶段,GraphRAG 定义了三种节点类型(document、chunk、entity)和五种边类型(包含关系边和顺序关系边),为知识图谱的构建和检索提供了坚实的基础。在社区摘要方面,采用Leiden算法进行社区检测,通过社区文本化和总结,提供了知识的宏观视角。

相比微软的GraphRAG方案,DB-GPT GraphRAG避免了中间态回答(微软GraphRAG一个中间过程)可能带来的信息损失和语义理解偏差,同时我们还支持文档结构溯源,能够为用户提供更可靠的原文参考信息。这些改进使得GraphRAG在保持知识完整性的同时,显著提升了系统性能和用户体验。

在性能测试方面,与微软版本的GraphRAG相比,DBGPT GraphRAG在保持相近的文档输入规模(42,631 tokens)的情况下取得了显著成果:总Token消耗降低至42.9%(417,565 vs 972,220),生成Tokens量减少至18.4%(41,797 vs 227,230),构建知识图谱的时间缩短至80.1%(170s vs 210s)。同时,对照组和实验组的图谱结构均保持了相当的复杂度(734节点/1164边 vs 779节点/967边),确保了知识表示的完整性。

展示示例:(GraphRAG 也可以向用户展示数据来源/原始文档)

图片

总得来说,GraphRAG取得了不错的效果:在构建同样规模的知识图谱的情况下,我们在构建图谱这个任务上,花费了更少的时间(约80%),消耗了更少的 tokens(约40%)。同时,在回答需要全局检索的用户问题时,根据测试结果,我们版本的 GraphRAG 在时间和 tokens 的消耗上更具优势。此外,我们的 GraphRAG 得益于文档结构的支持,可以搜索原文,并将原文作为参考文本的一个部分返回给用户,让用户可以获得更可靠的原文信息。

后续,我们将支持更加复杂、更加智能的检索链路(相似度检索、自然语言转GQL检索)。DB-GPT GraphRAG的演进一直在路上,敬请期待。

5.  ChatData 针对大宽表场景进行Schema-Linking优化

测试大宽表sql:

/DB-GPT/docker/examples/sqls/case_3_order_wide_table_sqlite_wide.sql

 6. 聊天对话支持 max output tokens 参数

图片

如何设置:

图片

 7. 支持 Claude 模型服务

  • .env 文件进行配置

LLM_MODEL=claude_proxyllm
ANTHROPIC_MODEL_VERSION=claude-3-5-sonnet-20241022
ANTHROPIC_BASE_URL=https://api.openai-proxy.org/anthropic
ANTHROPIC_API_KEY={your-claude-api-key}
  • python使用

import asyncio

from dbgpt.core import ModelRequest
from dbgpt.model.proxy import ClaudeLLMClient

client = ClaudeLLMClient(model_alias="claude-3-5-sonnet-20241022")
print(
    asyncio.run(
        client.generate(
            ModelRequest._build("claude-3-5-sonnet-20241022", "Hi, claude!")
        )
    )
)

8. Agent 支持上下文记忆

  • 通过在 .env 文件进行配置

MESSAGES_KEEP_START_ROUNDS=0
MESSAGES_KEEP_END_ROUNDS=2

 🐞 Bug 修复

  • 修复了删除图空间后创建同名问题

  • 修复了构建Docker 镜像问题

  • 修复了httpx v0.28.0 proxies 问题

  • 修复Chat Data fix sql not found error 问题

  • 修复了EmbeddingAssemblerOperator算子连接问题

  • 解决fastapi版本问题

 其他

1、 发布DB-GPT Agent论文ROMAS: A Role-Based Multi-Agent System for Database monitoring and Planning(https://arxiv.org/abs/2412.13520)

2、升级dbgpt-tugraph-plugins版本升级到0.1.1

官方文档地址

英文网址:http://docs.dbgpt.cn/docs/overview/

中文网址:https://www.yuque.com/eosphoros/dbgpt-docs/bex30nsv60ru0fmx

致谢

感谢所有贡献者使这次发布成为可能!

@Appointat, @Aries-ckt, @FOkvj, @GITHUBear, @HYSMN, @Sween1y, @fangyinc, @fanzhidongyzby, @toralee and @yhjun10

图片


http://www.niftyadmin.cn/n/5795491.html

相关文章

15、基于SpringBoot的在线视频教育平台的设计与实现

随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于在线视频教育平台当然也不能排除在外,随着网络技术的不断成熟,带动了在线视频教育平台,它彻底改变了过去传统…

【Mysql优化】SQL优化最佳实践分析与总结

文章目录 SQL优化最佳实践分析与总结1.2.1. 避免使用 SELECT \*1.2.2. 小表驱动大表1.2.3. 用连接查询代替子查询1.2.4. 提升 GROUP BY 的效率1.2.5. 批量操作1.2.6. 使用 LIMIT 优化查询 总结 SQL优化最佳实践分析与总结 SQL查询性能的优化是数据库设计与使用中的核心问题之一…

远程医疗:科技助力健康触手可及

随着信息技术与医疗领域的深度融合,远程医疗正逐步改变着人们获取医疗服务的方式。它跨越地理距离的障碍,将优质的医疗资源延伸到更广泛的区域。 对于患者来说,远程医疗极大地便利了就医过程。一些患有慢性疾病需要定期复诊的患者&#xff0c…

奇怪问题| Chrome 访问csdn 创作中心的时候报错: 服务超时,请稍后重试

Chrome 访问csdn 创作中心的时候报错: 服务超时,请稍后重试用无痕浏览器可以正常访问 关闭代理无效清缓存和Cookies无效。考虑无痕浏览器模式下插件不生效,尝试把chrome 插件也禁用,发现有效,是该扩展程序的缘故

Next.js v15- Metadata

概念 在 Web 开发中&#xff0c;Metadata提供有关网页的其他详细信息。元数据对访问页面的用户不可见。相反&#xff0c;它在幕后工作&#xff0c;嵌入到页面的 HTML 中&#xff0c;通常在<head>元素中。这些隐藏信息对于需要更好地了解您网页内容的搜索引擎和其他系统至…

我的2024年度总结

称着这个周末&#xff0c;写一篇2024年度总结&#xff0c;主要记录我过去一年的成长经历以及自己的一些收获。 过去一年的经历&#xff0c;可谓刻骨铭心&#xff0c;一个是24考研惨败&#xff0c;一个是毕设的准备&#xff0c;一个是省考的陪考&#xff0c;一个是找工作的焦虑…

C++_数据结构_详解二叉搜索树

✨✨ 欢迎大家来到小伞的大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;C学习 小伞的主页&#xff1a;xiaosan_blog 1.二叉树搜索树的概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&a…

积分管理系统的设计与实现【源码+文档】

目  录 摘  要 Abstract 引 言 1 第一章 绪论 1.1 课题研究背景 1.2 系统实现意义 1.3 本文主要工作及总体结构 2 第二章 系统开发环境及相关技术 2.1环境技术概述 2.1.1 B/S结构 2.1.2 JSP 2.1.3 JavaBean 3 第三章 系统需求分析 3.1 系统具体实现目标 3…