Componente OpenAI ChatBot — sgcAI | eSeGeCe

OpenAI ChatBot

O TsgcAIOpenAIChatBot reúne todo o ciclo de voz em um único componente. Ele grava o microfone, transcreve o áudio com o Whisper, envia a transcrição para a Chat Completions, opcionalmente enriquece a pergunta com contexto de um vector store, e fala a resposta de volta.

TsgcAIOpenAIChatBot

Uma interface de voz sobre o OpenAI Whisper e a Chat Completions. Vincule um gravador de áudio, um componente de texto para fala e, se você quiser respostas enriquecidas por recuperação, um componente de embeddings, e então chame Start.

Classe do componente

TsgcAIOpenAIChatBot

Finalidade

Chatbot de voz, de ponta a ponta

Família

Chat & agentes

Plataformas

Win32 e Win64

O sgcAI é autossuficiente. Este componente vem dentro do sgcAI junto com o runtime sgcWebSockets Core sobre o qual foi construído, então não há licença base para comprar.

Um assistente que fala em um único formulário

Solte um gravador, um componente de texto para fala e o chatbot em um formulário, defina a chave de API e chame 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.");

Principais propriedades & métodos

Os membros que você usa com mais frequência.

Vínculos entre componentes

AudioRecorder fornece a entrada do microfone, TextToSpeech fala a resposta, e Embeddings opcionalmente fornece o contexto recuperado de um vector store antes de o modelo ser chamado.

ChatBotOptions

Transcription.Model e Transcription.Language configuram a chamada ao Whisper. ChatCompletion.Enabled e ChatCompletion.Model configuram o modelo que responde.

OpenAIOptions

Chave de API, endpoint, HTTP, novas tentativas e configurações de log para cada chamada que o componente faz, incluindo a variante Azure OpenAI.

Sessão

Start inicia a captura e Stop a encerra. Com o gravador em modo automático, o componente reinicia a captura assim que a resposta termina de tocar, de modo que a conversa continua sem usar as mãos.

Turnos programáticos

ChatAsUser injeta uma mensagem de usuário, ChatAsSystem injeta uma mensagem de sistema e opcionalmente pode falá-la, e GetEmbedding busca o contexto para um prompt qualquer.

Eventos

OnTranscription permite que você edite ou rejeite o que o Whisper ouviu antes de chegar ao modelo. OnChatCompletion informa o papel e o conteúdo da resposta. OnAudioStart e OnAudioStop acompanham a captura.

Especificações & referências

Fontes oficiais dos serviços e protocolos que este componente usa.

Continue explorando

Ajuda onlineReferência completa da API e guia de uso dos componentes sgcAI.
Todos os componentes sgcAIExplore a matriz de recursos completa dos 15 componentes.
Baixar avaliação gratuitaConstrua um assistente que fala com a sua própria chave OpenAI.
PreçosLicenças Single, Team e Site, código-fonte completo, sem necessidade de produto base.
Melhor custo-benefício: All-AccessTodos os produtos da eSeGeCe, com Suporte Premium incluído, a partir de €1,059/ano.
Ver preços do All-Access

Pronto para começar?

Baixe a versão de avaliação gratuita e converse com a sua aplicação.