Instalação
Início Rápido
Configuração
Interface ChatSDKConfig
Opções de Configuração
- baseUrl: A URL base do seu endpoint de API
- projectId: Seu identificador único de projeto
- apiKey e apiSecret: Para autenticação do lado do servidor
- accessToken: Para autenticação do lado do cliente (aplicativos web)
Autenticação
O ChatSDK suporta dois métodos de autenticação:Autenticação por Chave de API (Lado do Servidor)
Autenticação por Token de Acesso (Lado do Cliente)
Métodos Principais
Gerenciamento de Chat
createChat(name?, documentKeys?)
Cria uma nova conversa de chat.
listChats(cursor?, limit?)
Recupere uma lista paginada de chats no projeto.
getChatHistory(chatId)
Recupere um chat com seu histórico completo de mensagens.
deleteChat(chatId)
Exclua um chat e todas as suas mensagens permanentemente.
updateChatName(chatId, newName)
Atualize o nome de exibição de um chat existente.
Tratamento de Mensagens
sendMessage(message, options?)
Envie uma mensagem e receba a resposta da IA.
sendFeedback(messageId, chatId, feedback)
Forneça feedback sobre uma resposta da IA.
Suporte a Streaming
sendMessageStream(message, options)
Envie uma mensagem com resposta por streaming em tempo real.
Tratamento de Erros
O SDK lança objetosAPIError para falhas relacionadas à API:
Exemplos
Aplicativo de Chat Básico
Neste exemplo, você aprenderá como construir um aplicativo de chat básico usando o SDK do EKB com trocas de mensagens simples e sem streaming. Você começa criando uma classeSimpleChatApp que inicializa o ChatSDK com suas credenciais de API retiradas de variáveis de ambiente (URL base, ID do projeto, chave de API e secret). A classe rastreia sua sessão de chat atual com currentChatId e fornece três métodos principais: startNewChat() cria uma nova conversa de chat com um nome personalizado, sendMessage() envia uma mensagem para a IA e retorna a resposta completa (criando automaticamente um novo chat se um não existir), e getChatList() recupera todas as suas conversas de chat existentes. Ao contrário de implementações com streaming, esta abordagem aguarda a resposta completa da IA antes de exibi-la, tornando-a perfeita para casos de uso mais simples onde você não precisa de atualizações em tempo real token por token. O exemplo usa o modelo GPT-4o-mini e inclui tratamento de erros em toda parte, com registro no console para ajudá-lo a acompanhar o fluxo da conversa — fornecendo uma base direta para construir funcionalidade básica de chatbot sem a complexidade de callbacks de streaming.
Chat com Streaming e Atualizações em Tempo Real
Neste exemplo, você aprenderá como construir uma interface de chat com streaming que se conecta à API do EKB e exibe respostas da IA em tempo real. Você começa criando uma classeStreamingChat que inicializa o ChatSDK com suas credenciais de API e uma referência a um elemento HTML onde as mensagens aparecerão. Ao enviar uma mensagem usando sendStreamingMessage(), você configurará handlers de callback que processam a resposta por streaming à medida que ela chega: o callback onChunk anexa cada pedaço de texto à sua interface imediatamente (criando aquele efeito característico de “digitando”), enquanto onMessageObject permite que você lide com conteúdo rico como imagens. Você também implementará tratamento de erros com onError, atualizará o título do chat com onChatNameUpdate e usará onComplete para adicionar botões de feedback de curtir/não curtir quando a mensagem terminar de ser transmitida. Este exemplo mostra como exibir imagens dinamicamente, coletar feedback do usuário sobre respostas da IA e configurar o chat para usar o GPT-4o com integração à Base de Conhecimento — fornecendo tudo que você precisa para criar uma interface semelhante ao ChatGPT com respostas por streaming em tempo real e recursos interativos.
Integração com Base de Conhecimento
Neste exemplo, você descobrirá como construir um aplicativo de chat alimentado por Base de Conhecimento que pode responder perguntas com base em documentos específicos que você carrega na sua Base de Conhecimento. A classeKnowledgeBasedChat inicializa o ChatSDK com suas credenciais de API de variáveis de ambiente e, em seguida, usa dois métodos-chave para interagir com seus documentos: createDocumentChat() configura uma nova sessão de chat vinculada a documentos específicos passando um array de documentKeys (identificadores únicos para seus documentos carregados), e askDocumentQuestion() envia perguntas à IA com os recursos da Base de Conhecimento habilitados. Ao fazer perguntas, você configurará o chat para usar useKnowledgebase: true e especificar agentType: 'document_agent' para garantir que a IA recupere informações relevantes dos seus documentos, enquanto formatInstructions informa à IA para incluir citações de suas fontes. A resposta inclui uma propriedade sources que mostra quais documentos a IA referenciou ao gerar sua resposta, tornando-a perfeita para construir sistemas de perguntas e respostas sobre documentos, assistentes de pesquisa ou qualquer aplicativo onde você precise de respostas da IA baseadas em conteúdo específico em vez de conhecimento geral. Isso permite transparência total sobre como a IA chegou às suas respostas.
Práticas Recomendadas
Tratamento de Erros
Sempre implemente tratamento de erros adequado para todos os métodos do SDK:Streaming para Melhor Experiência
Use streaming para respostas mais longas para fornecer feedback em tempo real:Otimize Chamadas de API
- Reutilize IDs de chat em vez de criar novos chats para cada mensagem
- Use paginação para listas de chats
- Implemente cache para dados acessados frequentemente