接口设计
Last updated
Last updated
cURL: bash环境下快速测试api功能
Python API:通过Python调用RestFul API接口,本质和 cURL是一样的
Python Code: 作为Python 依赖,通过本地实例化技能,本地执行
Tweak:配置每个组件的变量表,可选,不传就会用技能中默认配置的,如果传可以覆盖技能中配置的参数
API 服务地址是 http://IP:Port/api/v1/process/{flow_id} IP 和Port 是服务部署的地址
参数说明
是否必填
value类型
说明
示例
备注
flow_id
是
UUID
技能ID
URL传参
inputs
是
Json
对整个技能的问题输入 json里的具体key和技能本身相关,不一定都是query
{"query":"什么是金融"}
当输入节点只有一个时,id可不传
history_count
否
int
对于技能里支持Memery,选取几条历史消息进行多轮问答,默认值10
session_id
否
str
用于session查找,当我们进行多轮时,此参数必填,且建议采用后端生成的key
每次调用,当session_id 传入时,返回传入sessionid,当session_id不传时,自动生成id
tweaks
否
Json
对每个组件的控制,可以替换组件输入参数的值
当没有指定组件传参的时候,可以不传
ChatOpenAI-MzIaC
Json
示例,技能中OpenAI大模型组件的配置信息,key为组件名,命名为{组件}-{id}
{"openai_api_key": "sk-xxx"}或者 {}
当{}为空,表示保持默认值
...
每个技能中各个组件的参数均可以在调用接口时传进去,如果不传则用技能的默认配置
返回参数
返回格式采用统一格式:{"status_code":200,"status_message":"SUCCESS","data":{}}}
key
类型
含义
data
object
返回内容
data.session_id
string
会话id,用来和入参对应
data.result
object
技能返回的结果
data.result.answer
str
技能统一key返回的LLM 内容
data.result.message_id
int
技能历史消息存储id
data.result.source
int
是否溯源: 0 不可溯源, 1 普通溯源, 2有访问权限,3/4 特殊情况下的溯源
data.result.{key}
string
key是技能里组件定义的输出key, 输出的内容和answer一致,唯一的区别是key不固定
接口地址:http://ip:port/api/v1/knowledge/upload请求方式:POST返回格式:JSON返回内容:file_url
参数
必选
类型及范围
说明
file
true
Form-data
需要通过form传参
接口地址:http://ip:port/api/v2/filelib/请求方式:POST返回格式:JSON
参数
必选
类型及范围
说明
name
true
string
知识库名称
model
true
string
embedding模型,跟系统配置有关,请确保embedding 模型在系统配置中正确配置
description
false
string
接口地址:http://ip:port/api/v2/filelib/请求方式:PUT返回格式:JSON
参数
必选
类型及范围
说明
name
true
string
知识库名称
model
true
string
embedding模型,跟系统配置有关,请确保修改的embedding 模型在系统配置中正确配置
description
false
string
知识库描述
接口地址:http://ip:port/api/v2/filelib/{knowledge_id}请求方式:DELETE返回格式:JSON
接口地址:http://ip:port/api/v2/filelib/请求方式:GET返回格式:JSON
参数
必选
类型及范围
说明
page_size
true
int
从1 开始
page_num
true
int
现有接口是websoket方式ws://ip:port/api/v2/chat/ws/{flow_id}
参数
类型
传参方法
参数含义
注意
chat_id
string
get
前端随机id
用来表示一个会话窗口
flow_id
string
Url 传参
技能id,对应已经上线了的技能
knowledge_id
int
知识库id
知识库id
tweak
json
Api 组件传参
针对特定组件进行参数设置 0.2.2.3 版本支持
需要urlencode Json对象
使用websocket 返回客户端消息
返回参数key
类型
含义
is_bot
bool
必要,true消息在左边,false 消息在右边
message
str/ json
返回的消息最终结果
type
str
begin/close 表示整轮会话的开始和结束,start/stream/end 表示stream的开始和结束
category
str
processing: 暂无特别实用 question/answer/report/system: 对应前端不同的展示样式
user_id
int
当前用户id
message_id
int
消息id
source
bool
是否支持溯源, 0 不支持, 1 支持, 2有权限限制,3 问答库, 4 QA库
flow_id
str
(必传)当前聊天的技能id
chat_id
str
(必传)当前会话id
当我们完整构建一条消息,需要后端给前端发送4条消息: type=begin, category=systemtype=start, category=systemtype=end, message=""type=close, category=system