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.

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.
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ą.