Componente OpenAI ChatBot — sgcAI | eSeGeCe

OpenAI ChatBot

TsgcAIOpenAIChatBot raccoglie l'intero ciclo vocale in un solo componente. Registra il microfono, trascrive l'audio con Whisper, invia la trascrizione a Chat Completions, se vuoi la arricchisce con il contesto di un vector store e pronuncia la risposta.

TsgcAIOpenAIChatBot

Un front-end vocale su OpenAI Whisper e Chat Completions. Collega un registratore audio, un componente di sintesi vocale e, se vuoi risposte arricchite dal recupero di informazioni, un componente di embeddings, poi chiama Start.

Classe del componente

TsgcAIOpenAIChatBot

Scopo

Chatbot vocale, dall'inizio alla fine

Famiglia

Chat e agenti

Piattaforme

Win32 e Win64

sgcAI è autonomo. Questo componente è distribuito dentro sgcAI insieme al runtime sgcWebSockets Core su cui è costruito, quindi non c'è nessuna licenza base da acquistare.

Un assistente che parla in una sola form

Metti su una form un registratore, un componente di sintesi vocale e il chatbot, imposta la chiave API, chiama 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.");

Proprietà e metodi principali

I membri che userai più spesso.

Collegamenti tra componenti

AudioRecorder fornisce l'ingresso del microfono, TextToSpeech pronuncia la risposta e Embeddings fornisce facoltativamente il contesto recuperato da un vector store prima che il modello venga chiamato.

ChatBotOptions

Transcription.Model e Transcription.Language configurano la chiamata a Whisper. ChatCompletion.Enabled e ChatCompletion.Model configurano il modello che risponde.

OpenAIOptions

Chiave API, endpoint, impostazioni HTTP, di ripetizione e di logging per ogni chiamata che il componente esegue, inclusa la variante Azure OpenAI.

Sessione

Start avvia l'acquisizione e Stop la termina. Con il registratore in modalità automatica il componente riavvia l'acquisizione una volta terminata la riproduzione della risposta, così la conversazione prosegue a mani libere.

Turni programmatici

ChatAsUser inserisce un messaggio utente, ChatAsSystem inserisce un messaggio di sistema e può facoltativamente pronunciarlo, e GetEmbedding cerca il contesto per un prompt qualsiasi.

Eventi

OnTranscription ti permette di modificare o rifiutare quello che Whisper ha sentito prima che raggiunga il modello. OnChatCompletion riporta il ruolo e il contenuto della risposta. OnAudioStart e OnAudioStop seguono l'acquisizione.

Specifiche e riferimenti

Fonti autorevoli per i servizi e i protocolli usati da questo componente.

Continua a esplorare

Guida onlineRiferimento API completo e guida all'utilizzo dei componenti sgcAI.
Tutti i componenti sgcAIEsplora la matrice completa delle funzionalità di tutti e 15 i componenti.
Scarica la versione di prova gratuitaCostruisci un assistente che parla usando la tua chiave OpenAI.
PrezziLicenze Single, Team e Site, codice sorgente completo, nessun prodotto base richiesto.
La scelta più conveniente: All-AccessTutti i prodotti eSeGeCe, con Supporto Premium incluso, a partire da €1,059/anno.
Vedi i prezzi All-Access

Pronto per iniziare?

Scarica la versione di prova gratuita e conversa con la tua applicazione.