DB-GPT V0.7.0, MCP + DeepSeek R1: Bringing More Possibilities to LLM Applications
DB-GPT V0.7.0 Release: MCP Protocol Support, DeepSeek R1 Model Integration, Complete Architecture Upgrade, GraphRAG Retrieval Chain Enhancement, and More..
DB-GPT
is an open-source AI Native Data App Development framework with AWEL and Agents. In version V0.7.0
, we have reorganized the DB-GPT
module packages, splitting the original modules, restructuring the entire framework configuration system, and providing a clearer, more flexible, and more extensible management and development capability for building AI native data applications around large models.
V0.7.0 version mainly adds and enhances the following core features
🍀 Support for MCP(Model Context Protocol)
protocol.
🍀 Integrated DeepSeek R1
, QWQ
inference models, all original DB-GPT
Chat scenarios now cover deep thinking capabilities.
🍀 GraphRAG
retrieval chain enhancement: support for "Vector" and "Intent Recognition+Text2GQL" graph retrievers.
🍀 DB-GPT
module package restructuring, original dbgpt
package split into dbgpt-core
, dbgpt-ext
, dbgpt-serve
, dbgpt-client
, dbgpt-acclerator
, dbgpt-app
.
🍀 Reconstructed DB-GPT
configuration system, configuration files changed to ".toml
" format, abolishing the original .env
configuration logic.
✨New Features
1. Support for MCP(Model Context Protocol)
protocol
Usage instructions:
a. Run the MCP SSE Server gateway:
npx -y supergateway --stdio "uvx mcp-server-fetch"
Here we are running the web scraping mcp-server-fetch
b. Create a Multi-agent
+ Auto-Planning
+ MCP
web page scraping and summarization APP.
c. Configure the APP, select the ToolExpert
and Summarizer
agents, and add a resource of type tool(mcp(sse))
to ToolExpert
, where mcp_servers
should be filled with the service address started in step a (default is: http://127.0.0.1:8000/sse
), then save the application.
d. Select the newly created MCP Web Fetch
APP to chat, provide a webpage for the APP to summarize:
The example input question is: What does this webpage talk about https://www.cnblogs.com/fnng/p/18744210"
2. Integrated DeepSeek R1 inference model
And all Chat scenarios in original DB-GPT now have deep thinking capabilities.
For quick usage reference: http://docs.dbgpt.cn/docs/next/quickstart
Data analysis scenario:
Knowledge base scenario:
3. GraphRAG
retrieval chain enhancement: support for "Vector" and "Intent Recognition+Text2GQL" graph retrievers.
- "Vector" graph retriever
During the knowledge graph construction process, vectors are added to all nodes and edges and indexes are established. When querying, the question is vectorized and through TuGraph-DB's built-in vector indexing capability, based on the HNSW algorithm, topk related nodes and edges are queried. Compared to keyword graph retrieval, it can identify more ambiguous questions.
Configuration example:
[rag.storage.graph]
type = "TuGraph"
host="127.0.0.1"
port=7687
username="admin"
password="73@TuGraph"
enable_summary="True"
triplet_graph_enabled="True"
document_graph_enabled="True"
# Vector graph retrieval configuration items
enable_similarity_search="True"
knowledge_graph_embedding_batch_size=20
similarity_search_topk=5
extract_score_threshold=0.7
- "Intent Recognition+Text2GQL" graph retriever
The question is rewritten through the intent recognition module, extracting true intent and involved entities and relationships, and then translated using the Text2GQL model into GQL statements for direct querying. It can perform more precise graph queries and display corresponding query statements. In addition to calling large model API services, you can also use ollama to call local Text2GQL models.
Configuration example:
[rag.storage.graph]
type = "TuGraph"
host="127.0.0.1"
port=7687
username="admin"
password="73@TuGraph"
enable_summary="True"
triplet_graph_enabled="True"
document_graph_enabled="True"
# Intent Recognition+Text2GQL graph retrieval configuration items
enable_text_search="True"
# Use Ollama to deploy independent text2gql model, enable the following configuration items
# text2gql_model_enabled="True"
# text2gql_model_name="tugraph/CodeLlama-7b-Cypher-hf:latest"
4. DB-GPT
module package restructuring
Original dbgpt
package split into dbgpt-core
, dbgpt-ext
, dbgpt-serve
, dbgpt-client
, dbgpt-acclerator
, dbgpt-app
As dbgpt has gradually developed, the service modules have increased, making functional regression testing difficult and compatibility issues more frequent. Therefore, the original dbgpt content has been modularized:
- dbgpt-core: Mainly responsible for core module interface definitions of dbgpt's awel, model, agent, rag, storage, datasource, etc., releasing Python SDK.
- dbgpt-ext: Mainly responsible for implementing dbgpt extension content, including datasource extensions, vector-storage, graph-storage extensions, and model access extensions, making it easier for community developers to quickly use and extend new module content, releasing Python SDK.
- dbgpt-serve: Mainly provides Restful interfaces for dbgpt's atomized services of each module, making it easy for community users to quickly integrate. No Python SDK is released at this time.
- dbgpt-app: Mainly responsible for business scenario implementations such as
App
,ChatData
,ChatKnowledge
,ChatExcel
,Dashboard
, etc., with no Python SDK. - dbgpt-client: Provides a unified Python SDK client for integration.
- dbgpt-accelerator: Model inference acceleration module, including compatibility and adaptation for different versions (different torch versions, etc.), platforms (Windows, MacOS, and Linux), hardware environments (CPU, CUDA, and ROCM), inference frameworks (vLLM, llama.cpp), quantization methods (AWQ, bitsandbytes, GPTQ), and other acceleration modules (accelerate, flash-attn), providing cross-platform, installable underlying environments on-demand for other DB-GPT modules.
5. Restructured DB-GPT configuration system
The new configuration files using ".toml"
format, abolishing the original .env
configuration logic, each module can have its own configuration class, and automatically generate front-end configuration pages.
For quick usage reference: http://docs.dbgpt.cn/docs/next/quickstart
For all configurations reference: http://docs.dbgpt.cn/docs/next/config-reference/app/config_chatdashboardconfig_2480d0
[system]
# Load language from environment variable(It is set by the hook)
language = "${env:DBGPT_LANG:-zh}"
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"
[service.model.worker]
host = "127.0.0.1"
[rag.storage]
[rag.storage.vector]
type = "chroma"
persist_path = "pilot/data"
# Model Configurations
[models]
[[models.llms]]
name = "deepseek-reasoner"
# name = "deepseek-chat"
provider = "proxy/deepseek"
api_key = "your_deepseek_api_key"
6. Support for S3, OSS storage
DB-GPT unified storage extension OSS and S3 implementation, where the S3 implementation supports most cloud storage compatible with the S3 protocol. DB-GPT knowledge base original files, Chat Excel related intermediate files, AWEL Flow node parameter files, etc. all support cloud storage.
Configuration example:
[[serves]]
type = "file"
# Default backend for file server
default_backend = "s3"
[[serves.backends]]
type = "oss"
endpoint = "https://oss-cn-beijing.aliyuncs.com"
region = "oss-cn-beijing"
access_key_id = "${env:OSS_ACCESS_KEY_ID}"
access_key_secret = "${env:OSS_ACCESS_KEY_SECRET}"
fixed_bucket = "{your_bucket_name}"
[[serves.backends]]
# Use Tencent COS s3 compatible API as the file server
type = "s3"
endpoint = "https://cos.ap-beijing.myqcloud.com"
region = "ap-beijing"
access_key_id = "${env:COS_SECRETID}"
access_key_secret = "${env:COS_SECRETKEY}"
fixed_bucket = "{your_bucket_name}
For detailed configuration instructions, please refer to: http://docs.dbgpt.cn/docs/next/config-reference/utils/config_s3storageconfig_f0cdc9
7. Production-level llama.cpp inference support
Based on llama.cpp HTTP Server, supporting continuous batching, multi-user parallel inference, etc., llama.cpp inference moves towards production systems.
Configuration example:
# Model Configurations
[models]
[[models.llms]]
name = "DeepSeek-R1-Distill-Qwen-1.5B"
provider = "llama.cpp.server"
# If not provided, the model will be downloaded from the Hugging Face model hub
# uncomment the following line to specify the model path in the local file system
# https://huggingface.co/bartowski/DeepSeek-R1-Distill-Qwen-1.5B-GGUF
# path = "the-model-path-in-the-local-file-system"
path = "models/DeepSeek-R1-Distill-Qwen-1.5B-Q4_K_M.gguf
8. Multi-model deployment persistence
Currently, most models can be integrated on the DB-GPT page, with configuration information persistently saved and models automatically loaded when the service starts.