本文档主要是介绍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
Authorization: Bearer DBGPT_API_KEY
请求样例
curl "http://localhost:5670/api/v2/chat/completions" \
-H "Authorization: Bearer $DBGPT_API_KEY" \
SDK样例
from dbgpt.client import Client
DBGPT_API_KEY = "dbgpt"
client = Client(api_key=DBGPT_API_KEY)
:::danger ⚠️ API_KEYS - 是一组密钥,可以配置很多个,用逗号进行分割。
:::
在DB-GPT服务的环境变量中配置API Key
API_KEYS=dbgpt
安装Client SDK
如果你使用的是Python语言,可以安装PyPI提供的客户端SDK包。
pip install "dbgpt[client]>=0.5.2"
模型API
在DB-GPT项目中,我们定义了服务化的多模型管理框架(SMMF), 通过SMMF的能力,我们可以部署多种模型,这些模型都是通过服务的方式对外提供服务。 为了让客户端可以实现无缝切换,我们统一支持了OpenAI SDK的标准。
- 详细使用教程: OpenAI SDK 调用本地多模型
Example: 以下是一个通过openai SDK调用的例子。
import openai
openai.api_key = "EMPTY"
openai.api_base = "http://127.0.0.1:8100/api/v1"
model = "vicuna-13b-v1.5"
completion = openai.ChatCompletion.create(
model=model,
messages=[{"role": "user", "content": "hello"}]
)
# print the completion
print(completion.choices[0].message.content)
应用层API
服务层API指的是启动webserver
之后,5670端口暴露的API,主要偏应用层。 按类别分可以分为如下几个部分。
:::success 对话API
:::
:::success 应用API
:::
:::success 知识库API
:::
:::success 工作流API
:::
:::success 数据源API
:::