Passer au contenu principal
Le ChatSDK est le composant principal du SDK EKB Content Creator qui vous permet de créer des applications d’IA conversationnelle en toute simplicité. Il fournit une gestion complète des chats, un traitement des messages, des réponses en streaming et une intégration avec la base de connaissances. Dans cet article, vous apprendrez à installer le SDK et à vous lancer rapidement avec notre exemple « Quick Start ». Vous pouvez explorer les diverses options de configuration, en savoir plus sur l’authentification et les méthodes principales que vous pouvez utiliser avec ce SDK. Vous découvrirez également des exemples de cas d’usage.

Installation

Quick Start

Configuration

ChatSDKConfig Interface

Configuration Options

  • baseUrl: L’URL de base de votre point de terminaison API
  • projectId: Votre identifiant de projet unique
  • apiKey & apiSecret: Pour l’authentification côté serveur
  • accessToken: Pour l’authentification côté client (applications web)

Authentication

Le ChatSDK supporte deux méthodes d’authentification :

API Key Authentication (Côté serveur)

Access Token Authentication (Côté client)

Core Methods

Chat Management

createChat(name?, documentKeys?)

Crée une nouvelle conversation de chat.
Exemple :

listChats(cursor?, limit?)

Récupère une liste paginée de chats dans le projet.
Exemple :

getChatHistory(chatId)

Récupère un chat avec son historique de messages complet.
Exemple :

deleteChat(chatId)

Supprime un chat et tous ses messages de manière permanente.
Exemple :

updateChatName(chatId, newName)

Met à jour le nom d’affichage d’un chat existant.
Exemple :

Message Handling

sendMessage(message, options?)

Envoie un message et reçoit la réponse de l’IA.
SendMessageOptions:
Exemple :

sendFeedback(messageId, chatId, feedback)

Fournit des retours sur une réponse d’IA.
Exemple :

Streaming Support

sendMessageStream(message, options)

Envoie un message avec une réponse en streaming en temps réel.
StreamCallbacks:
Exemple :

Error Handling

Le SDK lance des objets APIError pour les défaillances liées à l’API :
Exemple :

Examples

Basic Chat Application

Dans cet exemple, vous apprendrez comment créer une application de chat basique à l’aide du SDK EKB avec des échanges de messages simples et non diffusés. Vous commencez par créer une classe SimpleChatApp qui initialise le ChatSDK avec vos credentials API extraits des variables d’environnement (URL de base, ID de projet, clé API et secret). La classe suit votre session de chat actuelle avec currentChatId et fournit trois méthodes principales : startNewChat() crée une nouvelle conversation de chat avec un nom personnalisé, sendMessage() envoie un message à l’IA et retourne la réponse complète (créant automatiquement un nouveau chat s’il n’en existe pas), et getChatList() récupère toutes vos conversations de chat existantes. Contrairement aux implémentations en streaming, cette approche attend la réponse complète de l’IA avant de l’afficher, ce qui la rend parfaite pour les cas d’usage simples où vous n’avez pas besoin de mises à jour en temps réel token par token. L’exemple utilise le modèle GPT-4o-mini et inclut la gestion des erreurs tout au long, avec journalisation en console pour vous aider à suivre le flux de la conversation—vous donnant une base directe pour créer une fonctionnalité de chatbot basique sans la complexité des callbacks de streaming.

Streaming Chat with Real-time Updates

Dans cet exemple, vous apprendrez comment créer une interface de chat en streaming qui se connecte à l’API EKB et affiche les réponses de l’IA en temps réel. Vous commencez par créer une classe StreamingChat qui initialise le ChatSDK avec vos credentials API et une référence à un élément HTML où les messages apparaîtront. Lorsque vous envoyez un message à l’aide de sendStreamingMessage(), vous configurerez des gestionnaires de callbacks qui traitent la réponse en streaming au fur et à mesure qu’elle arrive : le callback onChunk ajoute chaque morceau de texte à votre UI immédiatement (créant cet effet « saisie » caractéristique), tandis que onMessageObject vous permet de gérer du contenu riche comme les images. Vous implémenterez également la gestion des erreurs avec onError, mettrez à jour le titre de votre chat avec onChatNameUpdate, et utiliserez onComplete pour ajouter des boutons de retours pouce vers le haut/bas une fois que le message a fini de diffuser. Cet exemple vous montre comment afficher des images dynamiquement, collecter les retours des utilisateurs sur les réponses de l’IA, et configurer le chat pour utiliser GPT-4o avec l’intégration de la Base de Connaissances—vous donnant tout ce dont vous avez besoin pour créer une interface de type ChatGPT avec des réponses en streaming en temps réel et des fonctionnalités interactives.

Knowledge Base Integration

Dans cet exemple, vous découvrirez comment créer une application de chat alimentée par la Base de Connaissances qui peut répondre aux questions en fonction de documents spécifiques que vous téléchargez dans votre Base de Connaissances. La classe KnowledgeBasedChat initialise le ChatSDK avec vos credentials API à partir des variables d’environnement, puis utilise deux méthodes principales pour interagir avec vos documents : createDocumentChat() configure une nouvelle session de chat liée à des documents spécifiques en passant un tableau de documentKeys (identifiants uniques pour vos documents téléchargés), et askDocumentQuestion() envoie des questions à l’IA avec les fonctionnalités de la Base de Connaissances activées. Lorsque vous posez des questions, vous configurerez le chat pour utiliser useKnowledgebase: true et spécifier agentType: 'document_agent' pour vous assurer que l’IA récupère les informations pertinentes de vos documents, tandis que formatInstructions indique à l’IA d’inclure les citations de ses sources. La réponse inclut une propriété sources qui vous montre quels documents l’IA a référencés lors de la génération de sa réponse, ce qui la rend parfaite pour construire des systèmes Q&A de documents, des assistants de recherche, ou toute application où vous avez besoin de réponses d’IA ancrées dans du contenu spécifique plutôt que dans des connaissances générales. Cela permet une transparence totale dans la façon dont l’IA est arrivée à ses réponses.

Best Practices

Error Handling

Implémentez toujours une gestion appropriée des erreurs pour toutes les méthodes du SDK :

Streaming for Better UX

Utilisez le streaming pour les réponses plus longues afin de fournir des retours en temps réel :

Optimize API Calls

  • Réutilisez les ID de chat au lieu de créer de nouveaux chats pour chaque message
  • Utilisez la pagination pour les listes de chats
  • Implémentez la mise en cache pour les données fréquemment consultées

Configuration Management

Stockez la configuration de manière sécurisée et utilisez les variables d’environnement :

Memory Management

Nettoyez les ressources et évitez les fuites mémoire :