Composant ChatBot OpenAI — sgcAI | eSeGeCe

ChatBot OpenAI

TsgcAIOpenAIChatBot câble toute la boucle vocale dans un seul composant. Il enregistre le micro, transcrit l'audio avec Whisper, envoie la transcription à Chat Completions, l'enrichit au besoin avec du contexte issu d'une base vectorielle, et prononce la réponse.

TsgcAIOpenAIChatBot

Une interface vocale par-dessus OpenAI Whisper et Chat Completions. Relie un enregistreur audio, un composant de synthèse vocale et, si tu veux des réponses enrichies par recherche documentaire, un composant d'embeddings, puis appelle Start.

Classe du composant

TsgcAIOpenAIChatBot

Rôle

Chatbot vocal, de bout en bout

Famille

Chat et agents

Plateformes

Win32 et Win64

sgcAI est autonome. Ce composant est livré dans sgcAI avec le runtime sgcWebSockets Core sur lequel il repose, il n'y a donc aucune licence de base à acheter.

Un assistant qui parle, sur une seule fiche

Dépose un enregistreur, un composant de synthèse vocale et le chatbot sur une fiche, règle la clé API, appelle Start.

uses
  sgcAI, sgcAI_OpenAI_Audio_ChatBot,
  sgcAI_AudioRecorder_MCI, sgcAI_TextToSpeech_System;

var
  oBot: TsgcAIOpenAIChatBot;
begin
  oBot := TsgcAIOpenAIChatBot.Create(nil);
  oBot.OpenAIOptions.ApiKey := 'sk-...';
  oBot.AudioRecorder := sgcAudioRecorderMCI1;
  oBot.TextToSpeech  := sgcTextToSpeechSystem1;

  oBot.ChatBotOptions.Transcription.Model    := 'whisper-1';
  oBot.ChatBotOptions.Transcription.Language := 'en';
  oBot.ChatBotOptions.ChatCompletion.Model   := 'gpt-4o';

  oBot.OnTranscription  := BotTranscription;
  oBot.OnChatCompletion := BotChatCompletion;

  oBot.Start;   // Stop ends the session

  // A turn can also be pushed from code, no microphone involved.
  oBot.ChatAsUser('Summarise the last order in one line.');
end;

procedure TForm1.BotTranscription(Sender: TObject;
  var Text: string; var Accept: Boolean);
begin
  // Inspect or rewrite what Whisper heard, or drop the turn.
  Accept := Trim(Text) <> '';
end;
// includes: sgcAI.hpp, sgcAI_OpenAI_Audio_ChatBot.hpp

TsgcAIOpenAIChatBot *oBot = new TsgcAIOpenAIChatBot(NULL);
oBot->OpenAIOptions->ApiKey = "sk-...";
oBot->AudioRecorder = sgcAudioRecorderMCI1;
oBot->TextToSpeech  = sgcTextToSpeechSystem1;

oBot->ChatBotOptions->ChatCompletion->Model = "gpt-4o";
oBot->OnChatCompletion = BotChatCompletion;

oBot->Start();

// Push a turn without speaking.
oBot->ChatAsUser("Summarise the last order in one line.");

Propriétés et méthodes clés

Les membres que tu utilises le plus souvent.

Liens vers les composants

AudioRecorder fournit l'entrée micro, TextToSpeech prononce la réponse, et Embeddings fournit éventuellement le contexte récupéré dans une base vectorielle avant l'appel au modèle.

ChatBotOptions

Transcription.Model et Transcription.Language configurent l'appel à Whisper. ChatCompletion.Enabled et ChatCompletion.Model configurent le modèle qui répond.

OpenAIOptions

Clé API, endpoint, réglages HTTP, de nouvelle tentative et de journalisation pour chaque appel du composant, y compris la variante Azure OpenAI.

Session

Start lance la capture et Stop l'arrête. Avec l'enregistreur en mode automatique, le composant relance la capture une fois la réponse prononcée, la conversation continue donc en mains libres.

Tours programmés

ChatAsUser injecte un message utilisateur, ChatAsSystem injecte un message système et peut le prononcer, et GetEmbedding recherche du contexte pour un prompt quelconque.

Événements

OnTranscription te permet de corriger ou de rejeter ce que Whisper a entendu avant que cela n'atteigne le modèle. OnChatCompletion indique le rôle et le contenu de la réponse. OnAudioStart et OnAudioStop suivent la capture.

Spécifications et références

Les sources faisant autorité pour les services et protocoles utilisés par ce composant.

Pour aller plus loin

Aide en ligneRéférence complète de l'API et guide d'utilisation des composants sgcAI.
Tous les composants sgcAIParcours la matrice complète des fonctionnalités des 15 composants.
Télécharger l'essai gratuitConstruis un assistant qui parle avec ta propre clé OpenAI.
TarifsLicences Single, Team et Site, code source complet, aucun produit de base requis.
Meilleur rapport qualité-prix : All-AccessTous les produits eSeGeCe, Support Premium inclus, à partir de €1,059/an.
Voir les tarifs All-Access

Prêt à te lancer ?

Télécharge l'essai gratuit et converse avec ton application.