From ff06ffb309c99740b2c7546614cf1dab5fa6304b Mon Sep 17 00:00:00 2001 From: Theo Kanning Date: Fri, 19 Aug 2022 10:49:22 -0500 Subject: [PATCH] Mark Answer, Completion, and Search APIs as deprecated (#25) OpenAI has officially deprecated these APIs, but I'll leave them in as long as the endpoints still work The engines api is also deprecated, but I'll get to that when I add model support. --- README.md | 8 +++--- .../openai/answer/AnswerRequest.java | 1 + .../openai/answer/AnswerResult.java | 1 + .../theokanning/openai/answer/Document.java | 1 + .../classification/ClassificationRequest.java | 1 + .../classification/ClassificationResult.java | 1 + .../openai/classification/Example.java | 1 + .../openai/search/SearchRequest.java | 1 + .../openai/search/SearchResult.java | 1 + .../com/theokanning/openai/OpenAiApi.java | 21 ++++++++------- .../com/theokanning/openai/OpenAiService.java | 27 ++++++++++--------- .../main/java/example/OpenAiApiExample.java | 12 +-------- 12 files changed, 41 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index 28cb18b..0c58d97 100644 --- a/README.md +++ b/README.md @@ -13,13 +13,15 @@ as well as an example project using the client. - [Completions](https://beta.openai.com/docs/api-reference/completions) - [Edits](https://beta.openai.com/docs/api-reference/edits) - [Embeddings](https://beta.openai.com/docs/api-reference/embeddings) -- [Searches](https://beta.openai.com/docs/api-reference/searches) -- [Classifications](https://beta.openai.com/docs/api-reference/classifications) -- [Answers](https://beta.openai.com/docs/api-reference/answers) - [Files](https://beta.openai.com/docs/api-reference/files) - [Fine-tunes](https://beta.openai.com/docs/api-reference/fine-tunes) - [Moderations](https://beta.openai.com/docs/api-reference/moderations) +#### Deprecated by OpenAI but still working as of 8/19/22 +- [Searches](https://beta.openai.com/docs/api-reference/searches) +- [Classifications](https://beta.openai.com/docs/api-reference/classifications) +- [Answers](https://beta.openai.com/docs/api-reference/answers) + ## Usage ### Importing into a gradle project diff --git a/api/src/main/java/com/theokanning/openai/answer/AnswerRequest.java b/api/src/main/java/com/theokanning/openai/answer/AnswerRequest.java index 4b4d8a2..c939a4c 100644 --- a/api/src/main/java/com/theokanning/openai/answer/AnswerRequest.java +++ b/api/src/main/java/com/theokanning/openai/answer/AnswerRequest.java @@ -13,6 +13,7 @@ import java.util.Map; * Documentation taken from * https://beta.openai.com/docs/api-reference/answers/create */ +@Deprecated @Builder @NoArgsConstructor @AllArgsConstructor diff --git a/api/src/main/java/com/theokanning/openai/answer/AnswerResult.java b/api/src/main/java/com/theokanning/openai/answer/AnswerResult.java index 4002d48..e37f6f2 100644 --- a/api/src/main/java/com/theokanning/openai/answer/AnswerResult.java +++ b/api/src/main/java/com/theokanning/openai/answer/AnswerResult.java @@ -9,6 +9,7 @@ import java.util.List; * * https://beta.openai.com/docs/api-reference/answers/create */ +@Deprecated @Data public class AnswerResult { /** diff --git a/api/src/main/java/com/theokanning/openai/answer/Document.java b/api/src/main/java/com/theokanning/openai/answer/Document.java index 56510bf..ae6c1bf 100644 --- a/api/src/main/java/com/theokanning/openai/answer/Document.java +++ b/api/src/main/java/com/theokanning/openai/answer/Document.java @@ -7,6 +7,7 @@ import lombok.Data; * * https://beta.openai.com/docs/api-reference/classifications/create */ +@Deprecated @Data public class Document { /** diff --git a/api/src/main/java/com/theokanning/openai/classification/ClassificationRequest.java b/api/src/main/java/com/theokanning/openai/classification/ClassificationRequest.java index f5c8859..7613cb4 100644 --- a/api/src/main/java/com/theokanning/openai/classification/ClassificationRequest.java +++ b/api/src/main/java/com/theokanning/openai/classification/ClassificationRequest.java @@ -12,6 +12,7 @@ import java.util.Map; * Documentation taken from * https://beta.openai.com/docs/api-reference/classifications/create */ +@Deprecated @Builder @NoArgsConstructor @AllArgsConstructor diff --git a/api/src/main/java/com/theokanning/openai/classification/ClassificationResult.java b/api/src/main/java/com/theokanning/openai/classification/ClassificationResult.java index 521eeff..64a19ce 100644 --- a/api/src/main/java/com/theokanning/openai/classification/ClassificationResult.java +++ b/api/src/main/java/com/theokanning/openai/classification/ClassificationResult.java @@ -9,6 +9,7 @@ import java.util.List; * < * https://beta.openai.com/docs/api-reference/classifications/create */ +@Deprecated @Data public class ClassificationResult { diff --git a/api/src/main/java/com/theokanning/openai/classification/Example.java b/api/src/main/java/com/theokanning/openai/classification/Example.java index 42efef9..7923777 100644 --- a/api/src/main/java/com/theokanning/openai/classification/Example.java +++ b/api/src/main/java/com/theokanning/openai/classification/Example.java @@ -7,6 +7,7 @@ import lombok.Data; * * https://beta.openai.com/docs/api-reference/classifications/create */ +@Deprecated @Data public class Example { /** diff --git a/api/src/main/java/com/theokanning/openai/search/SearchRequest.java b/api/src/main/java/com/theokanning/openai/search/SearchRequest.java index b2845e0..4d5c4b2 100644 --- a/api/src/main/java/com/theokanning/openai/search/SearchRequest.java +++ b/api/src/main/java/com/theokanning/openai/search/SearchRequest.java @@ -14,6 +14,7 @@ import java.util.List; * * https://beta.openai.com/docs/api-reference/searches */ +@Deprecated @Builder @NoArgsConstructor @AllArgsConstructor diff --git a/api/src/main/java/com/theokanning/openai/search/SearchResult.java b/api/src/main/java/com/theokanning/openai/search/SearchResult.java index a3bfa11..ee35128 100644 --- a/api/src/main/java/com/theokanning/openai/search/SearchResult.java +++ b/api/src/main/java/com/theokanning/openai/search/SearchResult.java @@ -7,6 +7,7 @@ import lombok.Data; * * https://beta.openai.com/docs/api-reference/searches */ +@Deprecated @Data public class SearchResult { /** diff --git a/client/src/main/java/com/theokanning/openai/OpenAiApi.java b/client/src/main/java/com/theokanning/openai/OpenAiApi.java index 1f84266..3c3e333 100644 --- a/client/src/main/java/com/theokanning/openai/OpenAiApi.java +++ b/client/src/main/java/com/theokanning/openai/OpenAiApi.java @@ -41,15 +41,6 @@ public interface OpenAiApi { @POST("/v1/engines/{engine_id}/embeddings") Single createEmbeddings(@Path("engine_id") String engineId, @Body EmbeddingRequest request); - @POST("/v1/engines/{engine_id}/search") - Single> search(@Path("engine_id") String engineId, @Body SearchRequest request); - - @POST("v1/classifications") - Single createClassification(@Body ClassificationRequest request); - - @POST("v1/answers") - Single createAnswer(@Body AnswerRequest request); - @GET("/v1/files") Single> listFiles(); @@ -86,4 +77,16 @@ public interface OpenAiApi { @POST("/v1/moderations") Single createModeration(@Body ModerationRequest request); + + @Deprecated + @POST("v1/answers") + Single createAnswer(@Body AnswerRequest request); + + @Deprecated + @POST("v1/classifications") + Single createClassification(@Body ClassificationRequest request); + + @Deprecated + @POST("/v1/engines/{engine_id}/search") + Single> search(@Path("engine_id") String engineId, @Body SearchRequest request); } diff --git a/client/src/main/java/com/theokanning/openai/OpenAiService.java b/client/src/main/java/com/theokanning/openai/OpenAiService.java index 837fabe..cc70d81 100644 --- a/client/src/main/java/com/theokanning/openai/OpenAiService.java +++ b/client/src/main/java/com/theokanning/openai/OpenAiService.java @@ -98,18 +98,6 @@ public class OpenAiService { return api.createEmbeddings(engineId, request).blockingGet(); } - public List search(String engineId, SearchRequest request) { - return api.search(engineId, request).blockingGet().data; - } - - public ClassificationResult createClassification(ClassificationRequest request) { - return api.createClassification(request).blockingGet(); - } - - public AnswerResult createAnswer(AnswerRequest request) { - return api.createAnswer(request).blockingGet(); - } - public List listFiles() { return api.listFiles().blockingGet().data; } @@ -162,4 +150,19 @@ public class OpenAiService { public ModerationResult createModeration(ModerationRequest request) { return api.createModeration(request).blockingGet(); } + + @Deprecated + public AnswerResult createAnswer(AnswerRequest request) { + return api.createAnswer(request).blockingGet(); + } + + @Deprecated + public ClassificationResult createClassification(ClassificationRequest request) { + return api.createClassification(request).blockingGet(); + } + + @Deprecated + public List search(String engineId, SearchRequest request) { + return api.search(engineId, request).blockingGet().data; + } } diff --git a/example/src/main/java/example/OpenAiApiExample.java b/example/src/main/java/example/OpenAiApiExample.java index 7d231eb..78e58a3 100644 --- a/example/src/main/java/example/OpenAiApiExample.java +++ b/example/src/main/java/example/OpenAiApiExample.java @@ -3,9 +3,6 @@ package example; import com.theokanning.openai.OpenAiService; import com.theokanning.openai.completion.CompletionRequest; import com.theokanning.openai.engine.Engine; -import com.theokanning.openai.search.SearchRequest; - -import java.util.Arrays; class OpenAiApiExample { public static void main(String... args) { @@ -26,12 +23,5 @@ class OpenAiApiExample { .user("testing") .build(); service.createCompletion("ada", completionRequest).getChoices().forEach(System.out::println); - - System.out.println("\nSearching documents..."); - SearchRequest searchRequest = SearchRequest.builder() - .documents(Arrays.asList("Water", "Earth", "Electricity", "Fire")) - .query("Pikachu") - .build(); - service.search("ada", searchRequest).forEach(System.out::println); } -} \ No newline at end of file +}