Skip to content

Commit fdf57ad

Browse files
authored
Merge branch 'main' into 388-chat-completition-response-format
2 parents e847d66 + 99162e0 commit fdf57ad

File tree

3 files changed

+55
-1
lines changed

3 files changed

+55
-1
lines changed

client/src/main/java/com/theokanning/openai/client/OpenAiApi.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,19 @@ public interface OpenAiApi {
233233
@POST("/v1/threads")
234234
Single<Thread> createThread(@Body ThreadRequest request);
235235

236+
@Headers({"OpenAI-Beta: assistants=v1"})
237+
@GET("/v1/threads/{thread_id}")
238+
Single<Thread> retrieveThread(@Path("thread_id") String threadId);
239+
240+
@Headers({"OpenAI-Beta: assistants=v1"})
241+
@POST("/v1/threads/{thread_id}")
242+
Single<Thread> modifyThread(@Path("thread_id") String threadId, @Body ThreadRequest request);
243+
244+
@Headers({"OpenAI-Beta: assistants=v1"})
245+
@DELETE("/v1/threads/{thread_id}")
246+
Single<DeleteResult> deleteThread(@Path("thread_id") String threadId);
247+
248+
236249
@Headers({"OpenAI-Beta: assistants=v1"})
237250
@POST("/v1/threads/{thread_id}/messages")
238251
Single<Message> createMessage(@Path("thread_id") String threadId, @Body MessageRequest request);

service/src/main/java/com/theokanning/openai/service/OpenAiService.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import com.fasterxml.jackson.databind.ObjectMapper;
77
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
88
import com.fasterxml.jackson.databind.node.TextNode;
9-
import com.sun.org.apache.xpath.internal.operations.Mod;
109
import com.theokanning.openai.*;
1110
import com.theokanning.openai.assistants.*;
1211
import com.theokanning.openai.audio.CreateSpeechRequest;
@@ -408,6 +407,18 @@ public Thread createThread(ThreadRequest request) {
408407
return execute(api.createThread(request));
409408
}
410409

410+
public Thread retrieveThread(String threadId) {
411+
return execute(api.retrieveThread(threadId));
412+
}
413+
414+
public Thread modifyThread(String threadId, ThreadRequest request) {
415+
return execute(api.modifyThread(threadId, request));
416+
}
417+
418+
public DeleteResult deleteThread(String threadId) {
419+
return execute(api.deleteThread(threadId));
420+
}
421+
411422
public Message createMessage(String threadId, MessageRequest request) {
412423
return execute(api.createMessage(threadId, request));
413424
}

service/src/test/java/com/theokanning/openai/service/ThreadTest.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.theokanning.openai.service;
22

3+
import com.theokanning.openai.DeleteResult;
34
import com.theokanning.openai.messages.MessageRequest;
45
import com.theokanning.openai.threads.Thread;
56
import com.theokanning.openai.threads.ThreadRequest;
@@ -26,6 +27,35 @@ void createThread() {
2627
.build();
2728

2829
Thread thread = service.createThread(threadRequest);
30+
System.out.println(thread.getId());
2931
assertEquals("thread", thread.getObject());
3032
}
33+
34+
@Test
35+
void retrieveThread() {
36+
String threadId = "thread_K82pTg9kmhxpplGqalW6IHlc";
37+
38+
Thread thread = service.retrieveThread(threadId);
39+
System.out.println(thread.getMetadata());
40+
assertEquals("thread", thread.getObject());
41+
}
42+
43+
@Test
44+
void modifyThread() {
45+
String threadId = "thread_K82pTg9kmhxpplGqalW6IHlc";
46+
Map<String, String> metadata = new HashMap<>();
47+
metadata.put("action", "modify");
48+
ThreadRequest threadRequest = ThreadRequest.builder()
49+
.metadata(metadata)
50+
.build();
51+
Thread thread = service.modifyThread(threadId, threadRequest);
52+
assertEquals("thread", thread.getObject());
53+
}
54+
55+
@Test
56+
void deleteThread() {
57+
String threadId = "thread_K82pTg9kmhxpplGqalW6IHlc";
58+
DeleteResult deleteResult = service.deleteThread(threadId);
59+
assertEquals("thread.deleted", deleteResult.getObject());
60+
}
3161
}

0 commit comments

Comments
 (0)