-
Notifications
You must be signed in to change notification settings - Fork 16
/
CompletionsApi.kt
71 lines (60 loc) · 2.2 KB
/
CompletionsApi.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/**
* Please note: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* Do not edit this file manually.
*/
@file:Suppress("ArrayInDataClass", "EnumEntryName", "RemoveRedundantQualifierName", "UnusedImport")
package com.xebia.functional.openai.apis
import com.xebia.functional.openai.infrastructure.*
import com.xebia.functional.openai.models.CreateCompletionRequest
import com.xebia.functional.openai.models.CreateCompletionResponse
import io.ktor.client.HttpClient
import io.ktor.client.HttpClientConfig
import io.ktor.client.engine.HttpClientEngine
import kotlinx.serialization.*
import kotlinx.serialization.descriptors.*
import kotlinx.serialization.encoding.*
import kotlinx.serialization.json.Json
open class CompletionsApi : ApiClient {
constructor(
baseUrl: String = ApiClient.BASE_URL,
org: String? = null,
httpClientEngine: HttpClientEngine? = null,
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
jsonSerializer: Json = ApiClient.JSON_DEFAULT
) : super(
baseUrl = baseUrl,
org = org,
httpClientEngine = httpClientEngine,
httpClientConfig = httpClientConfig,
jsonBlock = jsonSerializer
)
constructor(
baseUrl: String,
org: String?,
httpClient: HttpClient
) : super(baseUrl = baseUrl, org = org, httpClient = httpClient)
/**
* Creates a completion for the provided prompt and parameters.
*
* @param createCompletionRequest
* @return CreateCompletionResponse
*/
@Suppress("UNCHECKED_CAST")
open suspend fun createCompletion(
createCompletionRequest: CreateCompletionRequest
): HttpResponse<CreateCompletionResponse> {
val localVariableAuthNames = listOf<String>("ApiKeyAuth")
val localVariableBody = createCompletionRequest
val localVariableQuery = mutableMapOf<String, List<String>>()
val localVariableHeaders = mutableMapOf<String, String>()
val localVariableConfig =
RequestConfig<kotlin.Any?>(
RequestMethod.POST,
"/completions",
query = localVariableQuery,
headers = localVariableHeaders,
requiresAuthentication = true,
)
return jsonRequest(localVariableConfig, localVariableBody, localVariableAuthNames).wrap()
}
}