GenStudio 于 2025 年 5 月 推出 GenStudio 高级版/企业版升级服务,大幅提升 API 调用频率GenStudio 于 2025 年 5 月 推出 GenStudio 高级版/企业版升级服务,大幅提升 API 调用频率 ,依然保留免费基础服务了解计费
Skip to content
回到全部文章

在 DB-GPT 中使用 GenStudio 模型服务

DB-GPT 是一个开源的 AI 原生数据应用开发框架。通过多种技术能力,构建大模型领域的基础设施。

本教程将以开发机为例,介绍如何在 DB-GPT 中使用 GenStudio 的模型服务,以及如何通过 DB-GPT Python SDK 使用 GenStudio 的模型。

准备工作

创建实验环境

点击下方链接,直接访问智算云控制台的创建开发机页面。

请根据页面提示,完成开发机的相应配置。

在选择镜像时,推荐基础镜像,如 ubuntu:22.04-20240429。同时,在 Web 应用预览中填写端口 5670

获取 GenStudio API Key

点击下方按钮获取 API Key,可选择复制已有或创建新的密钥:

预置模型 API 服务有 API 频率限制。企业级用户如使用预置模型,可联系无问芯穹调整限额。

部署 DB-GPT

登录开发机后,按以下步骤完成 DB-GPT 的部署。

  1. 拉取 DB-GPT 仓库。

    bash
    git clone https://github.com/eosphoros-ai/DB-GPT.git
  2. 安装 uv。

    bash
    cd DB-GPT
    
    pip install uv
  3. 安装 DB-GPT 依赖包。

    bash
    uv sync --all-packages \
    --extra "base" \
    --extra "proxy_openai" \
    --extra "rag" \
    --extra "storage_chromadb" \
    --extra "dbgpts"
  4. 配置基础的环境变量。

    bash
    export INFINIAI_API_KEY="your-genstudio-api-key"

    注意

    请将 your-genstudio-api-key 替换为获取的 GenStudio 的 API Key。

  5. 启动 DB-GPT 服务。

    bash
    uv run dbgpt start webserver --config configs/dbgpt-proxy-infiniai.toml

进入开发机详情页,点击 Web 应用预览,即可跳转访问部署的 DB-GPT。

添加更多 GenStudio 模型

编辑配置文件 configs/dbgpt-proxy-infniai.toml,在 [models] 下添加所需模型:

  • 添加对话模型:

    toml
    [[models.llms]]
    name = "qwen3-235b-a22b"
    provider = "proxy/infiniai"
    api_key = "${env:INFINIAI_API_KEY}"
  • 添加 Embedding 模型:

    toml
    [[models.embeddings]]
    name = "jina-embeddings-v2-base-zh"
    provider = "proxy/infiniai"
    api_key = "${env:INFINIAI_API_KEY}"
  • 添加 Rerank 模型:

    toml
    [[models.reranks]]
    name = "bge-reranker-v2-m3"
    provider = "proxy/infiniai"
    api_key = "${env:INFINIAI_API_KEY}"

更多语言模型、 Embedding 模型和 Rerank 模型详见:

通过 DB-GPT Python SDK 使用 GenStudio 的模型

除去部署 DB-GPT 服务,您还可以通过 DB-GPT Python SDK 使用 GenStudio 的模型。

  1. 安装依赖

    bash
    pip install dbgpt openai requests numpy
  2. 配置环境变量。

    bash
    export INFINIAI_API_KEY="your-genstudio-api-key"

    注意

    请将 your-genstudio-api-key 替换为获取的 GenStudio 的 API Key。

使用 GenStudio 的大语言模型

python
import asyncio, os
from dbgpt.core import ModelRequest
from dbgpt.model.proxy import InfiniAILLMClient

model = "deepseek-v3"
client = InfiniAILLMClient(
    api_key=os.getenv("INFINIAI_API_KEY"),
    model_alias=model,
)

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

使用 GenStudio 的 Embedding 模型

python
import os
from dbgpt.rag.embedding import OpenAPIEmbeddings

openai_embeddings = OpenAPIEmbeddings(
    api_url="https://cloud.infini-ai.com/maas/v1/embeddings",
    api_key=os.getenv("INFINIAI_API_KEY"),
    model_name="bge-m3",
)

texts = ["Hello, world!", "How are you?"]
res = openai_embeddings.embed_documents(texts)
print(res)

使用 GenStudio 的 rerank 模型

python
import os
from dbgpt.rag.embedding import InfiniAIRerankEmbeddings

embedding = InfiniAIRerankEmbeddings(
    api_key=os.getenv("INFINIAI_API_KEY"),
    model_name="bge-reranker-v2-m3",
)
res = embedding.predict("Apple", candidates=["苹果", "香蕉", "水果", "蔬菜"])
print(res)

上手指南

数据对话能力是通过自然语言与数据进行对话,目前主要是结构化与半结构化数据的对话,可以辅助做数据分析与洞察。以下为具体操作流程:

添加数据源

在左侧栏添加数据源,根据实际需求选择相应的数据库类型并完成添加。

这里我们以 MySQL 为例,演示的测试数据参见:测试样例

Image

开始数据对话

选择 ChatData 对话类型。

Image