通過閱讀本文,您可以瞭解使用AI即時互動時常見的問題及解決方案。
常見問題
功能相關
整合相關
功能相關
AI智能體是否需要部署在客戶來源站點上
AI智能體是阿里雲提供的公用雲端服務,無需客戶進行雲端部署。客戶只需通過控制台的介面配置並調用OpenAPI,即可構建和調用AI智能體。
大模型部署在阿里雲百鍊平台上,怎麼跟AI智能體進行聯動
AI智能體在產品設計上已與阿里雲百鍊實現了打通,您只需在控制台指定必要的參數,即可調用阿里雲百鍊上的大模型。詳情請參見LLM 大語言模型。
整合相關
啟動通話時報錯
錯誤一:提示“Could not resolve placeholder 'biz.live_mic.gslb' in value "${biz.live_mic.gslb} ”類似錯誤資訊
服務端設定檔application.yaml某個配置遺漏或刪除,通過@value註解注入的變數必須在設定檔中存在。application.yml檔案中的配置可以不修改,保持為"xxxxxx",也可以配置為""。
錯誤二:提示“User not authorized to operate on the specified resource”
部署AppServer時,確保配置的AccessKey是否正確,並給RAM使用者開通AliyunICEFullAccess許可權,詳細內容,請參見通過源碼部署。
錯誤三:提示“generateAIAgentCall Tea error. e:code: 404, Specified access key is not found. ”
檢查服務端設定檔application.yaml中AccessKey和AccessSecret是否正確配置,填寫並給RAM使用者開通AliyunICEFullAccess許可權,詳細內容,請參見通過源碼部署。
錯誤四:提示“generateAIAgentCall Tea error. e:code: 400, The specified agentId "123456" is not found. request id: xxxxxxx”
檢查對應的agentId與地區是否配置正確。

錯誤五:正常返回相關token,但用戶端仍然無法串連。
使用RTC token校正工具判斷簽名是否正確產生,相關參數均在服務端請求或傳回值內,nonce填null,判斷產生的token是否正確。
開始訊息對話時用戶端報錯“AgentNotFound”
在用戶端代碼中檢查agentId及地區的設定是否配置正確。

用戶端代碼:
Android
String mAgentId = "XXX"; // 智能體ID -> 控制台建立訊息對話智能體的ID
String mRegion = "cn-shanghai"; // 設定智能體所在地區 -> 控制台訊息對話智能體所在的地區
ARTCAIChatAgentInfo agentInfo = new ARTCAIChatEngine.ARTCAIChatAgentInfo(mAgentId, mRegion)iOS
// 智能體ID -> 控制台建立訊息對話智能體的ID
let agentInfo = ARTCAIChatAgentInfo(agentId: "xxxx")
// 設定智能體所在地區 -> 控制台訊息對話智能體所在的地區
agentInfo.region = "cn-shanghai"開始訊息對話時,用戶端報錯“UnsupportedWorkflowType”
當錯誤詳情是“The specified workflowType \"VoiceChat\" is not supported by this interface. Please use a compatible workflowType: [\"MessageChat\"]”時,請檢查智能體Id,該智能體的Id關聯的工作流程類型是否是“訊息對話”。


如何調整用戶端音頻採集採樣率
AI即時互動在採集端目前對音頻參數如下:
48K採樣率,單聲道
16K採樣率,單聲道
AICallKit SDK預設支援48K採樣率,如果需要切換到16K,可以參考如下範例程式碼:
Web目前僅支援48K的採樣率。
iOS
self.engine.audioConfig = ARTCAICallAudioConfig(audioProfile: .BasicQualityMode, audioScenario: .MusicMode)
// 調用其他api
...
// 發起通話
self.engine.call(...)Android
ARTCAICallEngine.ARTCAICallConfig artcaiCallConfig = new ARTCAICallEngine.ARTCAICallConfig();
artcaiCallConfig.audioConfig.audioProfile = ARTCAICallAudioBasicQualityMode;
engine.init(artcaiCallConfig);如何調整智能體播報採樣率
AI即時互動目前在智能體音頻播報參數如下:
48K採樣率,單/雙聲道
16K採樣率,單聲道
AI即時互動預設支援48K採樣率單聲道,需要在啟動通話的介面進行調整,不同的發起通話方式的調整播報採樣率的方法如下:
方式一:通過服務端GenerateAIAgentCall - 產生AI智能體通話執行個體發起通話
您可以通過新增AgentConfig參數,構造AIAgentConfig中的ExperimentalConfig欄位。
// AudioQualityMode:Integer
// Rtc輸出的採樣率模式。
// 0: 48k單聲道
// 1: 48k雙聲道
// 2: 16k單聲道
// ExperimentalConfig的值必須要為json字串
{
"ExperimentalConfig":"{\"AudioQualityMode\":2}"
}方式二:通過服務端StartAIAgentInstance - 啟動智能體執行個體發起通話
您可以通過新增AgentConfig參數,構造AIAgentConfig中的ExperimentalConfig欄位。
// AudioQualityMode:Integer
// Rtc輸出的採樣率模式。
// 0: 48k單聲道
// 1: 48k雙聲道
// 2: 16k單聲道
// ExperimentalConfig的值必須要為json字串
{
"ExperimentalConfig":"{\"AudioQualityMode\":2}"
}方式三:通過用戶端call介面發起通話
如果已經使用callConfig方式來作為啟動通話的參數,並且使用call(xxx)介面來建立與開始通話,那麼可以使用該方式修改智能體播報採樣率。
使用該方式,AICallKit SDK的版本必須是2.5.0及以上。
iOS
let callConfig = ... // 建立並初始化ARTCAICallConfig,可以參考使用指南文檔
let agentConfig = ARTCAICallAgentConfig() // 建立ARTCAICallAgentConfig對象
agentConfig.experimentalConfig = [
"AudioQualityMode": 2
]
... // 根據業務需要設定參數
callConfig.agentConfig = agentConfig
self.engine.call(config: callConfig) // 發起通話
Android
ARTCAICallEngine.ARTCAICallConfig artcaiCallConfig = new ARTCAICallEngine.ARTCAICallConfig();
artcaiCallConfig.agentConfig.experimentalConfig = new JSONObject();
try {
artcaiCallConfig.agentConfig.experimentalConfig.put("AudioQualityMode", 2);
} catch (JSONException e) {
e.printStackTrace();
}
engine.init(artcaiCallConfig);