IBot
函数型 Agent 框架提供了 IBot 接口,开发者只要实现一个满足 IBot 的类,就可以部署起相应的服务。
IBot 完整的方法定义及对应的服务如下:
| 提供的服务 | IBot 方法名 | 描述 |
|---|---|---|
POST /v1/aibot/bots/:botId/send-message | sendMessage | 与 Agent 进行对话 |
POST /v1/aibot/bots/:botId/wx-send-message | wxSendMessage | 与 Agent 进行对话(微信回调) |
GET /v1/aibot/bots/:botId | getBotInfo | 查询 Agent 配置信息 |
GET /v1/aibot/bots/:botId/records | getChatRecords | 查询 Agent 历史对话信息 |
POST /v1/aibot/bots/:botId/recommend-questions | getRecommendQuestions | 获取推荐问题 |
POST /v1/aibot/bots/:botId/feedback | sendFeedback | 提交用户反馈 |
GET /v1/aibot/bots/:botId/feedback | getFeedback | 查询用户反馈 |
POST /v1/aibot/bots/:botId/speech-to-text | speechToText | 语音转文字 |
POST /v1/aibot/bots/:botId/text-to-speech | textToSpeech | 文字转语音 |
GET /v1/aibot/bots/:botId/text-to-speech | getTextToSpeechResult | 获取文字转语音结果 |
POST /v1/aibot/bots/:botId/conversation | createConversation | 创建会话 |
GET /v1/aibot/bots/:botId/conversation | getConversation | 查询会话 |
PATCH /v1/aibot/bots/:botId/conversation/:conversation | updateConversation | 更新会话 |
DELETE /v1/aibot/bots/:botId/conversation/:conversation | deleteConversation | 删除会话 |
使用 BotCore 基类 能够更加快速地实现 IBot 接口。
方法
sendMessage()
sendMessage(
input):Promise\<void>
sendMessage - POST /v1/aibot/bots/:botId/send-message
与 Agent 问答对话接口实现,该接口无返回值,接口内需要通过 this.sseSender 发送 Server-Sent Events 给客户端
微信基础库 wx.cloud.extend.AI.bot.sendMessage API 对应接口
参数
调用参数详见 HTTP API 文档
wxSendMessage()
wxSendMessage(
input):Promise\<WeChatTextOutput>
wxSendMessage - POST /v1/aibot/bots/:botId/wx-send-message
使用微信接入后,微信客服消息回调 Agent 接口的实现,该接口根据微信 APPID 类型以及认证状态进行返回。
参数
input
Returns
Promise\<WeChatTextOutput>
getBotInfo()
getBotInfo(
input):Promise\<GetBotInfoOutput>
getBotInfo - POST /v1/aibot/bots/:botId
获取 Agent 配置,返回 Agent 信息
微信基础库 wx.cloud.extend.AI.bot.get API 对应接口 https://developers.weixin.qq.com/miniprogram/dev/wxcloudservice/wxcloud/reference-sdk-api/extend/ai.html#AI-bot-get
参数
调用参数详见 HTTP API 文档
getChatRecords()?
optionalgetChatRecords(input):Promise\<GetChatRecordOutput>
getChatRecords - GET /v1/aibot/bots/:botId/records
查询 Agent 历史对话信息接口实现,返回历史对话记录。
注意:需在 sendMessage 接口中实现记录对话信息,并在此接口查询对话信息并中返回
微信基础库 wx.cloud.extend.AI.bot.getChatRecords API 对应接口
参数
调用参数详见 HTTP API 文档
getFeedback()?
optionalgetFeedback(input):Promise\<GetFeedbackOutput>
getFeedback - GET /v1/aibot/bots/:botId/feedback
获取用户反馈接口实现,返回用户反馈列表
微信基础库 wx.cloud.extend.AI.bot.getFeedBack API 对应接口
参数
调用参数详见 HTTP API 文档
getRecommendQuestions()?
optionalgetRecommendQuestions(input):Promise\<void>
getRecommendQuestions - POST /v1/aibot/bots/:botId/recommend-questions
获取推荐问题接口实现,返回推荐问题列表
微信基础库 wx.cloud.extend.AI.bot.getRecommendQuestions API 对应接口
参数
调用参数详见 HTTP API 文档
sendFeedback()?
optionalsendFeedback(input):Promise\<SendFeedbackOutput>
sendFeedback - POST /v1/aibot/bots/:botId/feedback
发送用户反馈接口实现,返回发送用户反馈结果
微信基础库 wx.cloud.extend.AI.bot.sendFeedback API 对应接口
参数
input
返回
Promise\<SendFeedbackOutput>
speechToText()?
optionalspeechToText(input):Promise\<SpeechToTextOutput>
speechToText - POST /v1/aibot/bots/:botId/speechToText
语音转文字
参数
调用参数详见 HTTP API 文档
textToSpeech()?
optionaltextToSpeech(input):Promise\<TextToSpeechOutput>
text-to-speech - POST /v1/aibot/bots/:botId/text-to-speech
文字转语音
参数
调用参数详见 HTTP API 文档
getTextToSpeechResult()?
optionalgetTextToSpeechResult(input):Promise\<GetTextToSpeechResultOutput>
text-to-speech - GET /v1/aibot/bots/:botId/text-to-speech
获取文字转语音结果
参数
调用参数详见 HTTP API 文档
createConversation()?
optionalcreateConversation():Promise\<CreateConversationOutput>
conversation - POST /v1/aibot/bots/:botId/conversation
创建会话
参数
调用参数详见 HTTP API 文档
getConversation()?
optionalgetConversation(input):Promise\<GetConversationOutput>
conversation - GET /v1/aibot/bots/:botId/conversation
查询会话
参数
input
Returns
Promise\<GetConversationOutput>
updateConversation()?
optionalupdateConversation(input):Promise\<UpdateConversationOutput>
conversation - PATCH /v1/aibot/bots/:botId/conversation/:conversation
更新会话
参数
input
Returns
Promise\<UpdateConversationOutput>
deleteConversation()?
optionaldeleteConversation(input):Promise\<DeleteConversationOutput>
conversation - DELETE /v1/aibot/bots/:botId/conversation/:conversation
删除会话
参数
input
Returns
Promise\<DeleteConversationOutput>
类型
GetChatRecordOutput
属性
recordList
recordList:
object[]
botId?
optionalbotId:string
content?
optionalcontent:string
conversation?
optionalconversation:string
createTime?
optionalcreateTime:string
image?
optionalimage:string
recordId?
optionalrecordId:string
reply?
optionalreply:string
replyTo?
optionalreplyTo:string
role?
optionalrole:string
triggerSrc?
optionaltriggerSrc:string
type?
optionaltype:string
total
total:
number
GetFeedbackOutput
属性
feedbackList
feedbackList:
object[]
aiAnswer
aiAnswer:
string
botId
botId:
string
comment
comment:
string
createTime
createTime:
string
input
input:
string
rating
rating:
number
sender
sender:
string
tags
tags:
string[]
type
type:
string
total
total:
number
SendFeedbackInput
属性
aiAnswer
aiAnswer:
string
comment
comment:
string
input
input:
string
rating
rating:
number
recordId
recordId:
string
tags
tags:
string[]
type
type:
string
SendFeedbackOutput
属性
status
status:
"success"
SendMessageInput
属性
history?
optionalhistory:object[]
content
content:
string
role
role:
"user"|"assistant"
msg
msg:
string
WeChatTextInput
Properties
content
content:
string
createTime
createTime:
number
fromUserName
fromUserName:
string
msgId
msgId:
string
msgType
msgType:
string
toUserName
toUserName:
string
WeChatVoiceInput
属性
createTime
createTime:
number
format
format:
string
fromUserName
fromUserName:
string
mediaId
mediaId:
string
msgId
msgId:
string
msgType
msgType:
string
toUserName
toUserName:
string
WeChatWorkTextInput
属性
externalUserId
externalUserId:
string
msgId
msgId:
string
msgType
msgType:
string
openKfId
openKfId:
string
origin
origin:
number
sendTime
sendTime:
number
text
text:
object
content
content:
string
WeChatWorkVoiceInput
属性
externalUserId
externalUserId:
string
msgId
msgId:
string
msgType
msgType:
string
openKfId
openKfId:
string
origin
origin:
number
sendTime
sendTime:
number
voice
voice:
object
mediaId
mediaId:
string
WxSendMessageInput
属性
callbackData
微信回调消息
callbackData:
WeChatTextInput|WeChatVoiceInput|WeChatWorkTextInput|WeChatWorkVoiceInput
triggerSrc?
根据微信 APPID 传入来源类型,微信订阅号: WXSubscription 微信服务号: WXService 微信小程序客服: WXMiniapp 企业微信客服: WXCustomerService
optionaltriggerSrc:string
wxVerify?
微信 APPID 的认证状态
optionalwxVerify:boolean
WeChatTextOutput
属性
Content?
optionalContent:string
CreateTime?
optionalCreateTime:number
FromUserName?
optionalFromUserName:string
MsgType?
optionalMsgType:string
ToUserName?
optionalToUserName:string
SpeechToTextInput
属性
engSerViceType
输入语言类型
engSerViceType:
string
url
语音文件链接
url:
string
voiceFormat
识别音频的音频格式,如 wav/mp3
voiceFormat:
string
SpeechToTextOutput
属性
Result
Result:
string
TextToSpeechOutput
属性
TaskId
TaskId:
string
GetTextToSpeechResultOutput
属性
ResultUrl
ResultUrl:
string
Status
Status:
number
StatusStr
StatusStr:
string
TaskId
TaskId:
string
CreateConversationOutput
属性
conversationId
conversationId:
string
title
title:
string
GetConversationInput
属性
conversationId?
optionalconversationId:string
limit?
optionallimit:number
offset?
optionaloffset:number
GetConversationOutput
属性
data
data:
object[]
conversationId
conversationId:
string
createTime
createTime:
string
title
title:
string
updateTime
updateTime:
string
total
total:
number
UpdateConversationInput
属性
conversationId?
optionalconversationId:string
title
title:
string
UpdateConversationOutput
属性
count
count:
number
DeleteConversationInput
属性
conversationId
conversationId:
string
DeleteConversationOutput
属性
count
count:
number
GetBotInfoOutput
属性
agentSetting?
optionalagentSetting:string
avatar?
optionalavatar:string
background?
optionalbackground:string
botId?
optionalbotId:string
databaseModel?
optionaldatabaseModel:string[]
initQuestions?
optionalinitQuestions:string[]
introduction?
optionalintroduction:string
isNeedRecommend?
optionalisNeedRecommend:boolean
knowledgeBase?
optionalknowledgeBase:string[]
mcpServerList?
optionalmcpServerList:object[]
name?
optionalname:string
tools
tools:
object[]
url?
optionalurl:string
model?
optionalmodel:string
modelValue?
optionalmodelValue:string
multiConversationEnable?
optionalmultiConversationEnable:boolean
name?
optionalname:string
searchEnable?
optionalsearchEnable:boolean
searchFileEnable?
optionalsearchFileEnable:boolean
tags?
optionaltags:string[]
type?
optionaltype:string
updateTime?
optionalupdateTime:number
voiceSettings?
optionalvoiceSettings:object
enable?
optionalenable:boolean
inputType?
optionalinputType:string
outputType?
optionaloutputType:number
welcomeMessage?
optionalwelcomeMessage:string