From 213db169c79e04b2218ab62390e6b1d7875aecd8 Mon Sep 17 00:00:00 2001 From: Mouaad Aallam Date: Mon, 1 Apr 2024 12:29:07 +0200 Subject: [PATCH] refactor(audio): use nullable list for words --- .../com.aallam.openai.client/internal/api/AudioApi.kt | 2 +- .../com.aallam.openai.api/audio/TranscriptionRequest.kt | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/openai-client/src/commonMain/kotlin/com.aallam.openai.client/internal/api/AudioApi.kt b/openai-client/src/commonMain/kotlin/com.aallam.openai.client/internal/api/AudioApi.kt index 81c6e3b6..85dcb734 100644 --- a/openai-client/src/commonMain/kotlin/com.aallam.openai.client/internal/api/AudioApi.kt +++ b/openai-client/src/commonMain/kotlin/com.aallam.openai.client/internal/api/AudioApi.kt @@ -62,7 +62,7 @@ internal class AudioApi(val requester: HttpRequester) : Audio { request.temperature?.let { append(key = "temperature", value = it) } request.language?.let { append(key = "language", value = it) } if (request.responseFormat == AudioResponseFormat.VerboseJson) { - for (timestampGranularity in request.timestampGranularities) { + for (timestampGranularity in request.timestampGranularities.orEmpty()) { append(key = "timestamp_granularities[]", value = timestampGranularity.value) } } diff --git a/openai-core/src/commonMain/kotlin/com.aallam.openai.api/audio/TranscriptionRequest.kt b/openai-core/src/commonMain/kotlin/com.aallam.openai.api/audio/TranscriptionRequest.kt index 1967cac1..0cc15eda 100644 --- a/openai-core/src/commonMain/kotlin/com.aallam.openai.api/audio/TranscriptionRequest.kt +++ b/openai-core/src/commonMain/kotlin/com.aallam.openai.api/audio/TranscriptionRequest.kt @@ -1,6 +1,5 @@ package com.aallam.openai.api.audio -import com.aallam.openai.api.BetaOpenAI import com.aallam.openai.api.OpenAIDsl import com.aallam.openai.api.file.FileSource import com.aallam.openai.api.model.ModelId @@ -46,11 +45,11 @@ public class TranscriptionRequest( /** * The timestamp granularities to populate for this transcription. - * responseFormat must be set verbose_json to use timestamp granularities. - * Either or both of these options are supported: word, or segment. + * [responseFormat] must be set [AudioResponseFormat.VerboseJson] to use timestamp granularities. + * Either or both of these options are supported: [TimestampGranularity.Word], or [TimestampGranularity.Segment]. * Note: There is no additional latency for segment timestamps, but generating word timestamps incurs additional latency. */ - public val timestampGranularities: List = emptyList(), + public val timestampGranularities: List? = null, ) /** @@ -104,7 +103,7 @@ public class TranscriptionRequestBuilder { * Either or both of these options are supported: word, or segment. * Note: There is no additional latency for segment timestamps, but generating word timestamps incurs additional latency. */ - public var timestampGranularities: List = emptyList() + public var timestampGranularities: List? = null /** * Builder of [TranscriptionRequest] instances.