本文档主要是介绍DB-GPT API接口文档。可以通过API请求跟系统进行交互,同时我们也提供了Python Client SDK。 通过API与SDK可以更好的与现有系统集成。

DB-GPT项目目前也提供了各种API以供使用。 目前API主要分为两类。 1. 模型API 2. 应用服务层API

模型API主要是指DB-GPT适配了各类模型,统一封装为兼容OpenAI SDK输出的模型。 服务层API是指DB-GPT服务层暴露出的API,下面对两者的使用做一个简要介绍。

认证

DB-GPT API通过API Keys进行认证。生产环境的请求必须通过带有API Key的后端服务来确保系统安全。所有的请求都需要在HTTP Header里面设置API Keys

  1. Authorization: Bearer DBGPT_API_KEY

请求样例

  1. curl "http://localhost:5670/api/v2/chat/completions" \
  2. -H "Authorization: Bearer $DBGPT_API_KEY" \

SDK样例

  1. from dbgpt.client import Client
  2. DBGPT_API_KEY = "dbgpt"
  3. client = Client(api_key=DBGPT_API_KEY)

:::danger ⚠️ API_KEYS - 是一组密钥,可以配置很多个,用逗号进行分割。

:::

在DB-GPT服务的环境变量中配置API Key

  1. API_KEYS=dbgpt

安装Client SDK

如果你使用的是Python语言,可以安装PyPI提供的客户端SDK包。

  1. pip install "dbgpt[client]>=0.5.2"

模型API

在DB-GPT项目中,我们定义了服务化的多模型管理框架(SMMF), 通过SMMF的能力,我们可以部署多种模型,这些模型都是通过服务的方式对外提供服务。 为了让客户端可以实现无缝切换,我们统一支持了OpenAI SDK的标准。

Example: 以下是一个通过openai SDK调用的例子。

  1. import openai
  2. openai.api_key = "EMPTY"
  3. openai.api_base = "http://127.0.0.1:8100/api/v1"
  4. model = "vicuna-13b-v1.5"
  5. completion = openai.ChatCompletion.create(
  6. model=model,
  7. messages=[{"role": "user", "content": "hello"}]
  8. )
  9. # print the completion
  10. print(completion.choices[0].message.content)

应用层API

服务层API指的是启动webserver 之后,5670端口暴露的API,主要偏应用层。 按类别分可以分为如下几个部分。

:::success 对话API

:::

:::success 应用API

:::

:::success 知识库API

:::

:::success 工作流API

:::

:::success 数据源API

:::