API | OpenAI

La API Realtime de OpenAI permite interacciones multimodales de baja latencia, incluyendo experiencias conversacionales de voz a voz y transcripción en tiempo real.

 

El componente TsgcWSAPI_OpenAI implementa la API RealTime de OpenAI.

 

Configuración

Use la propiedad method para seleccionar Conversation o Transcription; actualmente solo se admite el modo Transcription.

 

La propiedad InputAudio permite personalizar los siguientes datos:

 

 

OpenAI

 

La API de OpenAI utiliza claves API para la autenticación. Visite su página de Claves API para obtener la clave API que utilizará en sus solicitudes.

Recuerde que su clave API es secreta. No la comparta con otros ni la exponga en ningún código del lado del cliente (navegadores, aplicaciones). Las solicitudes de producción deben enrutarse a través de su propio servidor backend, donde la clave API pueda cargarse de forma segura desde una variable de entorno o un servicio de gestión de claves.

 

Esta API Key debe configurarse en la propiedad OpenAIOptions.ApiKey del componente. Opcionalmente, para los usuarios que pertenezcan a varias organizaciones, puede establecer su organización en la propiedad OpenAIOptions.Organization si su cuenta pertenece a una organización.

 

Una vez configurada la clave de API, consulte a continuación la lista de funciones disponibles para interactuar con la API de OpenAI.

 

Azure

 

El cliente es compatible con Microsoft Azure OpenAI Services, por lo que también puede utilizar su cuenta de Azure para interactuar con la API de Azure OpenAI. Para configurar el cliente para trabajar con Azure, siga los pasos a continuación:

 

  1. Configure la propiedad OpenAIOptions.Provider = oapvAzure
  2. Establezca los valores de ResourceName y DeploymentId (estos valores se pueden localizar en su cuenta de Azure)
    1. OpenAIOptions.AzureOptions.ResourceName = <su nombre de recurso>.
    2. OpenAIOptions.AzureOptions.DeploymentId = <su id de implementación>.
  3. Establezca la clave API de su cuenta de Azure
    1. OpenAIOptions.ApiKey = <azure api key>.

 

Ejemplo de transcripción

A continuación se muestra un ejemplo de transcripción en tiempo real utilizando la API de 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;