Este FAQ responde às dúvidas mais comuns e apresenta soluções para o Real-time Conversational AI.
FAQ
Recursos
Integração
Recursos
Implantação de agente no servidor de source
Não. O agente é um serviço de nuvem pública da Alibaba Cloud, portanto, não requer implantação em nuvem. Crie e use agentes configurando-os no console e chamando a OpenAPI.
Conectar o agente ao LLM no Alibaba Cloud Model Studio
O agente já vem integrado ao Alibaba Cloud Model Studio por padrão. Para chamar os modelos de linguagem grande no Alibaba Cloud Model Studio, basta especificar os parâmetros necessários no console. Para obter mais informações, consulte Modelos de Linguagem Grandes (LLMs).
Integração
Erros ao iniciar uma chamada
Erro 1: "Could not resolve placeholder..."
Esse erro ocorre quando falta uma configuração ou quando ela foi excluída do arquivo application.yaml no lado do servidor. O arquivo de configuração deve conter qualquer variável injetada com a anotação @value. Deixe a configuração no arquivo application.yml com um valor de espaço reservado, como "xxxxxx", ou defina-a como uma string vazia "".
Erro 2: "User not authorized to operate on the specified resource"
Ao implantar o servidor de aplicativos, verifique se a AccessKey configurada está correta e conceda a permissão AliyunICEFullAccess ao usuário RAM. Para obter mais informações, consulte Implantar a partir do código-fonte.
Erro 3: "generateAIAgentCall Tea error. e:code: 404, Specified access key is not found."
Verifique se a AccessKey e o AccessSecret estão configurados corretamente no arquivo application.yaml do lado do servidor. Também é necessário conceder a permissão AliyunICEFullAccess ao RAM user. Para obter mais informações, consulte Implantar a partir do código-fonte.
Erro 4: "generateAIAgentCall Tea error. e:code: 400, The specified agentId "123456" is not found. request id: xxxxxxx"
Verifique se o agentId e a região estão configurados corretamente.
No console do Intelligent Media Services, acesse Real-time Conversational AI > Agent Management no painel de navegação à esquerda. Confirme se a região selecionada na parte superior da página corresponde à região configurada no seu código e obtenha o agentId correto na coluna Agent ID/Name da lista de agentes.
Erro 5: Um token é retornado, mas o cliente ainda não consegue se conectar.
Use a ferramenta de verificação de token RTC para verificar se a assinatura foi gerada corretamente. Todos os parâmetros obrigatórios estão na solicitação ou resposta do lado do servidor. Defina nonce como nulo e verifique se o token gerado está correto.
Erro "AgentNotFound" ao iniciar mensagens
No código do cliente, verifique se o agentId e a região estão configurados corretamente.
No console do Intelligent Media Services, acesse Real-time Conversational AI > Agent Management no painel de navegação à esquerda. Confirme se a região selecionada na parte superior da página corresponde à região configurada no seu código e obtenha o agentId correto na coluna Agent ID/Name da lista de agentes.
Código do cliente:
Android
String mAgentId = "XXX"; // Agent ID. Use the ID of the messaging conversation agent created on the console.
String mRegion = "cn-shanghai"; // The region where the agent is located. Use the region of the messaging conversation agent displayed on the console.
ARTCAIChatAgentInfo agentInfo = new ARTCAIChatEngine.ARTCAIChatAgentInfo(mAgentId, mRegion)
iOS
// Agent ID. Use the ID of the messaging conversation agent created on the console.
let agentInfo = ARTCAIChatAgentInfo(agentId: "xxxx")
// The region where the agent is located. Use the region of the messaging conversation agent displayed on the console.
agentInfo.region = "cn-shanghai"
Erro "UnsupportedWorkflowType" ao iniciar mensagens
Se os detalhes do erro forem "The specified workflowType \"VoiceChat\" is not supported by this interface. Please use a compatible workflowType: [\"MessageChat\"]", verifique o agentId e confirme se o tipo de fluxo de trabalho associado é MessageChat.
Na página Agent Management, localize o agente desejado e verifique a coluna Agent Workflow ID para confirmar se o tipo de fluxo de trabalho associado é MessageChat.
Ajustar a taxa de amostragem de captura de áudio do cliente
O Real-time Conversational AI oferece suporte às seguintes configurações para captura de áudio no lado do cliente:
Taxa de amostragem de 48 kHz, canal mono
Taxa de amostragem de 16 kHz, canal mono
Por padrão, o AICallKit SDK utiliza uma taxa de amostragem de 48 kHz. Para alternar para 16 kHz, consulte os exemplos de código a seguir:
O Web SDK suporta apenas uma taxa de amostragem de 48 kHz.
iOS
self.engine.audioConfig = ARTCAICallAudioConfig(audioProfile: .BasicQualityMode, audioScenario: .MusicMode)
// Call other APIs
...
// Initiate a call
self.engine.call(...)
Android
ARTCAICallEngine.ARTCAICallConfig artcaiCallConfig = new ARTCAICallEngine.ARTCAICallConfig();
artcaiCallConfig.audioConfig.audioProfile = ARTCAICallAudioBasicQualityMode;
engine.init(artcaiCallConfig);
Ajustar a taxa de amostragem de reprodução de áudio do agente
O Real-time Conversational AI suporta as seguintes configurações de áudio para reprodução do agente:
Taxa de amostragem de 48 kHz, canal mono ou estéreo
Taxa de amostragem de 16 kHz, canal mono
Por padrão, o Real-time Conversational AI usa uma taxa de amostragem de 48 kHz em canal mono. Ajuste essa configuração na chamada de API que inicia a conversa. O método varia conforme a forma de início da chamada:
Método 1: Usar a API GenerateAIAgentCall no lado do servidor
Adicione o parâmetro AgentConfig e construa o campo ExperimentalConfig em AIAgentConfig.
// AudioQualityMode: Integer
// The sample rate mode for RTC output.
// 0: 48 kHz mono channel
// 1: 48 kHz stereo channel
// 2: 16 kHz mono channel
// The value of ExperimentalConfig must be a JSON string.
{
"ExperimentalConfig":"{\"AudioQualityMode\":2}"
}
Método 2: Usar a API StartAIAgentInstance no lado do servidor
Adicione o parâmetro AgentConfig e construa o campo ExperimentalConfig em AIAgentConfig.
// AudioQualityMode: Integer
// The sample rate mode for RTC output.
// 0: 48 kHz mono channel
// 1: 48 kHz stereo channel
// 2: 16 kHz mono channel
// The value of ExperimentalConfig must be a JSON string.
{
"ExperimentalConfig":"{\"AudioQualityMode\":2}"
}
Método 3: Usar a API call() no lado do cliente
Caso crie e inicie uma chamada usando a API call(xxx) com o parâmetro callConfig, use este método para modifique a taxa de amostragem de reprodução do agente.
Este método requer a versão 2.5.0 ou posterior do AICallKit SDK.
iOS
let callConfig = ... // Create and initialize ARTCAICallConfig. For details, see the user guide.
let agentConfig = ARTCAICallAgentConfig() // Create an ARTCAICallAgentConfig object.
agentConfig.experimentalConfig = [
"AudioQualityMode": 2
]
... // Set parameters based on your business requirements.
callConfig.agentConfig = agentConfig
self.engine.call(config: callConfig) // Initiate the call.
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);