Pular para o conteúdo principal
O ChatSDK é o componente principal do SDK de Criação de Conteúdo do EKB que permite construir aplicativos de IA conversacional com facilidade. Ele fornece gerenciamento abrangente de chat, tratamento de mensagens, respostas por streaming e integração com base de conhecimento. Neste artigo, você aprenderá como instalar o SDK e começar rapidamente com nosso exemplo de ‘Início Rápido’. Você pode explorar as diversas opções de configuração, aprender sobre autenticação e os métodos principais que podem ser usados com este SDK. Você também descobrirá exemplos de casos de uso.

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.
Exemplo:

listChats(cursor?, limit?)

Recupere uma lista paginada de chats no projeto.
Exemplo:

getChatHistory(chatId)

Recupere um chat com seu histórico completo de mensagens.
Exemplo:

deleteChat(chatId)

Exclua um chat e todas as suas mensagens permanentemente.
Exemplo:

updateChatName(chatId, newName)

Atualize o nome de exibição de um chat existente.
Exemplo:

Tratamento de Mensagens

sendMessage(message, options?)

Envie uma mensagem e receba a resposta da IA.
SendMessageOptions:
Exemplo:

sendFeedback(messageId, chatId, feedback)

Forneça feedback sobre uma resposta da IA.
Exemplo:

Suporte a Streaming

sendMessageStream(message, options)

Envie uma mensagem com resposta por streaming em tempo real.
StreamCallbacks:
Exemplo:

Tratamento de Erros

O SDK lança objetos APIError para falhas relacionadas à API:
Exemplo:

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 classe SimpleChatApp 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 classe StreamingChat 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 classe KnowledgeBasedChat 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

Gerenciamento de Configuração

Armazene a configuração de forma segura e use variáveis de ambiente:

Gerenciamento de Memória

Limpe recursos e evite vazamentos de memória: