Transcription OpenAI Delphi Client (3 / 5)

· Features

OpenAI API를 사용하면 오디오를 텍스트로 변환(Speech to Text)하는 것이 매우 쉬워요. mp3, mp4, mpeg, mpga, m4a, wav, webm 중 하나의 형식으로 오디오 파일을 업로드하면 API가 문자열을 반환해요.

Transcription Delphi Example

OpenAI는 오디오 파일, 모델, 온도(출력의 무작위성을 조절하는 값) 등을 전달하는 요청을 만들어야 해요. 사용 가능한 매개변수 목록은 아래와 같아요.

- Filename: (필수) 변환할 오디오 파일이에요. mp3, mp4, mpeg, mpga, m4a, wav, webm 중 하나의 형식이어야 해요.
- Model: (필수) 사용할 모델의 ID예요. 현재는 whisper-1만 사용할 수 있어요.
- Prompt: 모델의 스타일을 안내하거나 이전 오디오 세그먼트를 이어가기 위한 선택적 텍스트예요. 프롬프트는 오디오 언어와 일치해야 해요.
- ResponseFormat: 변환 출력의 형식이에요. json, text, srt, verbose_json, vtt 중 선택할 수 있어요.
- Temperature: 0과 1 사이의 샘플링 온도예요. 0.8 같은 높은 값은 출력을 더 무작위로 만들고, 0.2 같은 낮은 값은 더 집중되고 결정론적으로 만들어요. 0으로 설정하면 모델이 로그 확률을 사용해 특정 임계값에 도달할 때까지 자동으로 온도를 높여요.
- Language: 입력 오디오의 언어예요. ISO-639-1 형식으로 입력 언어를 제공하면 정확도와 지연 시간이 개선돼요.


아래는 whisper-1을 사용해 오디오 파일을 변환하는 간단한 예제예요.

procedure DoFileTranscription(const aFilename: string);
var
  oRequest: TsgcOpenAIClass_Request_Transcription;
  oResponse: TsgcOpenAIClass_Response_Transcription;
begin
  oRequest := TsgcOpenAIClass_Request_Transcription.Create;
  Try
    oRequest.Filename := aFilename;
    oRequest.Model := 'whisper-1';
    oResponse := OpenAI.CreateTranscriptionFromFile(oRequest);
    Try
      DoLog(oResponse.Text);
    Finally
      oResponse.Free;
    End;
  Finally
    oRequest.Free;
  End;
end; 

아래에서 sgcWebSockets OpenAI Delphi 라이브러리를 사용한 Windows용 컴파일된 데모를 확인해 주세요.