Skip to content

在 DB-GPT 中使用 GenStudio API

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

本文介绍如何在已部署的 DB-GPT 中接入 GenStudio 的模型服务,以及如何通过 DB-GPT Python SDK 使用 GenStudio 的模型。

信息

如果您尚未部署 DB-GPT,请参见在智算云平台开发机上部署 DB-GPT

获取 GenStudio API Key

您可以复制已有 API Key 或创建新的 Key。

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

在已部署的 DB-GPT 中配置 GenStudio 模型

如果您已经完成 DB-GPT 部署,可按以下方式将 GenStudio 模型接入 DB-GPT。

  1. 配置环境变量。

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

    信息

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

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

  • 添加对话模型:

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

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

    language-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 服务中接入 GenStudio 模型,您还可以直接通过 DB-GPT Python SDK 使用 GenStudio 的模型。

  1. 安装依赖。

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

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

    信息

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

使用 GenStudio 的大语言模型

language-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 模型

language-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 模型

language-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)