OpenAI ChatBot-component — sgcAI | eSeGeCe

OpenAI ChatBot

TsgcAIOpenAIChatBot brengt de hele spraaklus samen in één component. Het neemt de microfoon op, transcribeert de audio met Whisper, stuurt het transcript naar Chat Completions, vult het desgewenst aan met context uit een vector store en spreekt het antwoord uit.

TsgcAIOpenAIChatBot

Een spraakinterface bovenop OpenAI Whisper en Chat Completions. Koppel een audio-opnemer, een tekst-naar-spraak-component en, als je antwoorden met opgehaalde context wilt, een embeddings-component, en roep dan Start aan.

Componentklasse

TsgcAIOpenAIChatBot

Doel

Spraakchatbot van begin tot eind

Familie

Chat & agents

Platforms

Win32 en Win64

sgcAI is zelfstandig. Dit component zit in sgcAI, samen met de sgcWebSockets Core runtime waarop het gebouwd is, dus je hoeft geen basislicentie te kopen.

Een sprekende assistent op één formulier

Zet een opnemer, een tekst-naar-spraak-component en de chatbot op een formulier, geef de API-sleutel op en roep Start aan.

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.");

Belangrijkste eigenschappen & methoden

De leden die je het vaakst gebruikt.

Componentkoppelingen

AudioRecorder levert de microfooninvoer, TextToSpeech spreekt het antwoord uit en Embeddings levert desgewenst opgehaalde context uit een vector store voordat het model wordt aangeroepen.

ChatBotOptions

Transcription.Model en Transcription.Language configureren de Whisper-aanroep. ChatCompletion.Enabled en ChatCompletion.Model configureren het model dat antwoordt.

OpenAIOptions

API-sleutel, endpoint, HTTP-, retry- en logginginstellingen voor elke aanroep die het component doet, inclusief de Azure OpenAI-variant.

Sessie

Start begint de opname en Stop beëindigt hem. Met de opnemer in de automatische modus hervat het component de opname zodra het antwoord is uitgesproken, zodat het gesprek handsfree doorloopt.

Beurten vanuit code

ChatAsUser voegt een gebruikersbericht toe, ChatAsSystem voegt een systeembericht toe en kan dat desgewenst uitspreken, en GetEmbedding zoekt context op voor een willekeurige prompt.

Gebeurtenissen

Met OnTranscription kun je aanpassen of weigeren wat Whisper heeft gehoord voordat het het model bereikt. OnChatCompletion meldt de rol en de inhoud van het antwoord. OnAudioStart en OnAudioStop volgen de opname.

Specificaties & referenties

Gezaghebbende bronnen voor de diensten en protocollen die dit component gebruikt.

Blijf ontdekken

Online helpVolledige API-referentie en gebruiksgids voor de sgcAI-componenten.
Alle sgcAI-componentenBekijk de volledige functiematrix van alle 15 componenten.
Download de gratis proefversieBouw een sprekende assistent met je eigen OpenAI-sleutel.
PrijzenSingle-, Team- en Site-licenties, volledige broncode, geen basisproduct vereist.
De beste deal: All-AccessElk eSeGeCe-product, inclusief Premium-ondersteuning, vanaf €1,059 per jaar.
Bekijk de All-Access-prijzen

Klaar om aan de slag te gaan?

Download de gratis proefversie en voer een gesprek met je toepassing.