Skip to content

Commit 340a2bb

Browse files
committed
feat: Add ToolResources to assistant, run, and thread requests, and update moderation model.
1 parent 7d4cbf0 commit 340a2bb

File tree

7 files changed

+41
-7
lines changed

7 files changed

+41
-7
lines changed

openai/src/main/java/com/mardillu/openai/model/requests/ChatCompletionRequest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ data class ResponseFormat(
2929

3030
data class Tool(
3131
val type: String,
32-
val function: FunctionDefinition
32+
val function: FunctionDefinition? = null
3333
)
3434

3535
data class FunctionDefinition(

openai/src/main/java/com/mardillu/openai/model/requests/CreateAssistantRequest.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@ data class CreateAssistantRequest(
99
val instructions: String? = null,
1010
val tools: List<Tool>? = null,
1111
val file_ids: List<String>? = null,
12-
val metadata: Map<String, String>? = null
12+
val metadata: Map<String, String>? = null,
13+
val tool_resources: ToolResources? = null
1314
)

openai/src/main/java/com/mardillu/openai/model/requests/CreateRunRequest.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,6 @@ data class CreateRunRequest(
66
val instructions: String? = null,
77
val tools: List<Tool>? = null,
88
val metadata: Map<String, String>? = null,
9-
val stream: Boolean? = null
9+
val stream: Boolean? = null,
10+
val tool_resources: ToolResources? = null
1011
)

openai/src/main/java/com/mardillu/openai/model/requests/CreateThreadRequest.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@ package com.mardillu.openai.model.requests
22

33
data class CreateThreadRequest(
44
val messages: List<CreateMessageRequest>? = null,
5-
val metadata: Map<String, String>? = null
5+
val metadata: Map<String, String>? = null,
6+
val tool_resources: ToolResources? = null
67
)
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package com.mardillu.openai.model.requests
2+
3+
data class ToolResources(
4+
val code_interpreter: CodeInterpreterResources? = null,
5+
val file_search: FileSearchResources? = null
6+
)
7+
8+
data class CodeInterpreterResources(
9+
val file_ids: List<String> = emptyList()
10+
)
11+
12+
data class FileSearchResources(
13+
val vector_store_ids: List<String> = emptyList(),
14+
val vector_stores: List<VectorStore>? = null
15+
)
16+
17+
data class VectorStore(
18+
val file_ids: List<String> = emptyList(),
19+
val chunking_strategy: VectorStoreChunkingStrategy? = null,
20+
val metadata: Map<String, String>? = null
21+
)
22+
23+
data class VectorStoreChunkingStrategy(
24+
val type: String,
25+
val static: StaticChunkingStrategy? = null
26+
)
27+
28+
data class StaticChunkingStrategy(
29+
val max_chunk_size_tokens: Int,
30+
val chunk_overlap_tokens: Int
31+
)

openai/src/main/java/com/mardillu/openai/network/ApiService.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ import retrofit2.http.*
1414
*/
1515
interface ChatGptApiService {
1616
@Deprecated("Use Chat Completions instead")
17-
@POST("completions")
17+
@POST("completions")//bnm
1818
suspend fun getTextCompletion(@Body request: TextCompletionRequest): TextCompletionResponse
1919

2020
@POST("chat/completions")
2121
suspend fun getChatCompletion(@Body request: ChatCompletionRequest): ChatCompletionResponse
2222

2323
@Deprecated("Use Chat Completions instead")
24-
@POST("edits")
24+
@POST("edits")//bnm
2525
suspend fun getEditCompletion(@Body request: EditCompletionRequest): EditCompletionResponse
2626

2727
@POST("embeddings")

openai/src/main/java/com/mardillu/openai/network/OpenApiClient.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ class OpenApiClient(private val config: OpenAiConfig) {
138138
*/
139139
suspend fun getModeration(
140140
input: String,
141-
model: String = "text-moderation-latest"
141+
model: String = "omni-moderation-latest"
142142
): ModerationResponse {
143143
val requestBody = ModerationRequest(input, model)
144144
return service.getModeration(requestBody)

0 commit comments

Comments
 (0)