API | OpenAI

A OpenAI Realtime API permite interações multimodais de baixa latência, incluindo experiências conversacionais speech-to-speech e transcrição em tempo real.

 

O componente TsgcWSAPI_OpenAI implementa a RealTime API da OpenAI.

 

Configuração

Utilize a propriedade method para selecionar Conversation ou Transcription, atualmente apenas o modo Transcription é suportado.

 

A propriedade InputAudio permite que você personalize os seguintes dados:

 

 

OpenAI

 

A API da OpenAI utiliza chaves de API para autenticação. Acesse sua página de API Keys para obter a chave de API que você utilizará em suas requisições.

Lembre-se de que sua chave de API é um segredo! Não a compartilhe com outras pessoas nem a exponha em qualquer código do lado do cliente (navegadores, aplicativos). As requisições de produção devem ser roteadas por meio do seu próprio servidor de backend, onde sua chave de API pode ser carregada com segurança a partir de uma variável de ambiente ou de um serviço de gerenciamento de chaves.

 

Esta API Key deve ser configurada na propriedade OpenAIOptions.ApiKey do componente. Opcionalmente, para usuários que pertencem a múltiplas organizações, você pode definir sua Organization na propriedade OpenAIOptions.Organization se sua conta pertencer a uma organização.

 

Uma vez que a API Key esteja configurada, veja abaixo uma lista de funções disponíveis para interagir com a API da OpenAI.

 

Azure

 

O cliente suporta o Microsoft Azure OpenAI Services, portanto você pode utilizar sua conta Azure para interagir com a Azure OpenAI API também. Para configurar o cliente para trabalhar com o Azure, siga os próximos passos:

 

  1. Configure a propriedade OpenAIOptions.Provider = oapvAzure
  2. Defina os valores de ResourceName e DeploymentId (esses valores podem ser localizados na sua Conta Azure)
    1. OpenAIOptions.AzureOptions.ResourceName = <your resource name>.
    2. OpenAIOptions.AzureOptions.DeploymentId = <your deployment id>.
  3. Defina a API Key da sua Conta Azure
    1. OpenAIOptions.ApiKey = <azure api key>.

 

Exemplo de Transcrição

Encontre abaixo um exemplo de transcrição em tempo real usando a API da openAI

 


WSClient := TsgcWebSocketClient.Create(nil);
oAudio := TsgcAudioRecorderWave.Create(nil);
OpenAI := TsgcWSAPI_OpenAI.Create(nil);

OpenAI.Client := WSClient;
OpenAI.AudioRecorder := oAudio;
OpenAI.OpenAIOptions.APIKey := 'your-api-key-here';
OpenAI.OpenAIOptions.method := sgcoaimTranscription;
OpenAI.OpenAIOptions.provider := sgcoaipOpenAI;
OpenAI.InputAudio.Language := 'en';
OpenAI.InputAudio.Model := 'whisper-1';

procedure OnOpenAIAudioTranscriptionCompleted(Sender: TObject; const aItem: TsgcWSOpenAIConversation_Item_Completed);
begin
  Log('#transcription_completed: ' + aItem.Transcript);
end;