RTOS SDK
初始化接口
SDK初始化
1typedef struct AgentEngineParams {
2 char agent_platform_url[256]; // 登陆agent智能体中心的地址
3 char config[256]; // 配置文件路径
4 char appid[64]; // 应用ID
5 char userId[256]; //用户id,根据id可以指定人设
6 char cer[256]; // 默认证书路径
7 char token[256]; // 鉴权token
8 char workflow[64]; // 工作流类型,默认VoiceChat
9 char llm[64]; // 大模型类型
10 char lang[16]; // 语言类型,默认zh
11 char cid[64]; // 通讯id
12 long long instance_id; // 实例ID,服务器下发,当前默认即可
13 int level_voice_interrupt; // 本地音频打断能量值,默认80
14 int AudioInChannel; // 音频输入通道数,默认1
15 int AudioInFrequency; // 音频输入采样率,默认16000
16 char AudioIncodecType[16]; // 音频输入的格式,默认是pcm
17 char AudioOutcodecType[16]; // 音频播放的格式,默认是g711u
18 int VideoWidth; // 视频宽度
19 int VideoHeight; // 视频高度
20 bool verbose; // 是否开启详细日志,默认关闭
21 bool enable_voice_interrupt; // 是否开启本地音频打断,默认关闭
22 bool enable_internal_device; // true:内部采集数据模式,flase: 外部采集数据模式
23 bool enable_local_agent; // true:本地请求创建智能体,flase: 服务端请求创建智能体
24 char remote_params[1024]; //获取远端的服务的参数,替代用户自己解析,例如instance_id,token;
25 char license_key[256]; //客户需要向百度购买设备license获取对应的key
26} AgentEngineParams;
27
28BaiduChatAgentEngine* baidu_create_chat_agent_engine(const BaiduChatAgentEvent* events);
29int baidu_chat_agent_engine_init(BaiduChatAgentEngine* engine, const AgentEngineParams* param);
介绍
创建brtc chat agent engine并初始化,首先通过baidu_create_chat_agent_engine创建engine, 然后通过baidu_chat_agent_engine_init初始化。
参数
BaiduChatAgentEvent句柄
返回
BaiduChatAgentEngine句柄
介绍
创建brtc chat agent engine,并设置事件回调。
参数
参数 | 类型 | 描述 |
---|---|---|
events | const BaiduChatAgentEvent* | BaiduChatAgentEvent句柄 |
返回
BaiduChatAgentEvent句柄
baidu_chat_agent_engine_init
1int baidu_chat_agent_engine_init(BaiduChatAgentEngine* engine, const AgentEngineParams* param);
介绍
初始化SDK。
参数
参数 | 类型 | 描述 |
---|---|---|
engine | BaiduChatAgentEngine* | BaiduChatAgentEngine句柄 |
param | const AgentEngineParams* | AgentEngineParams初始化参数 |
返回
200 成功, 其他值 失败
Agent相关接口
开启对话
baidu_chat_agent_engine_call
1void baidu_chat_agent_engine_call(BaiduChatAgentEngine* engine);
介绍
开启对话。
参数
参数 | 类型 | 描述 |
---|---|---|
engine | BaiduChatAgentEngine* | BaiduChatAgentEngine句柄 |
返回
无
baidu_chat_agent_engine_send_audio
1void baidu_chat_agent_engine_send_audio(BaiduChatAgentEngine* engine, const uint8_t* data, size_t len);
介绍
发送音频。
参数
参数 | 类型 | 描述 |
---|---|---|
engine | BaiduChatAgentEngine* | BaiduChatAgentEngine句柄 |
data | const uint8_t* | 发送的音频数据 |
len | size_t | 发送的音频数据长度 |
返回
无
baidu_chat_agent_engine_send_text
1void baidu_chat_agent_engine_send_text(BaiduChatAgentEngine* engine, const char* text);
介绍
发送文本给AI大模型。
参数
参数 | 类型 | 描述 |
---|---|---|
engine | BaiduChatAgentEngine* | BaiduChatAgentEngine句柄 |
text | const char* | 发送的文本 |
返回
无
baidu_chat_agent_engine_send_text_to_TTS
1void baidu_chat_agent_engine_send_text_to_TTS(BaiduChatAgentEngine* engine, const char* text);
介绍
发送文本给TTS,直接进行播报。
参数
参数 | 类型 | 描述 |
---|---|---|
engine | BaiduChatAgentEngine* | BaiduChatAgentEngine句柄 |
text | const char* | 发送的文本 |
返回
无
baidu_chat_agent_engine_send_functioncall_result
1void baidu_chat_agent_engine_send_functioncall_result(BaiduChatAgentEngine* engine, const char* id, const char* result);
介绍
发送FunctionCall结果。
参数
参数 | 类型 | 描述 |
---|---|---|
engine | BaiduChatAgentEngine* | BaiduChatAgentEngine句柄 |
id | const char* | 唯一标识 |
result | const char* | 结果 例如: {"result":"ok"} |
返回
无
baidu_chat_agent_engine_interrupt
1void baidu_chat_agent_engine_interrupt(BaiduChatAgentEngine* engine);
介绍
主动打断。
参数
参数 | 类型 | 描述 |
---|---|---|
engine | BaiduChatAgentEngine* | BaiduChatAgentEngine句柄 |
返回
无
baidu_chat_agent_engine_destroy
1void baidu_chat_agent_engine_destroy(BaiduChatAgentEngine* engine);
介绍
结束对话和销毁。
参数
参数 | 类型 | 描述 |
---|---|---|
engine | BaiduChatAgentEngine* | BaiduChatAgentEngine句柄 |
返回
无
事件回调
1void (*onError)(int errCode, const char* errMsg);
介绍
错误回调。
参数
参数 | 类型 | 描述 |
---|---|---|
errCode | int | 错误码 |
errMsg | const char* | 错误信息 |
返回
无
1void (*onCallStateChange)(AGentCallState state);
介绍
通话状态变化。
参数
参数 | 类型 | 描述 |
---|---|---|
state | AGentCallState | 开始通话 {@link Constants.CallState#ON_CALL_BEGIN } 结束通话 {@link Constants.CallState#ON_CALL_END } |
返回
无
1void (*onConnectionStateChange)(AGentConnectState state);
介绍
链接状态变化。
参数
参数 | 类型 | 描述 |
---|---|---|
state | AGentConnectState | 链接断开 {@link Constants.ConnectionState#CONNECTION_STATE_DISCONNECTED} 重连接 {@link Constants.ConnectionState#CONNECTION_STATE_RECONNECTING} 链接成功 {@link Constants.ConnectionState#CONNECTION_STATE_CONNECTED} |
返回
无
1void (*onUserAsrSubtitle)(const char* text, bool final);
介绍
用户端ASR结果。
参数
参数 | 类型 | 描述 |
---|---|---|
text | const char* | ASR识别结果 |
final | bool | 标记是否最终结果 |
返回
无
1void (*onAIAgentSubtitle)(const char* text, bool final);
介绍
AI智能体结果。
参数
参数 | 类型 | 描述 |
---|---|---|
text | const char* | 智能体结果 |
final | bool | 标记是否最终结果 |
返回
无
1void (*onAIAgentSpeaking)(bool speeking);
介绍
AI智能体TTS播放状态。
参数
参数 | 类型 | 描述 |
---|---|---|
speeking | bool | true 远端音频播放 false 远端停止播放 |
返回
无
1 void (*onFunctionCall)(const char* id, const char* params);
介绍
functionCall回调。
参数
参数 | 类型 | 描述 |
---|---|---|
id | const char* | 单次function call唯一标识 |
params | const char* | 参数 一般是json string 例如: {"function_name":"phone_call","parameter_list":[{"called_number":"1891017000"},{"called_name":"我的父亲"} |
返回
无
1 void (*onAudioPlayerOp)(const char* path, bool start);
介绍
返回播放音频资源url。例如:小度音乐/故事
参数
参数 | 类型 | 描述 |
---|---|---|
path | const char* | 小度音频资源url |
start | bool | true 开始播放, false 停止播放 |
返回
无
1 void (*onMediaSetup)(void);
介绍
智能体媒体链路已调通,会语音提示:我来了
参数
无
返回
无
1 void (*onAudioData)(const uint8_t* data, size_t len);
介绍
回调给应用层的TTS音频数据。
参数
参数 | 类型 | 描述 |
---|---|---|
data | const uint8_t* | TTS音频数据 |
len | size_t | TTS音频数据长度 |
返回
无
1 void (*onVideoData)(const uint8_t* data, size_t len);
介绍
回调给应用层的视频数据。
参数
参数 | 类型 | 描述 |
---|---|---|
data | const uint8_t* | 视频数据 |
len | size_t | 视频数据长度 |
返回
无
1 void (*onLicenseResult)(bool result);
介绍
设备license鉴权结果。
参数
参数 | 类型 | 描述 |
---|---|---|
result | bool | true鉴权通过 false鉴权失败 |
返回
无