Komponent OpenAI ChatBot — sgcAI | eSeGeCe

OpenAI ChatBot

TsgcAIOpenAIChatBot spina całą pętlę głosową w jednym komponencie. Nagrywa mikrofon, transkrybuje dźwięk przez Whisper, wysyła transkrypcję do Chat Completions, opcjonalnie wzbogaca ją kontekstem z bazy wektorowej i wypowiada odpowiedź.

TsgcAIOpenAIChatBot

Głosowy interfejs nad OpenAI Whisper i Chat Completions. Podłącz rejestrator audio, komponent zamiany tekstu na mowę, a jeśli chcesz odpowiedzi wzbogaconych wyszukiwaniem, także komponent embeddingów, i wywołaj Start.

Klasa komponentu

TsgcAIOpenAIChatBot

Przeznaczenie

Chatbot głosowy, od początku do końca

Rodzina

Czat i agenci

Platformy

Win32 i Win64

sgcAI jest samowystarczalny. Ten komponent jest dostarczany w sgcAI razem ze środowiskiem uruchomieniowym sgcWebSockets Core, na którym jest zbudowany, więc nie ma licencji bazowej do kupienia.

Mówiący asystent na jednym formularzu

Umieść na formularzu rejestrator, komponent zamiany tekstu na mowę i chatbota, ustaw klucz API, wywołaj 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.");

Kluczowe właściwości i metody

Składowe, po które sięgasz najczęściej.

Powiązania komponentów

AudioRecorder dostarcza sygnał z mikrofonu, TextToSpeech wypowiada odpowiedź, a Embeddings opcjonalnie dostarcza kontekst pobrany z bazy wektorowej przed wywołaniem modelu.

ChatBotOptions

Transcription.Model i Transcription.Language konfigurują wywołanie Whisper. ChatCompletion.Enabled oraz ChatCompletion.Model konfigurują model, który odpowiada.

OpenAIOptions

Klucz API, punkt końcowy oraz ustawienia HTTP, ponawiania i logowania zdarzeń dla każdego wywołania wykonywanego przez komponent, w tym dla wariantu Azure OpenAI.

Sesja

Start rozpoczyna nagrywanie, a Stop je kończy. Gdy rejestrator działa w trybie automatycznym, komponent wznawia nagrywanie po zakończeniu odtwarzania odpowiedzi, więc rozmowa toczy się bez użycia rąk.

Tury programowe

ChatAsUser wstrzykuje wiadomość użytkownika, ChatAsSystem wstrzykuje wiadomość systemową i może ją opcjonalnie wypowiedzieć, a GetEmbedding wyszukuje kontekst dla dowolnego promptu.

Zdarzenia

OnTranscription pozwala poprawić lub odrzucić to, co usłyszał Whisper, zanim trafi do modelu. OnChatCompletion raportuje rolę i treść odpowiedzi. OnAudioStart i OnAudioStop śledzą nagrywanie.

Specyfikacje i materiały źródłowe

Miarodajne źródła dla usług i protokołów, z których korzysta ten komponent.

Poznawaj dalej

Pomoc onlinePełna dokumentacja API i przewodnik użytkowania komponentów sgcAI.
Wszystkie komponenty sgcAIPrzejrzyj pełną matrycę funkcji wszystkich 15 komponentów.
Pobierz bezpłatną wersję próbnąZbuduj mówiącego asystenta na własnym kluczu OpenAI.
CennikLicencje Single, Team i Site, pełny kod źródłowy, bez wymaganego produktu bazowego.
Najkorzystniejsza oferta: All-AccessWszystkie produkty eSeGeCe, ze wsparciem Premium w cenie, już od €1,059 rocznie.
Zobacz cennik All-Access

Gotowy, aby zacząć?

Pobierz bezpłatną wersję próbną i porozmawiaj ze swoją aplikacją.