可以直接分享该应用给其他用户去进行对话,对方无需登录即可直接进行对话。注意,这个功能会消耗公司账号的余额,请保管好链接!
- QPM
每个 IP 每分钟最多提问多少次
- 最大金额
该链接最大可消耗多少金额,超出后链接将被禁止使用。-1 代表无限制。
- 过期时间
分享链接的过期时间,过期后将无法使用。不选择代表永不过期。
- 身份验证
身份校验服务器地址,如填写该值,每次对话前都会向指定服务器发送一个请求,进行身份校验
- 分享链接身份鉴权
分享链接身份鉴权设计的目的在于,将 WorkAiBot 的对话框快速、安全的接入到你现有的系统中,仅需 2 个接口即可实现。
免登录链接配置中,你可以选择填写身份验证
栏。这是一个POST
请求的根地址。在填写该地址后,分享链接的初始化、开始对话以及对话结束都会向该地址的特定接口发送一条请求。服务器接口仅需返回是否校验成功即可,不需要返回其他数据,格式如下
- 接口统一响应格式
{
"success": true,
"message": "ok",
"data": {
"uid": "lqtPb84CYThAaFsnUKsKBLH62TTSo480"
}
}
WorkAiBot
将会判断success
是否为true
决定是允许用户继续操作。当success
不为true
时,将会提示这个错误。
uid
是用户的唯一凭证,将会用于拉取对话记录以及保存对话记录。可参考下方实践案例。
- 分享链接中增加额外 query
在分享链接的地址中,增加一个额外的参数: authToken。
WorkAiBot
会在鉴权接口的body中携带 token=authToken 的参数。
- 聊天初始化校验接口
在初始化对话时,WorkAiBot
会向鉴权接口发送一个请求,请求中携带的参数为:
curl --location --request POST '{{host}}/shareAuth/init' \
--header 'Content-Type: application/json' \
--data-raw '{
"token": "{{authToken}}"
}'
- 对话前校验接口
在开始对话前,WorkAiBot
会向鉴权接口发送一个请求,请求中携带的参数为:
curl --location --request POST '{{host}}/shareAuth/start' \
--header 'Content-Type: application/json' \
--data-raw '{
"token": "{{authToken}}",
"question": "User question",
}'
- 对话结果上报接口
该接口无规定返回值。
curl --location --request POST '{{host}}/shareAuth/finish' \
--header 'Content-Type: application/json' \
--data-raw '{
"token": "{{authToken}}",
"responseData": [
...
]
}'
responseData 完整字段说明:
type ResponseType = {
moduleType: srting; // 模块类型
moduleName: string; // 模块名
runningTime?: number; // 运行时间
query?: string; // 用户问题/检索词
textOutput?: string; // 文本输出
tokens?: number; // 上下文总Tokens
model?: string; // 使用到的模型
contextTotalLen?: number; // 上下文总长度
totalPoints?: number; // 总消耗AI积分
temperature?: number; // 温度
maxToken?: number; // 模型的最大token
quoteList?: SearchDataResponseItemType[]; // 引用列表
historyPreview?: ChatItemType[]; // 上下文预览(历史记录会被裁剪)
similarity?: number; // 最低相关度
limit?: number; // 引用上限token
cqList?: ClassifyQuestionAgentItemType[]; // 分类问题列表
cqResult?: string; // 分类问题结果
extractDescription?: string; // 内容提取描述
extractResult?: Record<string, any>; // 内容提取结果
params?: Record<string, any>; // HTTP模块params
body?: Record<string, any>; // HTTP模块body
headers?: Record<string, any>; // HTTP模块headers
httpResult?: Record<string, any>; // HTTP模块结果
tfSwitchResult?: boolean; // 判断器结果
}
- 使用场景
这个鉴权方式通常是帮助你直接嵌入分享链接
到你的应用中,在你的应用打开分享链接前,应做authToken
的拼接后再打开。
除了对接已有系统的用户外,你还可以对接余额
功能,通过结果上报
接口扣除用户余额,通过对话前校验接口
检查用户的余额。