AITools
BotCore provides some tools for external use, enabling users to quickly implement basic features using tools.
AITools currently provides publicly available tools.
AITools method name | description |
|---|---|
searchDB | Query data model content |
searchFile | Search file content |
searchKnowledgeBase | Query knowledge base content |
searchNetwork | Query network content |
sendWxClientMessage | Send messages to the WeChat client |
speechToText | Speech to Text |
textToSpeech | Text to Speech |
getTextToSpeech | Obtain Text to Speech result |
getWxMediaContent | Obtain the voice content in the WeChat callback |
Methods
searchDB()
searchDB(
botId,msg,databaseModel):Promise\<SearchDBResult>
Query data model content
Parameters
botId
string
botId, that is, the ID of the function-type Agent.
msg
string
conversation message content
databaseModel
string[]
Data Model List
Returns
Promise\<SearchDBResult>
Usage Example
const result = await this.botContext.bot.tools.searchDB(
this.botContext.info.botId,
msg,
this.botContext.info.databaseModel
);
if (result?.code && result?.code?.length !== 0) {
throw new Error(`Failed to query data model content: ${result?.message}`);
}
searchFile()
searchFile(
botId,msg,files):Promise\<SearchFileResult>
Search file content
Parameters
botId
string
botId, that is, the ID of the function-type Agent.
msg
string
conversation message content
files
string[]
fileID of files uploaded to cloud storage
Returns
Promise\<SearchFileResult>
Usage Example
const result = await this.botContext.bot.tools.searchFile(
this.botContext.info.botId,
msg,
files
);
if (result?.code && result?.code?.length !== 0) {
throw new Error(`Failed to query file content: ${result?.message}`);
}
searchKnowledgeBase()
searchKnowledgeBase(
botId,msg,knowledgeBase):Promise\<SearchKnowledgeResult>
Query knowledge base content
Parameters
botId
string
botId, that is, the ID of the function-type Agent.
msg
string
conversation message content
knowledgeBase
string[]
Knowledge Base ID
Returns
Promise\<SearchKnowledgeResult>
Usage Example
const result = await this.botContext.bot.tools.searchKnowledgeBase(
this.botContext.info.botId,
msg,
this.botContext.info.knowledgeBase
);
if (result?.code && result?.code?.length !== 0) {
throw new Error(`Failed to query knowledge base content: ${result?.message}`);
}
searchNetwork()
searchNetwork(
botId,msg):Promise\<SearchNetworkResult>
Query network content
Parameters
botId
string
botId, that is, the ID of the function-type Agent.
msg
string
conversation message content
Returns
Promise\<SearchNetworkResult>
Usage Example
const result = await this.botContext.bot.tools.searchNetwork(
this.botContext.info.botId,
msg
);
if (result?.code && result?.code?.length !== 0) {
throw new Error(`Failed to query network content: ${result?.message}`);
}
sendWxClientMessage()
sendWxClientMessage(
botId,triggerSrc,wxClientMessage):Promise\<toolsCommonResp>
Push messages to the WeChat client
Parameters
botId
string
botId, that is, the ID of the function-type Agent.
triggerSrc
string
WeChat callback source
wxClientMessage
Message content pushed to the WeChat client
Returns
Promise\<toolsCommonResp>
Usage Example
const sendResult = await this.botContext.bot.tools.sendWxClientMessage(
this.botContext.bot.botId,
triggerSrc,
{
msgType: toWxMsgData?.msgType,
touser: toWxMsgData?.touser,
text: toWxMsgData?.text,
openKfId: toWxMsgData?.openKfId,
msgId: toWxMsgData?.msgId,
}
);
console.log("sendResult:", sendResult);
speechToText()
speechToText(
botId,engSerViceType,voiceFormat,voiceUrl):Promise\<SpeechToTextResult>
Speech to Text
Parameters
botId
string
botId, that is, the ID of the function-type Agent.
engSerViceType
string
Language
voiceFormat
string
Audio file type, Input language 16k_zh: Chinese General 16k_zh-PY: Chinese-English-Cantonese 16k_zh_medical: Chinese Medical 16k_en: English 16k_yue: Cantonese
voiceUrl
string
Voice file public network link
Returns
Promise\<SpeechToTextResult>
Usage Example
const result = await this.botContext.bot.tools.speechToText(
this.botContext.info.botId,
input.engSerViceType,
input.voiceFormat,
input.url
);
if (result?.code && result?.code?.length !== 0) {
throw new Error(`Speech to Text failed: ${result?.message}`);
}
textToSpeech()
textToSpeech(
botId,text,voiceType):Promise\<TextToSpeechResult>
Text to Speech
Parameters
botId
string
botId, that is, the ID of the function-type Agent.
text
string
Text to be converted to speech
voiceType
number
Voice type to be converted to, Output voice type 101004: General Male Voice 101005: General Female Voice 601004: Advisory Male Voice 501001: Advisory Female Voice 101010: General Male Voice (Large Model) 101035: General Female Voice (Large Model)
Returns
Promise\<TextToSpeechResult>
Usage Example
const result = await this.botContext.bot.tools.textToSpeech(
this.botContext.info.botId,
input.text,
input.voiceType
);
if (result?.code && result?.code?.length !== 0) {
throw new Error(`Text to Speech failed: ${result?.message}`);
}
getTextToSpeech()
getTextToSpeech(
botId,taskId):Promise\<GetTextToSpeechResult>
Obtain Text to Speech result
Parameters
botId
string
botId, that is, the ID of the function-type Agent.
taskId
string
taskID returned by the textToSpeech interface
Returns
Promise\<GetTextToSpeechResult>
Usage Example
const result = await this.botContext.bot.tools.getTextToSpeech(
this.botContext.info.botId,
input.taskId
);
if (result?.code && result?.code?.length !== 0) {
throw new Error(`Failed to query Text to Speech status: ${result?.message}`);
}
getWxMediaContent()
getWxMediaContent(
botId,triggerSrc,media):Promise\<GetWxMediaContentResult>
Obtain the voice content in the WeChat callback
Parameters
botId
string
botId, that is, the ID of the function-type Agent.
triggerSrc
string
WeChat callback source
media
string
WeChat voice media ID
Returns
Promise\<GetWxMediaContentResult>
Usage Example
const mediaResult = await this.botContext.bot.tools.getWxMediaContent(
this.botContext.bot.botId,
triggerSrc,
mediaId
);
content = mediaResult?.content;
Type
ChatDBSearchResult
Properties
answerPrompt
answerPrompt:
string
relateTables
relateTables:
unknown[]
SearchDBResult
Properties
code?
optionalcode:string
message?
optionalmessage:string
searchResult
searchResult:
ChatDBSearchResult
SearchFileResult
Properties
code?
optionalcode:string
content
content:
string
message?
optionalmessage:string
KnowledgeBaseDocument
Properties
data
data:
object
allParentParagraphTitles
allParentParagraphTitles:
string[]
endPos
endPos:
number
next
next:
unknown[]
paragraphTitle
paragraphTitle:
string
pre
pre:
unknown[]
startPos
startPos:
number
text
text:
string
documentSet
documentSet:
object
author
author:
string
documentSetId
documentSetId:
string
documentSetName
documentSetName:
string
fileId
fileId:
string
fileMetaData
fileMetaData:
string
fileTitle
fileTitle:
string
score
score:
number
SearchKnowledgeResult
Properties
code?
optionalcode:string
documents
documents:
KnowledgeBaseDocument
knowledgeBase?
optionalknowledgeBase:string[]
knowledgeMeta?
optionalknowledgeMeta:string[]
message?
optionalmessage:string
SearchResult
Properties
abstract
abstract:
string
extra?
optionalextra:string
index
index:
number
publisher
publisher:
string
publishTime
publishTime:
number
source
source:
"thirdparty"|"knowledgebase"
title
title:
string
url
url:
string
SearchInfo
Properties
searchResults
searchResults:
SearchResult[]
SearchNetworkResult
Properties
code?
optionalcode:string
content
content:
string
message?
optionalmessage:string
searchInfo
searchInfo:
SearchInfo
toolsCommonResp
Properties
code?
optionalcode:string
message?
optionalmessage:string
WxClientMessageDto
Properties
msgId
msgId:
string
msgType
msgType:
string
openKfId?
optionalopenKfId:string
text
text:
object
content
content:
string
touser
touser:
string
SpeechToTextResult
Properties
code?
optionalcode:string
message?
optionalmessage:string
result
result:
string
TextToSpeechResult
Properties
code?
optionalcode:string
message?
optionalmessage:string
taskId
taskId:
string
GetTextToSpeechResult
Properties
code?
optionalcode:string
message?
optionalmessage:string
resultUrl
resultUrl:
string
status
status:
number
statusStr
statusStr:
string
taskId
taskId:
string
GetWxMediaContentResult
Properties
code?
optionalcode:string
content
content:
string
message?
optionalmessage:string