diff --git a/.gitignore b/.gitignore index a0721426..93ee4401 100644 --- a/.gitignore +++ b/.gitignore @@ -12,4 +12,8 @@ target/ dependency-reduced-pom.xml .flattened-pom.xml .factorypath -*.log \ No newline at end of file +*.log + +src/demo/resources/response.mp3 +.replit +replit.nix \ No newline at end of file diff --git a/.replit b/.replit deleted file mode 100644 index 0e05d93e..00000000 --- a/.replit +++ /dev/null @@ -1,62 +0,0 @@ -run = "" -entrypoint = "" -hidden = ["**/*.class"] - -[packager] -language = "java" - -[packager.features] -packageSearch = true - -[languages.java] -pattern = "**/*.java" - -[languages.java.languageServer] -start = "jdt-language-server" - -[unitTest] -language = "java" - -[nix] -channel = "stable-22_11" - -[debugger] -support = true - -[debugger.compile] -command = "javac -classpath .:/run_dir/junit-4.12.jar:target/dependency/* -g -d . $(find . -type f -name '*.java')" - -[debugger.interactive] -transport = "localhost:0" -connectTimeout = 60 -startCommand = "java-debug" - -[debugger.interactive.initializeMessage] -command = "initialize" -type = "request" - -[debugger.interactive.initializeMessage.arguments] -adapterID = "cppdbg" -clientID = "replit" -clientName = "replit.com" -columnsStartAt1 = true -linesStartAt1 = true -locale = "en-us" -pathFormat = "path" -supportsInvalidatedEvent = true -supportsProgressReporting = true -supportsRunInTerminalRequest = true -supportsVariablePaging = true -supportsVariableType = true - -[debugger.interactive.launchMessage] -command = "launch" -type = "request" - -[debugger.interactive.launchMessage.arguments] -classPaths = ["."] -mainClass = "Main" - -[deployment] -build = "javac -classpath .:target/dependency/* -d . $(find . -type f -name '*.java')" -run = "java -classpath .:target/dependency/* Main" \ No newline at end of file diff --git a/README.md b/README.md index 2b6ee6a0..b7bd3b1e 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,18 @@ Simple-OpenAI uses the [CleverClient](https://github.com/sashirestela/cleverclie ## ✅ Supported Services -Full support for all of the OpenAI services: +Full support for all of the OpenAI services, including the latest changes announced at the [DevDay](https://openai.com/blog/new-models-and-developer-products-announced-at-devday) on Nov 6th, 2023: + +* Text to speech (as part of Audio) +* Speech to text (as part of Audio) +* Text generation (as part of Chat) +* Function calling (as part of Chat) +* Image to text (as part of Chat) +* Text to image (as part of Image) +* Embeddings +* Fine tuning + +NOTE: Beta services are not included yet. ![Services](media/supported_services.png) @@ -77,6 +88,27 @@ var openai = SimpleOpenAI.builder() After you have created a SimpleOpenAI object, you are ready to call its services in order to communicate to OpenAI Api. Let's see some examples. #### Audio Service +Example to call th Audio service to transform text to audio. We are requesting to receive the audio in binary format (InputStream): +```java +var speechRequest = AudioSpeechRequest.builder() + .model("tts-1") + .input("Hello world, welcome to the AI universe!") + .voice(Voice.ALLOY) + .responseFormat(SpeechRespFmt.MP3) + .speed(1.0) + .build(); +var futureSpeech = openAI.audios().speak(speechRequest); +var speechResponse = futureSpeech.join(); +try { + var audioFile = new FileOutputStream("response.mp3"); + audioFile.write(speechResponse.readAllBytes()); + System.out.println(audioFile.getChannel().size() + " bytes"); + audioFile.close(); +} catch (Exception e) { + e.printStackTrace(); +} +``` + Example to call the Audio service to transcribe an audio to text. We are requesting to receive the transcription in plain text format (see the name of the method): ```java var audioRequest = AudioTranscribeRequest.builder() @@ -95,6 +127,7 @@ var imageRequest = ImageRequest.builder() .n(2) .size(Size.X256) .responseFormat(ImageRespFmt.URL) + .model("dall-e-2") .build(); var futureImage = openai.images().create(imageRequest); var imageResponse = futureImage.join(); @@ -104,10 +137,10 @@ imageResponse.stream().forEach(img -> System.out.println("\n" + img.getUrl())); Example to call the Chat Completion service to ask a question and wait for an answer. We are printing out it in the console: ```java var chatRequest = ChatRequest.builder() - .model("gpt-3.5-turbo-16k-0613") + .model("gpt-3.5-turbo-1106") .messages(List.of( - new ChatMessage(Role.SYSTEM, "You are an expert in AI."), - new ChatMessage(Role.USER, "Write an article about ChatGPT, no more than 100 words."))) + new ChatMsgSystem("You are an expert in AI."), + new ChatMsgUser("Write a technical article about ChatGPT, no more than 100 words."))) .temperature(0.0) .maxTokens(300) .build(); @@ -138,32 +171,26 @@ public void demoCallChatWithFunctions() { .description("Run an alarm") .functionalClass(RunAlarm.class) .build()); - var messages = new ArrayList(); - messages.add(new ChatMessage(Role.USER, "What is the product of 123 and 456?")); - var chatRequest = ChatRequest.builder() - .model("gpt-3.5-turbo-16k-0613") - .messages(messages) - .functions(functionExecutor.getFunctions()) - .functionCall("auto") - .build(); - var futureChat = openai.chatCompletions().create(chatRequest); + var messages = new ArrayList(); + messages.add(new ChatMsgUser("What is the product of 123 and 456?")); + chatRequest = ChatRequest.builder() + .model("gpt-3.5-turbo-1106") + .messages(messages) + .tools(functionExecutor.getToolFunctions()) + .build(); + var futureChat = openAI.chatCompletions().create(chatRequest); var chatResponse = futureChat.join(); var chatMessage = chatResponse.firstMessage(); - var result = functionExecutor.execute(chatMessage.getFunctionCall()); + var chatToolCall = chatMessage.getToolCalls().get(0); + var result = functionExecutor.execute(chatToolCall.getFunction()); messages.add(chatMessage); - messages.add( - ChatMessage.builder() - .role(Role.FUNCTION) - .content(result.toString()) - .name(chatMessage.getFunctionCall().getName()) - .build()); + messages.add(new ChatMsgTool(result.toString(), chatToolCall.getId())); chatRequest = ChatRequest.builder() - .model("gpt-3.5-turbo-16k-0613") - .messages(messages) - .functions(functionExecutor.getFunctions()) - .functionCall("auto") - .build(); - futureChat = openai.chatCompletions().create(chatRequest); + .model("gpt-3.5-turbo-1106") + .messages(messages) + .tools(functionExecutor.getToolFunctions()) + .build(); + futureChat = openAI.chatCompletions().create(chatRequest); chatResponse = futureChat.join(); System.out.println(chatResponse.firstContent()); } @@ -205,13 +232,6 @@ public static class RunAlarm implements Functional { } ``` - -## 🎬 Demo -Demonstration of the Chat functionality in streaming mode. The application prints the information to the console as soon as it is received from the server token by token, in response to our prompt: - -![Demo](media/demo_chat_stream.gif) - - ## ✳ Run Examples Examples for each OpenAI service have been created in the folder [demo](https://github.com/sashirestela/simple-openai/tree/main/src/demo/java/io/github/sashirestela/openai/demo) and you can follow the next steps to execute them: * Clone this respository: diff --git a/media/demo_chat_stream.gif b/media/demo_chat_stream.gif deleted file mode 100644 index 310e1ae4..00000000 Binary files a/media/demo_chat_stream.gif and /dev/null differ diff --git a/media/supported_services.png b/media/supported_services.png index ea376e43..6674c0f3 100644 Binary files a/media/supported_services.png and b/media/supported_services.png differ diff --git a/pom.xml b/pom.xml index 2d37f35b..c63aba09 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ io.github.sashirestela simple-openai - 0.5.0 + 1.0.0 jar simple-openai @@ -52,7 +52,7 @@ 11 [2.0.9,3.0.0) - 0.7.0 + 0.8.1 [1.18.30,2.0.0) [2.15.2,3.0.0) [4.31.1,5.0.0) diff --git a/replit.nix b/replit.nix deleted file mode 100644 index 4bfd4485..00000000 --- a/replit.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ pkgs }: { - deps = [ - pkgs.nvi - pkgs.gnupg - pkgs.pinentry-curses - pkgs.zip - pkgs.graalvm11-ce - pkgs.maven - pkgs.replitPackages.jdt-language-server - pkgs.replitPackages.java-debug - ]; - services.pcscd.enable = true; - programs.gnupg.agent = { - enable = true; - pinentryFlavor = "curses"; - enableSSHSupport = true; - }; -} \ No newline at end of file diff --git a/src/demo/java/io/github/sashirestela/openai/demo/AudioServiceDemo.java b/src/demo/java/io/github/sashirestela/openai/demo/AudioServiceDemo.java index 1a2d0b48..0dab14e9 100644 --- a/src/demo/java/io/github/sashirestela/openai/demo/AudioServiceDemo.java +++ b/src/demo/java/io/github/sashirestela/openai/demo/AudioServiceDemo.java @@ -1,20 +1,47 @@ package io.github.sashirestela.openai.demo; +import java.io.FileOutputStream; import java.nio.file.Paths; import io.github.sashirestela.openai.domain.audio.AudioRespFmt; +import io.github.sashirestela.openai.domain.audio.AudioSpeechRequest; import io.github.sashirestela.openai.domain.audio.AudioTranscribeRequest; import io.github.sashirestela.openai.domain.audio.AudioTranslateRequest; +import io.github.sashirestela.openai.domain.audio.SpeechRespFmt; +import io.github.sashirestela.openai.domain.audio.Voice; public class AudioServiceDemo extends AbstractDemo { + private static final String MODEL_TTS = "tts-1"; private static final String MODEL = "whisper-1"; + private String speechFileName; private String fileName; public AudioServiceDemo() { + this.speechFileName = "src/demo/resources/response.mp3"; this.fileName = "src/demo/resources/hello_audio.mp3"; } + public void demoCallAudioSpeech() { + var speechRequest = AudioSpeechRequest.builder() + .model(MODEL_TTS) + .input("Hello world, welcome to the AI universe!") + .voice(Voice.ALLOY) + .responseFormat(SpeechRespFmt.MP3) + .speed(1.0) + .build(); + var futureSpeech = openAI.audios().speak(speechRequest); + var speechResponse = futureSpeech.join(); + try { + var audioFile = new FileOutputStream(speechFileName); + audioFile.write(speechResponse.readAllBytes()); + System.out.println(audioFile.getChannel().size() + " bytes"); + audioFile.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + public void demoCallAudioTranscription() { var audioRequest = AudioTranscribeRequest.builder() .file(Paths.get(fileName)) @@ -60,6 +87,7 @@ public void demoCallAudioTranslationPlain() { public static void main(String[] args) { var demo = new AudioServiceDemo(); + demo.addTitleAction("Call Audio Speech", demo::demoCallAudioSpeech); demo.addTitleAction("Call Audio Transcription", demo::demoCallAudioTranscription); demo.addTitleAction("Call Audio Translation", demo::demoCallAudioTranslation); demo.addTitleAction("Call Audio Transcription Plain", demo::demoCallAudioTranscriptionPlain); diff --git a/src/demo/java/io/github/sashirestela/openai/demo/ChatServiceDemo.java b/src/demo/java/io/github/sashirestela/openai/demo/ChatServiceDemo.java index 1e084d3f..d25c76fe 100644 --- a/src/demo/java/io/github/sashirestela/openai/demo/ChatServiceDemo.java +++ b/src/demo/java/io/github/sashirestela/openai/demo/ChatServiceDemo.java @@ -6,11 +6,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyDescription; -import io.github.sashirestela.openai.domain.chat.ChatFunction; -import io.github.sashirestela.openai.domain.chat.ChatMessage; import io.github.sashirestela.openai.domain.chat.ChatRequest; import io.github.sashirestela.openai.domain.chat.ChatResponse; -import io.github.sashirestela.openai.domain.chat.Role; +import io.github.sashirestela.openai.domain.chat.message.ChatMsg; +import io.github.sashirestela.openai.domain.chat.message.ChatMsgSystem; +import io.github.sashirestela.openai.domain.chat.message.ChatMsgTool; +import io.github.sashirestela.openai.domain.chat.message.ChatMsgUser; +import io.github.sashirestela.openai.domain.chat.tool.ChatFunction; import io.github.sashirestela.openai.function.FunctionExecutor; import io.github.sashirestela.openai.function.Functional; @@ -20,12 +22,12 @@ public class ChatServiceDemo extends AbstractDemo { private String modelIdToUse; public ChatServiceDemo() { - modelIdToUse = "gpt-3.5-turbo-16k-0613"; + modelIdToUse = "gpt-3.5-turbo-1106"; chatRequest = ChatRequest.builder() .model(modelIdToUse) .messages(List.of( - new ChatMessage(Role.SYSTEM, "You are an expert in AI."), - new ChatMessage(Role.USER, "Write a technical article about ChatGPT, no more than 100 words."))) + new ChatMsgSystem("You are an expert in AI."), + new ChatMsgUser("Write a technical article about ChatGPT, no more than 100 words."))) .temperature(0.0) .maxTokens(300) .build(); @@ -66,30 +68,24 @@ public void demoCallChatWithFunctions() { .description("Run an alarm") .functionalClass(RunAlarm.class) .build()); - var messages = new ArrayList(); - messages.add(new ChatMessage(Role.USER, "What is the product of 123 and 456?")); + var messages = new ArrayList(); + messages.add(new ChatMsgUser("What is the product of 123 and 456?")); chatRequest = ChatRequest.builder() .model(modelIdToUse) .messages(messages) - .functions(functionExecutor.getFunctions()) - .functionCall("auto") + .tools(functionExecutor.getToolFunctions()) .build(); var futureChat = openAI.chatCompletions().create(chatRequest); var chatResponse = futureChat.join(); var chatMessage = chatResponse.firstMessage(); - var result = functionExecutor.execute(chatMessage.getFunctionCall()); + var chatToolCall = chatMessage.getToolCalls().get(0); + var result = functionExecutor.execute(chatToolCall.getFunction()); messages.add(chatMessage); - messages.add( - ChatMessage.builder() - .role(Role.FUNCTION) - .content(result.toString()) - .name(chatMessage.getFunctionCall().getName()) - .build()); + messages.add(new ChatMsgTool(result.toString(), chatToolCall.getId())); chatRequest = ChatRequest.builder() .model(modelIdToUse) .messages(messages) - .functions(functionExecutor.getFunctions()) - .functionCall("auto") + .tools(functionExecutor.getToolFunctions()) .build(); futureChat = openAI.chatCompletions().create(chatRequest); chatResponse = futureChat.join(); diff --git a/src/demo/java/io/github/sashirestela/openai/demo/CompletionServiceDemo.java b/src/demo/java/io/github/sashirestela/openai/demo/CompletionServiceDemo.java index 60856b48..93101c15 100644 --- a/src/demo/java/io/github/sashirestela/openai/demo/CompletionServiceDemo.java +++ b/src/demo/java/io/github/sashirestela/openai/demo/CompletionServiceDemo.java @@ -9,12 +9,13 @@ public class CompletionServiceDemo extends AbstractDemo { private String modelIdToUse; public CompletionServiceDemo() { - modelIdToUse = "text-davinci-003"; + modelIdToUse = "gpt-3.5-turbo-instruct"; completionRequest = CompletionRequest.builder() .model(modelIdToUse) - .prompt("Write a technical article about ChatGPT, no more than 100 words.") + .prompt("Tell me the Pythagorean theorem in no more than 50 words.") .temperature(0.0) .maxTokens(300) + .seed(1) .build(); } diff --git a/src/demo/java/io/github/sashirestela/openai/demo/EmbeddingServiceDemo.java b/src/demo/java/io/github/sashirestela/openai/demo/EmbeddingServiceDemo.java index 2c5815d5..0132d554 100644 --- a/src/demo/java/io/github/sashirestela/openai/demo/EmbeddingServiceDemo.java +++ b/src/demo/java/io/github/sashirestela/openai/demo/EmbeddingServiceDemo.java @@ -2,29 +2,45 @@ import java.util.Arrays; -import io.github.sashirestela.openai.domain.embedding.Embedding; +import io.github.sashirestela.openai.domain.embedding.EmbeddingBase64; +import io.github.sashirestela.openai.domain.embedding.EmbeddingFloat; import io.github.sashirestela.openai.domain.embedding.EmbeddingRequest; public class EmbeddingServiceDemo extends AbstractDemo { - public void demoCallEmbedding() { + public void demoCallEmbeddingFloat() { var embeddingRequest = EmbeddingRequest.builder() .model("text-embedding-ada-002") .input(Arrays.asList( - "Sample phrase", - "to test embedding.")) + "shiny sun", + "blue sky")) .build(); var futureEmbedding = openAI.embeddings().create(embeddingRequest); var embeddingResponse = futureEmbedding.join(); embeddingResponse.getData().stream() - .map(Embedding::getEmbedding) + .map(EmbeddingFloat::getEmbedding) + .forEach(System.out::println); + } + + public void demoCallEmbeddingBase64() { + var embeddingRequest = EmbeddingRequest.builder() + .model("text-embedding-ada-002") + .input(Arrays.asList( + "shiny sun", + "blue sky")) + .build(); + var futureEmbedding = openAI.embeddings().createBase64(embeddingRequest); + var embeddingResponse = futureEmbedding.join(); + embeddingResponse.getData().stream() + .map(EmbeddingBase64::getEmbedding) .forEach(System.out::println); } public static void main(String[] args) { var demo = new EmbeddingServiceDemo(); - demo.addTitleAction("Call Embedding", demo::demoCallEmbedding); + demo.addTitleAction("Call Embedding Float Format", demo::demoCallEmbeddingFloat); + demo.addTitleAction("Call Embedding Base64 Format", demo::demoCallEmbeddingBase64); demo.run(); } diff --git a/src/demo/java/io/github/sashirestela/openai/demo/FileServiceDemo.java b/src/demo/java/io/github/sashirestela/openai/demo/FileServiceDemo.java index 99295584..854799b8 100644 --- a/src/demo/java/io/github/sashirestela/openai/demo/FileServiceDemo.java +++ b/src/demo/java/io/github/sashirestela/openai/demo/FileServiceDemo.java @@ -5,6 +5,7 @@ import io.github.sashirestela.openai.domain.OpenAIDeletedResponse; import io.github.sashirestela.openai.domain.file.FileRequest; import io.github.sashirestela.openai.domain.file.FileResponse; +import io.github.sashirestela.openai.domain.file.PurposeType; public class FileServiceDemo extends AbstractDemo { @@ -13,7 +14,7 @@ public class FileServiceDemo extends AbstractDemo { public FileResponse createFileResponse() { var fileRequest = FileRequest.builder() .file(Paths.get("src/demo/resources/test_data.jsonl")) - .purpose("fine-tune") + .purpose(PurposeType.FINE_TUNE) .build(); var futureFile = openAI.files().create(fileRequest); return futureFile.join(); @@ -44,7 +45,7 @@ public void demoCallFileCreate() { } public void demoCallFileGetList() { - var futureFile = openAI.files().getList(); + var futureFile = openAI.files().getList(null); var fileResponses = futureFile.join(); fileResponses.stream() .forEach(System.out::println); diff --git a/src/demo/java/io/github/sashirestela/openai/demo/FinetuningServiceDemo.java b/src/demo/java/io/github/sashirestela/openai/demo/FinetuningServiceDemo.java index 23145969..7ec5681c 100644 --- a/src/demo/java/io/github/sashirestela/openai/demo/FinetuningServiceDemo.java +++ b/src/demo/java/io/github/sashirestela/openai/demo/FinetuningServiceDemo.java @@ -20,7 +20,7 @@ public void demoCallFineTuningCreate() { fileServiceDemo.waitUntilFileIsProcessed(fileId); var fineTuningRequest = FineTuningRequest.builder() .trainingFile(fileId) - .model("gpt-3.5-turbo-0613") + .model("gpt-3.5-turbo-1106") .build(); var futureFineTuning = openAI.fineTunings().create(fineTuningRequest); var fineTuningResponse = futureFineTuning.join(); diff --git a/src/demo/java/io/github/sashirestela/openai/demo/ImageServiceDemo.java b/src/demo/java/io/github/sashirestela/openai/demo/ImageServiceDemo.java index 7faf6f22..e32db02f 100644 --- a/src/demo/java/io/github/sashirestela/openai/demo/ImageServiceDemo.java +++ b/src/demo/java/io/github/sashirestela/openai/demo/ImageServiceDemo.java @@ -16,6 +16,7 @@ public void demoCallImageGeneration() { .n(2) .size(Size.X256) .responseFormat(ImageRespFmt.URL) + .model("dall-e-2") .build(); var futureImage = openAI.images().create(imageRequest); var imageResponse = futureImage.join(); @@ -29,6 +30,7 @@ public void demoCallImageEdits() { .n(1) .size(Size.X256) .responseFormat(ImageRespFmt.URL) + .model("dall-e-2") .build(); var futureImage = openAI.images().createEdits(imageEditsRequest); var imageResponse = futureImage.join(); @@ -41,6 +43,7 @@ public void demoCallImageVariations() { .n(1) .size(Size.X256) .responseFormat(ImageRespFmt.URL) + .model("dall-e-2") .build(); var futureImage = openAI.images().createVariations(imageVariationsRequest); var imageResponse = futureImage.join(); diff --git a/src/main/java/io/github/sashirestela/openai/OpenAI.java b/src/main/java/io/github/sashirestela/openai/OpenAI.java index 50e05799..c3b5e04a 100644 --- a/src/main/java/io/github/sashirestela/openai/OpenAI.java +++ b/src/main/java/io/github/sashirestela/openai/OpenAI.java @@ -1,5 +1,6 @@ package io.github.sashirestela.openai; +import java.io.InputStream; import java.util.EnumSet; import java.util.List; import java.util.Map; @@ -19,6 +20,7 @@ import io.github.sashirestela.openai.domain.OpenAIGeneric; import io.github.sashirestela.openai.domain.audio.AudioRespFmt; import io.github.sashirestela.openai.domain.audio.AudioResponse; +import io.github.sashirestela.openai.domain.audio.AudioSpeechRequest; import io.github.sashirestela.openai.domain.audio.AudioTranscribeRequest; import io.github.sashirestela.openai.domain.audio.AudioTranslateRequest; import io.github.sashirestela.openai.domain.chat.ChatRequest; @@ -26,7 +28,9 @@ import io.github.sashirestela.openai.domain.completion.CompletionRequest; import io.github.sashirestela.openai.domain.completion.CompletionResponse; import io.github.sashirestela.openai.domain.embedding.EmbeddingRequest; -import io.github.sashirestela.openai.domain.embedding.EmbeddingResponse; +import io.github.sashirestela.openai.domain.embedding.EncodingFormat; +import io.github.sashirestela.openai.domain.embedding.EmbeddingBase64Response; +import io.github.sashirestela.openai.domain.embedding.EmbeddingFloatResponse; import io.github.sashirestela.openai.domain.file.FileRequest; import io.github.sashirestela.openai.domain.file.FileResponse; import io.github.sashirestela.openai.domain.finetuning.FineTuningEvent; @@ -53,12 +57,21 @@ public interface OpenAI { @Accessors(fluent = true) final class Options { + @Getter private static final Map withStream = Map.of("stream", Boolean.TRUE); + @Getter private static final Map withoutStream = Map.of("stream", Boolean.FALSE); - public static Map getAudioResponseFormatOrDefault(AudioTranslateRequest audioRequest, AudioRespFmt orDefault, String methodName) { + @Getter + private static final Map withFloatFormat = Map.of("encoding_format", EncodingFormat.FLOAT); + + @Getter + private static final Map withBase64Format = Map.of("encoding_format", EncodingFormat.BASE64); + + public static Map getAudioResponseFormatOrDefault(AudioTranslateRequest audioRequest, + AudioRespFmt orDefault, String methodName) { final var jsonEnumSet = EnumSet.of(AudioRespFmt.JSON, AudioRespFmt.VERBOSE_JSON); final var textEnumSet = EnumSet.complementOf(jsonEnumSet); final var isText = textEnumSet.contains(orDefault); @@ -66,7 +79,8 @@ public static Map getAudioResponseFormatOrDefault(AudioTra var requestedFormat = audioRequest.getResponseFormat(); if (requestedFormat != null) { if (isText != textEnumSet.contains(requestedFormat)) { - throw new SimpleUncheckedException("Unexpected responseFormat for the method {0}.", methodName, null); + throw new SimpleUncheckedException("Unexpected responseFormat for the method {0}.", methodName, + null); } } else { requestedFormat = orDefault; @@ -85,6 +99,16 @@ public static Map getAudioResponseFormatOrDefault(AudioTra @Resource("/v1/audio") interface Audios { + /** + * Generates audio from the input text. + * + * @param speechRequest Includes the text to generate audio for, and audio file + * format among others. + * @return The audio file content. + */ + @POST("/speech") + CompletableFuture speak(@Body AudioSpeechRequest speechRequest); + /** * Transcribes audio into the input language. Response as object. * @@ -93,12 +117,14 @@ interface Audios { * @return Transcription as an object. */ default CompletableFuture transcribe(AudioTranscribeRequest audioRequest) { - return transcribeWithOptions(audioRequest, Options.getAudioResponseFormatOrDefault(audioRequest, AudioRespFmt.JSON, "transcribe")); + return transcribeWithOptions(audioRequest, + Options.getAudioResponseFormatOrDefault(audioRequest, AudioRespFmt.JSON, "transcribe")); } @Multipart @POST("/transcriptions") - CompletableFuture transcribeWithOptions(@Body AudioTranscribeRequest audioRequest, @BodyPart Map requestOptions); + CompletableFuture transcribeWithOptions(@Body AudioTranscribeRequest audioRequest, + @BodyPart Map requestOptions); /** * Translates audio into English. Response as object. @@ -108,12 +134,14 @@ default CompletableFuture transcribe(AudioTranscribeRequest audio * @return Translation as an object. */ default CompletableFuture translate(AudioTranslateRequest audioRequest) { - return translateWithOptions(audioRequest, Options.getAudioResponseFormatOrDefault(audioRequest, AudioRespFmt.JSON, "translate")); + return translateWithOptions(audioRequest, + Options.getAudioResponseFormatOrDefault(audioRequest, AudioRespFmt.JSON, "translate")); } @Multipart @POST("/translations") - CompletableFuture translateWithOptions(@Body AudioTranslateRequest audioRequest, @BodyPart Map requestOptions); + CompletableFuture translateWithOptions(@Body AudioTranslateRequest audioRequest, + @BodyPart Map requestOptions); /** * Transcribes audio into the input language. Response as plain text. @@ -123,12 +151,14 @@ default CompletableFuture translate(AudioTranslateRequest audioRe * @return Transcription as plain text. */ default CompletableFuture transcribePlain(AudioTranscribeRequest audioRequest) { - return transcribePlainWithOptions(audioRequest, Options.getAudioResponseFormatOrDefault(audioRequest, AudioRespFmt.TEXT, "transcribePlain")); + return transcribePlainWithOptions(audioRequest, + Options.getAudioResponseFormatOrDefault(audioRequest, AudioRespFmt.TEXT, "transcribePlain")); } @Multipart @POST("/transcriptions") - CompletableFuture transcribePlainWithOptions(@Body AudioTranscribeRequest audioRequest, @BodyPart Map requestOptions); + CompletableFuture transcribePlainWithOptions(@Body AudioTranscribeRequest audioRequest, + @BodyPart Map requestOptions); /** * Translates audio into English. Response as plain text. @@ -138,12 +168,14 @@ default CompletableFuture transcribePlain(AudioTranscribeRequest audioRe * @return Translation as plain text. */ default CompletableFuture translatePlain(AudioTranslateRequest audioRequest) { - return translatePlainWithOptions(audioRequest, Options.getAudioResponseFormatOrDefault(audioRequest, AudioRespFmt.TEXT, "translatePlain")); + return translatePlainWithOptions(audioRequest, + Options.getAudioResponseFormatOrDefault(audioRequest, AudioRespFmt.TEXT, "translatePlain")); } @Multipart @POST("/translations") - CompletableFuture translatePlainWithOptions(@Body AudioTranslateRequest audioRequest, @BodyPart Map requestOptions); + CompletableFuture translatePlainWithOptions(@Body AudioTranslateRequest audioRequest, + @BodyPart Map requestOptions); } @@ -169,7 +201,8 @@ default CompletableFuture create(@Body ChatRequest chatRequest) { } @POST - CompletableFuture createWithOptions(@Body ChatRequest chatRequest, @BodyPart Map requestOptions); + CompletableFuture createWithOptions(@Body ChatRequest chatRequest, + @BodyPart Map requestOptions); /** * Creates a model response for the given chat conversation. Streaming Mode. @@ -183,7 +216,8 @@ default CompletableFuture> createStream(@Body ChatRequest c } @POST - CompletableFuture> createStreamWithOptions(@Body ChatRequest chatRequest, @BodyPart Map requestOptions); + CompletableFuture> createStreamWithOptions(@Body ChatRequest chatRequest, + @BodyPart Map requestOptions); } @@ -211,7 +245,8 @@ default CompletableFuture create(@Body CompletionRequest com } @POST - CompletableFuture createWithOptions(@Body CompletionRequest completionRequest, @BodyPart Map requestOptions); + CompletableFuture createWithOptions(@Body CompletionRequest completionRequest, + @BodyPart Map requestOptions); /** * Creates a completion for the provided prompt and parameters. Streaming mode. @@ -226,7 +261,8 @@ default CompletableFuture> createStream(@Body Complet } @POST - CompletableFuture> createStreamWithOptions(@Body CompletionRequest completionRequest, @BodyPart Map requestOptions); + CompletableFuture> createStreamWithOptions(@Body CompletionRequest completionRequest, + @BodyPart Map requestOptions); } @@ -245,10 +281,29 @@ interface Embeddings { * Creates an embedding vector representing the input text. * * @param embeddingRequest The input text to embed and the model to use. - * @return Represents an embedding vector. + * @return Represents an embedding vector in array of float format. */ + default CompletableFuture create(@Body EmbeddingRequest embeddingRequest) { + return createWithOptions(embeddingRequest, Options.withFloatFormat()); + } + @POST - CompletableFuture create(@Body EmbeddingRequest embeddingRequest); + CompletableFuture createWithOptions(@Body EmbeddingRequest embeddingRequest, + @BodyPart Map requestOptions); + + /** + * Creates an embedding vector representing the input text. + * + * @param embeddingRequest The input text to embed and the model to use. + * @return Represents an embedding vector in base64 format. + */ + default CompletableFuture createBase64(@Body EmbeddingRequest embeddingRequest) { + return createBase64WithOptions(embeddingRequest, Options.withBase64Format()); + } + + @POST + CompletableFuture createBase64WithOptions(@Body EmbeddingRequest embeddingRequest, + @BodyPart Map requestOptions); } @@ -277,14 +332,17 @@ interface Files { /** * Returns a list of files that belong to the user's organization. * + * @param purpose Only return files with the given purpose. * @return List of files. */ - default CompletableFuture> getList() { - return getListWithOptions(Map.of()).thenApply(OpenAIGeneric::getData); + default CompletableFuture> getList(String purpose) { + return getListWithOptions(purpose, Map.of()).thenApply(OpenAIGeneric::getData); } @GET - CompletableFuture> getListWithOptions(@BodyPart Map requestOptions); + CompletableFuture> getListWithOptions( + @Query("purpose") String purpose, + @BodyPart Map requestOptions); /** * Returns information about a specific file. @@ -416,7 +474,8 @@ default CompletableFuture> create(ImageRequest imageRequest) } @POST("/generations") - CompletableFuture> createWithOptions(@Body ImageRequest imageRequest, @BodyPart Map requestOptions); + CompletableFuture> createWithOptions(@Body ImageRequest imageRequest, + @BodyPart Map requestOptions); /** * Creates an edited or extended image given an original image and a prompt. @@ -431,7 +490,8 @@ default CompletableFuture> createEdits(ImageEditsRequest ima @Multipart @POST("/edits") - CompletableFuture> createEditsWithOptions(@Body ImageEditsRequest imageRequest, @BodyPart Map requestOptions); + CompletableFuture> createEditsWithOptions(@Body ImageEditsRequest imageRequest, + @BodyPart Map requestOptions); /** * Creates a variation of a given image. diff --git a/src/main/java/io/github/sashirestela/openai/domain/audio/AudioSpeechRequest.java b/src/main/java/io/github/sashirestela/openai/domain/audio/AudioSpeechRequest.java new file mode 100644 index 00000000..7a3078e2 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/audio/AudioSpeechRequest.java @@ -0,0 +1,30 @@ +package io.github.sashirestela.openai.domain.audio; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; + +import lombok.Builder; +import lombok.Getter; +import lombok.NonNull; + +@Getter +@Builder +public class AudioSpeechRequest { + + @NonNull + private String model; + + @NonNull + private String input; + + @NonNull + private Voice voice; + + @JsonInclude(Include.NON_NULL) + @JsonProperty("response_format") + private SpeechRespFmt responseFormat; + + @JsonInclude(Include.NON_NULL) + private Double speed; +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/audio/SpeechRespFmt.java b/src/main/java/io/github/sashirestela/openai/domain/audio/SpeechRespFmt.java new file mode 100644 index 00000000..1f1ea040 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/audio/SpeechRespFmt.java @@ -0,0 +1,19 @@ +package io.github.sashirestela.openai.domain.audio; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public enum SpeechRespFmt { + + @JsonProperty("mp3") + MP3, + + @JsonProperty("opus") + OPUS, + + @JsonProperty("aac") + AAC, + + @JsonProperty("flac") + FLAC; + +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/audio/Voice.java b/src/main/java/io/github/sashirestela/openai/domain/audio/Voice.java new file mode 100644 index 00000000..7bb03143 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/audio/Voice.java @@ -0,0 +1,25 @@ +package io.github.sashirestela.openai.domain.audio; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public enum Voice { + + @JsonProperty("alloy") + ALLOY, + + @JsonProperty("echo") + ECHO, + + @JsonProperty("fable") + FABLE, + + @JsonProperty("onyx") + ONYX, + + @JsonProperty("nova") + NOVA, + + @JsonProperty("shimmer") + SHIMMER; + +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/ChatMessage.java b/src/main/java/io/github/sashirestela/openai/domain/chat/ChatMessage.java deleted file mode 100644 index 017eeeeb..00000000 --- a/src/main/java/io/github/sashirestela/openai/domain/chat/ChatMessage.java +++ /dev/null @@ -1,60 +0,0 @@ -package io.github.sashirestela.openai.domain.chat; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; - -import io.github.sashirestela.openai.SimpleUncheckedException; - -import com.fasterxml.jackson.annotation.JsonProperty; - -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.NonNull; -import lombok.ToString; - -@NoArgsConstructor -@Getter -@ToString -public class ChatMessage { - - @NonNull - private Role role; - - private String content; - - @JsonInclude(Include.NON_NULL) - private String name; - - @JsonInclude(Include.NON_NULL) - @JsonProperty("function_call") - private ChatFunctionCall functionCall; - - public ChatMessage(Role role, String content) { - this.role = role; - this.content = content; - validate(); - } - - @Builder - public ChatMessage(@NonNull Role role, String content, String name, ChatFunctionCall functionCall) { - this.role = role; - this.content = content; - this.name = name; - this.functionCall = functionCall; - validate(); - } - - private void validate() { - if (role != Role.ASSISTANT && content == null) { - throw new SimpleUncheckedException( - "The content is required for ChatMessage when role is other than assistant.", - null, null); - } - if (role == Role.FUNCTION && name == null) { - throw new SimpleUncheckedException("The name is required for ChatMessage when role is function.", - null, null); - } - } - -} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/ChatRequest.java b/src/main/java/io/github/sashirestela/openai/domain/chat/ChatRequest.java index e32f3a79..d44ce8de 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/chat/ChatRequest.java +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/ChatRequest.java @@ -5,30 +5,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; + +import io.github.sashirestela.openai.SimpleUncheckedException; +import io.github.sashirestela.openai.domain.chat.message.ChatMsg; +import io.github.sashirestela.openai.domain.chat.tool.ChatTool; +import io.github.sashirestela.openai.domain.chat.tool.ChatToolChoice; +import io.github.sashirestela.openai.domain.chat.tool.ChatToolChoiceType; + import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; import lombok.NonNull; -@AllArgsConstructor @Getter -@Builder public class ChatRequest { - @NonNull private String model; - @NonNull - private List messages; + private List messages; + + @JsonInclude(Include.NON_NULL) + @JsonProperty("response_format") + private ChatRespFmt responseFormat; + + @JsonInclude(Include.NON_NULL) + private Integer seed; @JsonInclude(Include.NON_NULL) - private List functions; + private List tools; @JsonInclude(Include.NON_NULL) - @JsonProperty("function_call") - private String functionCall; + @JsonProperty("tool_choice") + private Object toolChoice; @JsonInclude(Include.NON_NULL) private Double temperature; @@ -44,7 +53,7 @@ public class ChatRequest { private Boolean stream; @JsonInclude(Include.NON_NULL) - private List stop; + private Object stop; @JsonInclude(Include.NON_NULL) @JsonProperty("max_tokens") @@ -65,4 +74,39 @@ public class ChatRequest { @JsonInclude(Include.NON_NULL) private String user; + @Builder + public ChatRequest(@NonNull String model, @NonNull List messages, ChatRespFmt responseFormat, + Integer seed, List tools, Object toolChoice, Double temperature, Double topP, Integer n, + Boolean stream, Object stop, Integer maxTokens, Double presencePenalty, Double frequencyPenalty, + Map logitBias, String user) { + if (toolChoice != null && + !(toolChoice instanceof ChatToolChoiceType) + && !(toolChoice instanceof ChatToolChoice)) { + throw new SimpleUncheckedException( + "The field toolChoice must be ChatToolChoiceType or ChatToolChoice classes.", + null, null); + } + if (stop != null && !(stop instanceof String) && !(stop instanceof List + && ((List) stop).get(0) instanceof String && ((List) stop).size() <= 4)) { + throw new SimpleUncheckedException( + "The field stop must be String or List (max 4 items) classes.", + null, null); + } + this.model = model; + this.messages = messages; + this.responseFormat = responseFormat; + this.seed = seed; + this.tools = tools; + this.toolChoice = toolChoice; + this.temperature = temperature; + this.topP = topP; + this.n = n; + this.stream = stream; + this.stop = stop; + this.maxTokens = maxTokens; + this.presencePenalty = presencePenalty; + this.frequencyPenalty = frequencyPenalty; + this.logitBias = logitBias; + this.user = user; + } } \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/ChatRespFmt.java b/src/main/java/io/github/sashirestela/openai/domain/chat/ChatRespFmt.java new file mode 100644 index 00000000..e71b7dfe --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/ChatRespFmt.java @@ -0,0 +1,12 @@ +package io.github.sashirestela.openai.domain.chat; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter +public class ChatRespFmt { + + private ChatRespFmtType type; + +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/ChatRespFmtType.java b/src/main/java/io/github/sashirestela/openai/domain/chat/ChatRespFmtType.java new file mode 100644 index 00000000..8b81cd96 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/ChatRespFmtType.java @@ -0,0 +1,13 @@ +package io.github.sashirestela.openai.domain.chat; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public enum ChatRespFmtType { + + @JsonProperty("text") + TEXT, + + @JsonProperty("json_object") + JSON; + +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/ChatResponse.java b/src/main/java/io/github/sashirestela/openai/domain/chat/ChatResponse.java index 865351b4..3c2b1a0c 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/chat/ChatResponse.java +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/ChatResponse.java @@ -2,7 +2,10 @@ import java.util.List; +import com.fasterxml.jackson.annotation.JsonProperty; + import io.github.sashirestela.openai.domain.OpenAIUsage; +import io.github.sashirestela.openai.domain.chat.message.ChatMsgResponse; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.ToString; @@ -20,16 +23,18 @@ public class ChatResponse { private String model; + @JsonProperty("system_fingerprint") + private String systemFingerprint; + private List choices; private OpenAIUsage usage; - public ChatMessage firstMessage() { + public ChatMsgResponse firstMessage() { return getChoices().get(0).getMessage(); } public String firstContent() { return firstMessage().getContent(); } - } \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/Choice.java b/src/main/java/io/github/sashirestela/openai/domain/chat/Choice.java index 28d20075..1c95e579 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/chat/Choice.java +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/Choice.java @@ -3,6 +3,7 @@ import com.fasterxml.jackson.annotation.JsonAlias; import com.fasterxml.jackson.annotation.JsonProperty; +import io.github.sashirestela.openai.domain.chat.message.ChatMsgResponse; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.ToString; @@ -15,7 +16,7 @@ public class Choice { private Integer index; @JsonAlias({ "delta" }) - private ChatMessage message; + private ChatMsgResponse message; @JsonProperty("finish_reason") private String finishReason; diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/Role.java b/src/main/java/io/github/sashirestela/openai/domain/chat/Role.java index 55941bbe..30e64328 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/chat/Role.java +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/Role.java @@ -13,7 +13,7 @@ public enum Role { @JsonProperty("assistant") ASSISTANT, - @JsonProperty("function") - FUNCTION; + @JsonProperty("tool") + TOOL; } \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/content/ContentPart.java b/src/main/java/io/github/sashirestela/openai/domain/chat/content/ContentPart.java new file mode 100644 index 00000000..9fea518a --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/content/ContentPart.java @@ -0,0 +1,10 @@ +package io.github.sashirestela.openai.domain.chat.content; + +public abstract class ContentPart { + + protected ContentPartType type; + + public ContentPartType getType() { + return type; + } +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/content/ContentPartImage.java b/src/main/java/io/github/sashirestela/openai/domain/chat/content/ContentPartImage.java new file mode 100644 index 00000000..f32826e5 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/content/ContentPartImage.java @@ -0,0 +1,15 @@ +package io.github.sashirestela.openai.domain.chat.content; + +import lombok.Getter; +import lombok.NonNull; + +@Getter +public class ContentPartImage extends ContentPart { + + private ImageUrl imageUrl; + + public ContentPartImage(@NonNull ImageUrl imageUrl) { + this.type = ContentPartType.IMAGE_URL; + this.imageUrl = imageUrl; + } +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/content/ContentPartText.java b/src/main/java/io/github/sashirestela/openai/domain/chat/content/ContentPartText.java new file mode 100644 index 00000000..37e0ce26 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/content/ContentPartText.java @@ -0,0 +1,15 @@ +package io.github.sashirestela.openai.domain.chat.content; + +import lombok.Getter; +import lombok.NonNull; + +@Getter +public class ContentPartText extends ContentPart { + + private String text; + + public ContentPartText(@NonNull String text) { + this.type = ContentPartType.TEXT; + this.text = text; + } +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/content/ContentPartType.java b/src/main/java/io/github/sashirestela/openai/domain/chat/content/ContentPartType.java new file mode 100644 index 00000000..3cd1d566 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/content/ContentPartType.java @@ -0,0 +1,13 @@ +package io.github.sashirestela.openai.domain.chat.content; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public enum ContentPartType { + + @JsonProperty("text") + TEXT, + + @JsonProperty("image_url") + IMAGE_URL; + +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/content/ImageDetail.java b/src/main/java/io/github/sashirestela/openai/domain/chat/content/ImageDetail.java new file mode 100644 index 00000000..96508cb9 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/content/ImageDetail.java @@ -0,0 +1,16 @@ +package io.github.sashirestela.openai.domain.chat.content; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public enum ImageDetail { + + @JsonProperty("auto") + AUTO, + + @JsonProperty("low") + LOW, + + @JsonProperty("high") + HIGH; + +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/content/ImageUrl.java b/src/main/java/io/github/sashirestela/openai/domain/chat/content/ImageUrl.java new file mode 100644 index 00000000..7b770656 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/content/ImageUrl.java @@ -0,0 +1,25 @@ +package io.github.sashirestela.openai.domain.chat.content; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + +import lombok.Getter; +import lombok.NonNull; + +@Getter +public class ImageUrl { + + private String url; + + @JsonInclude(Include.NON_NULL) + private ImageDetail detail; + + public ImageUrl(@NonNull String url, ImageDetail detail) { + this.url = url; + this.detail = detail; + } + + public ImageUrl(String url) { + this(url, null); + } +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/message/ChatMsg.java b/src/main/java/io/github/sashirestela/openai/domain/chat/message/ChatMsg.java new file mode 100644 index 00000000..13387ad0 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/message/ChatMsg.java @@ -0,0 +1,12 @@ +package io.github.sashirestela.openai.domain.chat.message; + +import io.github.sashirestela.openai.domain.chat.Role; + +public abstract class ChatMsg { + + protected Role role; + + public Role getRole() { + return role; + } +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/message/ChatMsgAssistant.java b/src/main/java/io/github/sashirestela/openai/domain/chat/message/ChatMsgAssistant.java new file mode 100644 index 00000000..867c151e --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/message/ChatMsgAssistant.java @@ -0,0 +1,44 @@ +package io.github.sashirestela.openai.domain.chat.message; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; + +import io.github.sashirestela.openai.domain.chat.Role; +import io.github.sashirestela.openai.domain.chat.tool.ChatToolCall; +import lombok.Getter; + +@Getter +public class ChatMsgAssistant extends ChatMsg { + + @JsonInclude() + private String content; + + @JsonInclude(Include.NON_NULL) + private String name; + + @JsonInclude(Include.NON_NULL) + @JsonProperty("tool_calls") + private List toolCalls; + + public ChatMsgAssistant(String content, String name, List toolCalls) { + this.role = Role.ASSISTANT; + this.content = content; + this.name = name; + this.toolCalls = toolCalls; + } + + public ChatMsgAssistant(String content, List toolCalls) { + this(content, null, toolCalls); + } + + public ChatMsgAssistant(String content, String name) { + this(content, name, null); + } + + public ChatMsgAssistant(String content) { + this(content, null, null); + } +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/message/ChatMsgResponse.java b/src/main/java/io/github/sashirestela/openai/domain/chat/message/ChatMsgResponse.java new file mode 100644 index 00000000..7a031d37 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/message/ChatMsgResponse.java @@ -0,0 +1,19 @@ +package io.github.sashirestela.openai.domain.chat.message; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import io.github.sashirestela.openai.domain.chat.tool.ChatToolCall; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@NoArgsConstructor +@Getter +public class ChatMsgResponse extends ChatMsg { + + private String content; + + @JsonProperty("tool_calls") + private List toolCalls; +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/message/ChatMsgSystem.java b/src/main/java/io/github/sashirestela/openai/domain/chat/message/ChatMsgSystem.java new file mode 100644 index 00000000..6c7fedc0 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/message/ChatMsgSystem.java @@ -0,0 +1,27 @@ +package io.github.sashirestela.openai.domain.chat.message; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + +import io.github.sashirestela.openai.domain.chat.Role; +import lombok.Getter; + +@Getter +public class ChatMsgSystem extends ChatMsg { + + @JsonInclude() + private String content; + + @JsonInclude(Include.NON_NULL) + private String name; + + public ChatMsgSystem(String content, String name) { + this.role = Role.SYSTEM; + this.content = content; + this.name = name; + } + + public ChatMsgSystem(String content) { + this(content, null); + } +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/message/ChatMsgTool.java b/src/main/java/io/github/sashirestela/openai/domain/chat/message/ChatMsgTool.java new file mode 100644 index 00000000..4867be06 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/message/ChatMsgTool.java @@ -0,0 +1,25 @@ +package io.github.sashirestela.openai.domain.chat.message; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; + +import io.github.sashirestela.openai.domain.chat.Role; +import lombok.Getter; +import lombok.NonNull; + +@Getter +public class ChatMsgTool extends ChatMsg { + + @JsonInclude() + private String content; + + @NonNull + @JsonProperty("tool_call_id") + private String toolCallId; + + public ChatMsgTool(String content, String toolCallId) { + this.role = Role.TOOL; + this.content = content; + this.toolCallId = toolCallId; + } +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/message/ChatMsgUser.java b/src/main/java/io/github/sashirestela/openai/domain/chat/message/ChatMsgUser.java new file mode 100644 index 00000000..ca2aab3c --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/message/ChatMsgUser.java @@ -0,0 +1,36 @@ +package io.github.sashirestela.openai.domain.chat.message; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + +import io.github.sashirestela.openai.SimpleUncheckedException; +import io.github.sashirestela.openai.domain.chat.Role; +import io.github.sashirestela.openai.domain.chat.content.ContentPart; +import lombok.Getter; +import lombok.NonNull; + +@Getter +public class ChatMsgUser extends ChatMsg { + + private Object content; + + @JsonInclude(Include.NON_NULL) + private String name; + + public ChatMsgUser(@NonNull Object content, String name) { + if (!(content instanceof String) && + !(content instanceof List && ((List) content).get(0) instanceof ContentPart)) { + throw new SimpleUncheckedException("The field content must be String or List classes.", + null, null); + } + this.role = Role.USER; + this.content = content; + this.name = name; + } + + public ChatMsgUser(@NonNull Object content) { + this(content, null); + } +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/ChatFunction.java b/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatFunction.java similarity index 92% rename from src/main/java/io/github/sashirestela/openai/domain/chat/ChatFunction.java rename to src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatFunction.java index 2376a578..09c433bd 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/chat/ChatFunction.java +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatFunction.java @@ -1,4 +1,4 @@ -package io.github.sashirestela.openai.domain.chat; +package io.github.sashirestela.openai.domain.chat.tool; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/ChatFunctionCall.java b/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatFunctionCall.java similarity index 72% rename from src/main/java/io/github/sashirestela/openai/domain/chat/ChatFunctionCall.java rename to src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatFunctionCall.java index 3ac08b0d..edf06244 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/chat/ChatFunctionCall.java +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatFunctionCall.java @@ -1,14 +1,12 @@ -package io.github.sashirestela.openai.domain.chat; +package io.github.sashirestela.openai.domain.chat.tool; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; -import lombok.ToString; @NoArgsConstructor @AllArgsConstructor @Getter -@ToString public class ChatFunctionCall { private String name; diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatFunctionName.java b/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatFunctionName.java new file mode 100644 index 00000000..5bb806f0 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatFunctionName.java @@ -0,0 +1,14 @@ +package io.github.sashirestela.openai.domain.chat.tool; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NonNull; + +@AllArgsConstructor +@Getter +public class ChatFunctionName { + + @NonNull + private String name; + +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatTool.java b/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatTool.java new file mode 100644 index 00000000..392c514e --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatTool.java @@ -0,0 +1,17 @@ +package io.github.sashirestela.openai.domain.chat.tool; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NonNull; + +@AllArgsConstructor +@Getter +public class ChatTool { + + @NonNull + private ChatToolType type; + + @NonNull + private ChatFunction function; + +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatToolCall.java b/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatToolCall.java new file mode 100644 index 00000000..10ab6e25 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatToolCall.java @@ -0,0 +1,22 @@ +package io.github.sashirestela.openai.domain.chat.tool; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.NonNull; + +@NoArgsConstructor +@AllArgsConstructor +@Getter +public class ChatToolCall { + + @NonNull + private String id; + + @NonNull + private ChatToolType type; + + @NonNull + private ChatFunctionCall function; + +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatToolChoice.java b/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatToolChoice.java new file mode 100644 index 00000000..126872f8 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatToolChoice.java @@ -0,0 +1,17 @@ +package io.github.sashirestela.openai.domain.chat.tool; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NonNull; + +@AllArgsConstructor +@Getter +public class ChatToolChoice { + + @NonNull + private ChatToolType type; + + @NonNull + private ChatFunctionName function; + +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatToolChoiceType.java b/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatToolChoiceType.java new file mode 100644 index 00000000..2028ab28 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatToolChoiceType.java @@ -0,0 +1,13 @@ +package io.github.sashirestela.openai.domain.chat.tool; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public enum ChatToolChoiceType { + + @JsonProperty("none") + NONE, + + @JsonProperty("auto") + AUTO; + +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatToolType.java b/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatToolType.java new file mode 100644 index 00000000..9d8cfd09 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/chat/tool/ChatToolType.java @@ -0,0 +1,10 @@ +package io.github.sashirestela.openai.domain.chat.tool; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public enum ChatToolType { + + @JsonProperty("function") + FUNCTION; + +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/completion/Choice.java b/src/main/java/io/github/sashirestela/openai/domain/completion/Choice.java index 29bf2925..ba992065 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/completion/Choice.java +++ b/src/main/java/io/github/sashirestela/openai/domain/completion/Choice.java @@ -15,7 +15,7 @@ public class Choice { private Integer index; - private Integer logprobs; + private LogProbs logprobs; @JsonProperty("finish_reason") private String finishReason; diff --git a/src/main/java/io/github/sashirestela/openai/domain/completion/CompletionRequest.java b/src/main/java/io/github/sashirestela/openai/domain/completion/CompletionRequest.java index e41f1eba..5e9a641c 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/completion/CompletionRequest.java +++ b/src/main/java/io/github/sashirestela/openai/domain/completion/CompletionRequest.java @@ -7,19 +7,19 @@ import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonProperty; +import io.github.sashirestela.openai.SimpleUncheckedException; import lombok.Builder; import lombok.Getter; import lombok.NonNull; @Getter -@Builder public class CompletionRequest { @NonNull private String model; @NonNull - private String prompt; + private Object prompt; @JsonInclude(Include.NON_NULL) private String suffix; @@ -48,7 +48,10 @@ public class CompletionRequest { private Boolean echo; @JsonInclude(Include.NON_NULL) - private List stop; + private Object stop; + + @JsonInclude(Include.NON_NULL) + private Integer seed; @JsonInclude(Include.NON_NULL) @JsonProperty("presence_penalty") @@ -69,4 +72,41 @@ public class CompletionRequest { @JsonInclude(Include.NON_NULL) private String user; + @Builder + public CompletionRequest(@NonNull String model, @NonNull Object prompt, String suffix, Integer maxTokens, + Double temperature, Double topP, Integer n, Boolean stream, Integer logprobs, Boolean echo, Object stop, + Integer seed, Double presencePenalty, Double frequencyPenalty, Integer bestOf, + Map logitBias, String user) { + if (!(prompt instanceof String) && !(prompt instanceof List + && (((List) prompt).get(0) instanceof String || ((List) prompt).get(0) instanceof Integer + || (((List) prompt).get(0) instanceof List + && (((List) ((List) prompt).get(0)).get(0) instanceof Integer))))) { + throw new SimpleUncheckedException( + "The field prompt must be String or List or List or List> classes.", + null, null); + } + if (stop != null && !(stop instanceof String) && !(stop instanceof List + && ((List) stop).get(0) instanceof String && ((List) stop).size() <= 4)) { + throw new SimpleUncheckedException( + "The field stop must be String or List (max 4 items) classes.", + null, null); + } + this.model = model; + this.prompt = prompt; + this.suffix = suffix; + this.maxTokens = maxTokens; + this.temperature = temperature; + this.topP = topP; + this.n = n; + this.stream = stream; + this.logprobs = logprobs; + this.echo = echo; + this.stop = stop; + this.seed = seed; + this.presencePenalty = presencePenalty; + this.frequencyPenalty = frequencyPenalty; + this.bestOf = bestOf; + this.logitBias = logitBias; + this.user = user; + } } \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/completion/CompletionResponse.java b/src/main/java/io/github/sashirestela/openai/domain/completion/CompletionResponse.java index 80a222ae..56ea623e 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/completion/CompletionResponse.java +++ b/src/main/java/io/github/sashirestela/openai/domain/completion/CompletionResponse.java @@ -3,6 +3,7 @@ import java.util.List; import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; import io.github.sashirestela.openai.domain.OpenAIUsage; import lombok.Getter; @@ -29,8 +30,10 @@ public class CompletionResponse { private OpenAIUsage usage; + @JsonProperty("system_fingerprint") + private String systemFingerprint; + public String firstText() { return getChoices().get(0).getText(); } - } \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/completion/LogProbs.java b/src/main/java/io/github/sashirestela/openai/domain/completion/LogProbs.java new file mode 100644 index 00000000..6b296d4b --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/completion/LogProbs.java @@ -0,0 +1,27 @@ +package io.github.sashirestela.openai.domain.completion; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.ToString; + +@NoArgsConstructor +@Getter +@ToString +public class LogProbs { + + @JsonProperty("text_offset") + private List textOffset; + + @JsonProperty("token_logprobs") + private List tokenLogprobs; + + private List tokens; + + @JsonProperty("top_logprobs") + private List> topLogprobs; + +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/embedding/EmbeddingBase64.java b/src/main/java/io/github/sashirestela/openai/domain/embedding/EmbeddingBase64.java new file mode 100644 index 00000000..e4bd48c0 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/embedding/EmbeddingBase64.java @@ -0,0 +1,18 @@ +package io.github.sashirestela.openai.domain.embedding; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.ToString; + +@NoArgsConstructor +@Getter +@ToString +public class EmbeddingBase64 { + + private Integer index; + + private String object; + + private String embedding; + +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/embedding/EmbeddingBase64Response.java b/src/main/java/io/github/sashirestela/openai/domain/embedding/EmbeddingBase64Response.java new file mode 100644 index 00000000..54cfd608 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/embedding/EmbeddingBase64Response.java @@ -0,0 +1,23 @@ +package io.github.sashirestela.openai.domain.embedding; + +import java.util.List; + +import io.github.sashirestela.openai.domain.OpenAIUsage; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.ToString; + +@NoArgsConstructor +@Getter +@ToString +public class EmbeddingBase64Response { + + private String object; + + private List data; + + private String model; + + private OpenAIUsage usage; + +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/embedding/Embedding.java b/src/main/java/io/github/sashirestela/openai/domain/embedding/EmbeddingFloat.java similarity index 90% rename from src/main/java/io/github/sashirestela/openai/domain/embedding/Embedding.java rename to src/main/java/io/github/sashirestela/openai/domain/embedding/EmbeddingFloat.java index d7153925..93728740 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/embedding/Embedding.java +++ b/src/main/java/io/github/sashirestela/openai/domain/embedding/EmbeddingFloat.java @@ -9,7 +9,7 @@ @NoArgsConstructor @Getter @ToString -public class Embedding { +public class EmbeddingFloat { private Integer index; diff --git a/src/main/java/io/github/sashirestela/openai/domain/embedding/EmbeddingResponse.java b/src/main/java/io/github/sashirestela/openai/domain/embedding/EmbeddingFloatResponse.java similarity index 81% rename from src/main/java/io/github/sashirestela/openai/domain/embedding/EmbeddingResponse.java rename to src/main/java/io/github/sashirestela/openai/domain/embedding/EmbeddingFloatResponse.java index b825f3b9..01df32d0 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/embedding/EmbeddingResponse.java +++ b/src/main/java/io/github/sashirestela/openai/domain/embedding/EmbeddingFloatResponse.java @@ -10,11 +10,11 @@ @NoArgsConstructor @Getter @ToString -public class EmbeddingResponse { +public class EmbeddingFloatResponse { private String object; - private List data; + private List data; private String model; diff --git a/src/main/java/io/github/sashirestela/openai/domain/embedding/EmbeddingRequest.java b/src/main/java/io/github/sashirestela/openai/domain/embedding/EmbeddingRequest.java index a0eaa867..3c4cd1c6 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/embedding/EmbeddingRequest.java +++ b/src/main/java/io/github/sashirestela/openai/domain/embedding/EmbeddingRequest.java @@ -5,21 +5,43 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; +import io.github.sashirestela.openai.SimpleUncheckedException; + +import com.fasterxml.jackson.annotation.JsonProperty; + import lombok.Builder; import lombok.Getter; import lombok.NonNull; @Getter -@Builder public class EmbeddingRequest { @NonNull private String model; @NonNull - private List input; + private Object input; + + @JsonInclude(Include.NON_NULL) + @JsonProperty("encoding_format") + private EncodingFormat encodingFormat; @JsonInclude(Include.NON_NULL) private String user; + @Builder + public EmbeddingRequest(@NonNull String model, @NonNull Object input, EncodingFormat encodingFormat, String user) { + if (!(input instanceof String) && !(input instanceof List + && (((List) input).get(0) instanceof String || ((List) input).get(0) instanceof Integer + || (((List) input).get(0) instanceof List + && (((List) ((List) input).get(0)).get(0) instanceof Integer))))) { + throw new SimpleUncheckedException( + "The field input must be String or List or List or List> classes.", + null, null); + } + this.model = model; + this.input = input; + this.encodingFormat = encodingFormat; + this.user = user; + } } \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/embedding/EncodingFormat.java b/src/main/java/io/github/sashirestela/openai/domain/embedding/EncodingFormat.java new file mode 100644 index 00000000..bf12f5d7 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/embedding/EncodingFormat.java @@ -0,0 +1,13 @@ +package io.github.sashirestela.openai.domain.embedding; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public enum EncodingFormat { + + @JsonProperty("float") + FLOAT, + + @JsonProperty("base64") + BASE64; + +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/file/FileRequest.java b/src/main/java/io/github/sashirestela/openai/domain/file/FileRequest.java index 8bc60256..6e60323c 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/file/FileRequest.java +++ b/src/main/java/io/github/sashirestela/openai/domain/file/FileRequest.java @@ -14,6 +14,6 @@ public class FileRequest { private Path file; @NonNull - private String purpose; + private PurposeType purpose; } \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/file/FileResponse.java b/src/main/java/io/github/sashirestela/openai/domain/file/FileResponse.java index a9e8c54d..94899add 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/file/FileResponse.java +++ b/src/main/java/io/github/sashirestela/openai/domain/file/FileResponse.java @@ -22,10 +22,12 @@ public class FileResponse { private Integer bytes; @JsonProperty("created_at") - private Double createdAt; + private Long createdAt; + @Deprecated private String status; + @Deprecated @JsonProperty("status_details") private String statusDetails; diff --git a/src/main/java/io/github/sashirestela/openai/domain/file/PurposeType.java b/src/main/java/io/github/sashirestela/openai/domain/file/PurposeType.java new file mode 100644 index 00000000..66b7d5bb --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/file/PurposeType.java @@ -0,0 +1,13 @@ +package io.github.sashirestela.openai.domain.file; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public enum PurposeType { + + @JsonProperty("fine-tune") + FINE_TUNE, + + @JsonProperty("assistants") + ASSISTANTS; + +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/finetuning/FineTuningError.java b/src/main/java/io/github/sashirestela/openai/domain/finetuning/FineTuningError.java new file mode 100644 index 00000000..b1f0e77b --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/finetuning/FineTuningError.java @@ -0,0 +1,17 @@ +package io.github.sashirestela.openai.domain.finetuning; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.ToString; + +@NoArgsConstructor +@Getter +@ToString +public class FineTuningError { + + private String code; + + private String message; + + private String param; +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/finetuning/FineTuningEvent.java b/src/main/java/io/github/sashirestela/openai/domain/finetuning/FineTuningEvent.java index 6b11550c..0b719ffd 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/finetuning/FineTuningEvent.java +++ b/src/main/java/io/github/sashirestela/openai/domain/finetuning/FineTuningEvent.java @@ -22,8 +22,6 @@ public class FineTuningEvent { private String message; - private String data; - private String type; } \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/finetuning/FineTuningRequest.java b/src/main/java/io/github/sashirestela/openai/domain/finetuning/FineTuningRequest.java index 7f888a79..9febc64a 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/finetuning/FineTuningRequest.java +++ b/src/main/java/io/github/sashirestela/openai/domain/finetuning/FineTuningRequest.java @@ -4,16 +4,17 @@ import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; import lombok.NonNull; -@AllArgsConstructor @Getter @Builder public class FineTuningRequest { + @NonNull + private String model; + @NonNull @JsonProperty("training_file") private String trainingFile; @@ -22,10 +23,6 @@ public class FineTuningRequest { @JsonProperty("validation_file") private String validationFile; - @NonNull - @JsonInclude(Include.NON_NULL) - private String model; - @JsonInclude(Include.NON_NULL) @JsonProperty("hyperparameters") private HyperParams hyperParameters; diff --git a/src/main/java/io/github/sashirestela/openai/domain/finetuning/FineTuningResponse.java b/src/main/java/io/github/sashirestela/openai/domain/finetuning/FineTuningResponse.java index d417fef1..8c118759 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/finetuning/FineTuningResponse.java +++ b/src/main/java/io/github/sashirestela/openai/domain/finetuning/FineTuningResponse.java @@ -48,4 +48,6 @@ public class FineTuningResponse { @JsonProperty("trained_tokens") private Integer trainedTokens; + private FineTuningError error; + } \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/finetuning/HyperParams.java b/src/main/java/io/github/sashirestela/openai/domain/finetuning/HyperParams.java index bc2e88fa..59feb31b 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/finetuning/HyperParams.java +++ b/src/main/java/io/github/sashirestela/openai/domain/finetuning/HyperParams.java @@ -1,19 +1,52 @@ package io.github.sashirestela.openai.domain.finetuning; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; +import io.github.sashirestela.openai.SimpleUncheckedException; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.ToString; @NoArgsConstructor -@AllArgsConstructor @Getter @ToString public class HyperParams { + @JsonInclude(Include.NON_NULL) + @JsonProperty("batch_size") + private Object batchSize; + + @JsonInclude(Include.NON_NULL) + @JsonProperty("learning_rate_multiplier") + private Object learningRateMultiplier; + + @JsonInclude(Include.NON_NULL) @JsonProperty("n_epochs") - private Integer numberEpochs; + private Object numberEpochs; + @Builder + public HyperParams(Object batchSize, Object learningRateMultiplier, Object numberEpochs) { + if (batchSize != null && !(batchSize instanceof Integer) && !(batchSize instanceof String)) { + throw new SimpleUncheckedException( + "The field batchSize must be Integer or String classes.", + null, null); + } + if (learningRateMultiplier != null && !(learningRateMultiplier instanceof Double) + && !(learningRateMultiplier instanceof String)) { + throw new SimpleUncheckedException( + "The field learningRateMultiplier must be Double or String classes.", + null, null); + } + if (numberEpochs != null && !(numberEpochs instanceof Integer) && !(numberEpochs instanceof String)) { + throw new SimpleUncheckedException( + "The field numberEpochs must be Integer or String classes.", + null, null); + } + this.batchSize = batchSize; + this.learningRateMultiplier = learningRateMultiplier; + this.numberEpochs = numberEpochs; + } } \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/image/AbstractImageRequest.java b/src/main/java/io/github/sashirestela/openai/domain/image/AbstractImageRequest.java index c0b9f995..23367c1b 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/image/AbstractImageRequest.java +++ b/src/main/java/io/github/sashirestela/openai/domain/image/AbstractImageRequest.java @@ -11,6 +11,9 @@ @SuperBuilder public abstract class AbstractImageRequest { + @JsonInclude(Include.NON_NULL) + protected String model; + @JsonInclude(Include.NON_NULL) protected Integer n; diff --git a/src/main/java/io/github/sashirestela/openai/domain/image/ImageRequest.java b/src/main/java/io/github/sashirestela/openai/domain/image/ImageRequest.java index dcaaafc9..8702ccb2 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/image/ImageRequest.java +++ b/src/main/java/io/github/sashirestela/openai/domain/image/ImageRequest.java @@ -1,5 +1,8 @@ package io.github.sashirestela.openai.domain.image; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + import lombok.Getter; import lombok.NonNull; import lombok.experimental.SuperBuilder; @@ -11,4 +14,10 @@ public class ImageRequest extends AbstractImageRequest { @NonNull private String prompt; + @JsonInclude(Include.NON_NULL) + private Quality quality; + + @JsonInclude(Include.NON_NULL) + private Style style; + } \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/image/ImageResponse.java b/src/main/java/io/github/sashirestela/openai/domain/image/ImageResponse.java index ddc4567e..2b10e595 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/image/ImageResponse.java +++ b/src/main/java/io/github/sashirestela/openai/domain/image/ImageResponse.java @@ -16,4 +16,7 @@ public class ImageResponse { @JsonProperty("b64_json") private String b64Json; + @JsonProperty("revised_prompt") + private String revisedPrompt; + } \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/image/Quality.java b/src/main/java/io/github/sashirestela/openai/domain/image/Quality.java new file mode 100644 index 00000000..167f5119 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/image/Quality.java @@ -0,0 +1,13 @@ +package io.github.sashirestela.openai.domain.image; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public enum Quality { + + @JsonProperty("standard") + STANDARD, + + @JsonProperty("hd") + HD; + +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/image/Size.java b/src/main/java/io/github/sashirestela/openai/domain/image/Size.java index 26434be0..7a8ef5fb 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/image/Size.java +++ b/src/main/java/io/github/sashirestela/openai/domain/image/Size.java @@ -11,6 +11,12 @@ public enum Size { X512, @JsonProperty("1024x1024") - X1024; + X1024, + + @JsonProperty("1792x1024") + X1792x, + + @JsonProperty("1024x1792") + X1024x; } \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/image/Style.java b/src/main/java/io/github/sashirestela/openai/domain/image/Style.java new file mode 100644 index 00000000..521e5053 --- /dev/null +++ b/src/main/java/io/github/sashirestela/openai/domain/image/Style.java @@ -0,0 +1,13 @@ +package io.github.sashirestela.openai.domain.image; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public enum Style { + + @JsonProperty("vivid") + VIVID, + + @JsonProperty("natural") + NATURAL; + +} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/model/ModelResponse.java b/src/main/java/io/github/sashirestela/openai/domain/model/ModelResponse.java index 7fc377cc..a21862bd 100644 --- a/src/main/java/io/github/sashirestela/openai/domain/model/ModelResponse.java +++ b/src/main/java/io/github/sashirestela/openai/domain/model/ModelResponse.java @@ -1,7 +1,5 @@ package io.github.sashirestela.openai.domain.model; -import java.util.List; - import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Getter; @@ -22,10 +20,4 @@ public class ModelResponse { @JsonProperty("owned_by") private String ownedBy; - private List permission; - - private String root; - - private String parent; - } \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/domain/model/Permission.java b/src/main/java/io/github/sashirestela/openai/domain/model/Permission.java deleted file mode 100644 index f7b5819d..00000000 --- a/src/main/java/io/github/sashirestela/openai/domain/model/Permission.java +++ /dev/null @@ -1,45 +0,0 @@ -package io.github.sashirestela.openai.domain.model; - -import com.fasterxml.jackson.annotation.JsonProperty; - -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.ToString; - -@NoArgsConstructor -@Getter -@ToString -public class Permission { - - private String id; - - private String object; - - private long created; - - @JsonProperty("allow_create_engine") - private boolean allowCreateEngine; - - @JsonProperty("allow_sampling") - private boolean allowSampling; - - @JsonProperty("allow_logprobs") - private boolean allowLogProbs; - - @JsonProperty("allow_search_indices") - private boolean allowSearchIndices; - - @JsonProperty("allow_view") - private boolean allowView; - - @JsonProperty("allow_fine_tuning") - private boolean allowFineTuning; - - private String organization; - - private String group; - - @JsonProperty("is_blocking") - private boolean isBlocking; - -} \ No newline at end of file diff --git a/src/main/java/io/github/sashirestela/openai/function/FunctionExecutor.java b/src/main/java/io/github/sashirestela/openai/function/FunctionExecutor.java index 0f62ff53..c5cbc158 100644 --- a/src/main/java/io/github/sashirestela/openai/function/FunctionExecutor.java +++ b/src/main/java/io/github/sashirestela/openai/function/FunctionExecutor.java @@ -1,15 +1,17 @@ package io.github.sashirestela.openai.function; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import io.github.sashirestela.cleverclient.util.CommonUtil; import io.github.sashirestela.cleverclient.util.JsonUtil; import io.github.sashirestela.openai.SimpleUncheckedException; -import io.github.sashirestela.openai.domain.chat.ChatFunction; -import io.github.sashirestela.openai.domain.chat.ChatFunctionCall; +import io.github.sashirestela.openai.domain.chat.tool.ChatFunction; +import io.github.sashirestela.openai.domain.chat.tool.ChatFunctionCall; +import io.github.sashirestela.openai.domain.chat.tool.ChatTool; +import io.github.sashirestela.openai.domain.chat.tool.ChatToolType; public class FunctionExecutor { private Map mapFunctions = new HashMap<>(); @@ -21,8 +23,11 @@ public FunctionExecutor(List functions) { enrollFunctions(functions); } - public List getFunctions() { - return new ArrayList<>(mapFunctions.values()); + public List getToolFunctions() { + return mapFunctions.values() + .stream() + .map(func -> new ChatTool(ChatToolType.FUNCTION, func)) + .collect(Collectors.toList()); } public void enrollFunction(ChatFunction function) { diff --git a/src/test/java/io/github/sashirestela/openai/domain/DomainTestingHelper.java b/src/test/java/io/github/sashirestela/openai/domain/DomainTestingHelper.java index 1d9be53e..b1ac7ce7 100644 --- a/src/test/java/io/github/sashirestela/openai/domain/DomainTestingHelper.java +++ b/src/test/java/io/github/sashirestela/openai/domain/DomainTestingHelper.java @@ -4,7 +4,9 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import java.io.FileInputStream; import java.io.IOException; +import java.io.InputStream; import java.net.HttpURLConnection; import java.net.http.HttpClient; import java.net.http.HttpRequest; @@ -45,4 +47,13 @@ public void mockForObject(HttpClient httpClient, String responseFilePath) throws when(httpResponse.statusCode()).thenReturn(HttpURLConnection.HTTP_OK); when(httpResponse.body()).thenReturn(jsonResponse); } + + public void mockForBinary(HttpClient httpClient, String responseFilePath) throws IOException { + HttpResponse httpResponse = mock(HttpResponse.class); + InputStream binaryResponse = new FileInputStream(responseFilePath); + when(httpClient.sendAsync(any(HttpRequest.class), any(HttpResponse.BodyHandlers.ofInputStream().getClass()))) + .thenReturn(CompletableFuture.completedFuture(httpResponse)); + when(httpResponse.statusCode()).thenReturn(HttpURLConnection.HTTP_OK); + when(httpResponse.body()).thenReturn(binaryResponse); + } } diff --git a/src/test/java/io/github/sashirestela/openai/domain/audio/AudioDomainTest.java b/src/test/java/io/github/sashirestela/openai/domain/audio/AudioDomainTest.java index ea6b002c..29214864 100644 --- a/src/test/java/io/github/sashirestela/openai/domain/audio/AudioDomainTest.java +++ b/src/test/java/io/github/sashirestela/openai/domain/audio/AudioDomainTest.java @@ -29,6 +29,21 @@ static void setup() { fileName = "src/demo/resources/hello_audio.mp3"; } + @Test + void testAudiosSpeech() throws IOException { + DomainTestingHelper.get().mockForBinary(httpClient, "src/test/resources/audios_speak.mp3"); + var speechRequest = AudioSpeechRequest.builder() + .model("tts-1") + .input("Hello world, welcome to the AI universe!") + .voice(Voice.ALLOY) + .responseFormat(SpeechRespFmt.MP3) + .speed(1.0) + .build(); + var speechResponse = openAI.audios().speak(speechRequest).join(); + System.out.println(speechResponse.readAllBytes().length); + assertNotNull(speechResponse); + } + @Test void testAudiosTranscribe() throws IOException { DomainTestingHelper.get().mockForObject(httpClient, "src/test/resources/audios_transcribe.json"); diff --git a/src/test/java/io/github/sashirestela/openai/domain/chat/ChatDomainTest.java b/src/test/java/io/github/sashirestela/openai/domain/chat/ChatDomainTest.java index 66ba8589..df662990 100644 --- a/src/test/java/io/github/sashirestela/openai/domain/chat/ChatDomainTest.java +++ b/src/test/java/io/github/sashirestela/openai/domain/chat/ChatDomainTest.java @@ -9,6 +9,7 @@ import java.io.IOException; import java.net.http.HttpClient; import java.util.List; +import java.util.Map; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; @@ -19,6 +20,21 @@ import io.github.sashirestela.openai.SimpleOpenAI; import io.github.sashirestela.openai.SimpleUncheckedException; import io.github.sashirestela.openai.domain.DomainTestingHelper; +import io.github.sashirestela.openai.domain.chat.content.ContentPartImage; +import io.github.sashirestela.openai.domain.chat.content.ContentPartText; +import io.github.sashirestela.openai.domain.chat.content.ImageDetail; +import io.github.sashirestela.openai.domain.chat.content.ImageUrl; +import io.github.sashirestela.openai.domain.chat.message.ChatMsgAssistant; +import io.github.sashirestela.openai.domain.chat.message.ChatMsgSystem; +import io.github.sashirestela.openai.domain.chat.message.ChatMsgTool; +import io.github.sashirestela.openai.domain.chat.message.ChatMsgUser; +import io.github.sashirestela.openai.domain.chat.tool.ChatFunction; +import io.github.sashirestela.openai.domain.chat.tool.ChatFunctionCall; +import io.github.sashirestela.openai.domain.chat.tool.ChatFunctionName; +import io.github.sashirestela.openai.domain.chat.tool.ChatToolCall; +import io.github.sashirestela.openai.domain.chat.tool.ChatToolChoice; +import io.github.sashirestela.openai.domain.chat.tool.ChatToolChoiceType; +import io.github.sashirestela.openai.domain.chat.tool.ChatToolType; import io.github.sashirestela.openai.function.FunctionExecutor; import io.github.sashirestela.openai.function.Functional; @@ -26,7 +42,8 @@ class ChatDomainTest { static HttpClient httpClient; static SimpleOpenAI openAI; - static ChatRequest chatRequest; + static ChatRequest chatTextRequest; + static FunctionExecutor functionExecutor; @BeforeAll static void setup() { @@ -35,28 +52,37 @@ static void setup() { .apiKey("apiKey") .httpClient(httpClient) .build(); - chatRequest = ChatRequest.builder() - .model("gpt-3.5-turbo-16k-0613") + chatTextRequest = ChatRequest.builder() + .model("gpt-4-1106-preview") .messages(List.of( - new ChatMessage(Role.SYSTEM, "Generate Python code with no comments."), - new ChatMessage(Role.USER, "// Function to get the max of an array of integers."))) - .temperature(0.0) - .maxTokens(300) - .functionCall("none") + new ChatMsgSystem("You are an expert in Mathematics", "tutor"), + new ChatMsgUser("Tell me the Pitagoras theorem in less than 50 words.", "student"))) + .temperature(0.2) + .maxTokens(500) .topP(1.0) .n(1) - .stop(null) + .stop("end") .presencePenalty(0.0) .frequencyPenalty(0.0) - .logitBias(null) + .logitBias(Map.of("21943", 0)) .user("test") + .responseFormat(new ChatRespFmt(ChatRespFmtType.TEXT)) + .seed(1) .build(); + functionExecutor = new FunctionExecutor(); + functionExecutor.enrollFunction( + ChatFunction.builder() + .name("product") + .description("Get the product of two numbers") + .functionalClass(Product.class) + .build()); } @Test void testChatCompletionsCreateStream() throws IOException { - DomainTestingHelper.get().mockForStream(httpClient, "src/test/resources/chatcompletions_create_stream.txt"); - var chatResponse = openAI.chatCompletions().createStream(chatRequest).join(); + DomainTestingHelper.get().mockForStream(httpClient, + "src/test/resources/chatcompletions_create_stream.txt"); + var chatResponse = openAI.chatCompletions().createStream(chatTextRequest).join(); chatResponse.filter(chatResp -> chatResp.firstContent() != null) .map(chatResp -> chatResp.firstContent()) .forEach(System.out::print); @@ -65,37 +91,99 @@ void testChatCompletionsCreateStream() throws IOException { @Test void testChatCompletionsCreate() throws IOException { - DomainTestingHelper.get().mockForObject(httpClient, "src/test/resources/chatcompletions_create.json"); + DomainTestingHelper.get().mockForObject(httpClient, + "src/test/resources/chatcompletions_create.json"); + var chatResponse = openAI.chatCompletions().create(chatTextRequest).join(); + System.out.println(chatResponse.firstContent()); + assertNotNull(chatResponse); + } + + @Test + void testChatCompletionsCreateWithVision() throws IOException { + DomainTestingHelper.get().mockForObject(httpClient, + "src/test/resources/chatcompletions_create_vision.json"); + var chatRequest = ChatRequest.builder() + .model("gpt-4-vision-preview") + .messages(List.of( + new ChatMsgUser(List.of( + new ContentPartText("What are in these images? Is there any difference between them?"), + new ContentPartImage(new ImageUrl( + "https://upload.wikimedia.org/wikipedia/commons/e/eb/Machu_Picchu%2C_Peru.jpg", + ImageDetail.AUTO)), + new ContentPartImage(new ImageUrl( + "https://upload.wikimedia.org/wikipedia/commons/e/eb/Machu_Picchu%2C_Peru.jpg")))))) + .temperature(0.2) + .maxTokens(500) + .topP(1.0) + .n(1) + .stop("end") + .presencePenalty(0.0) + .frequencyPenalty(0.0) + .user("test") + .seed(1) + .build(); var chatResponse = openAI.chatCompletions().create(chatRequest).join(); - System.out.println(chatResponse); + System.out.println(chatResponse.firstContent()); assertNotNull(chatResponse); } @Test - void testChatCompletionsCreateWithFunction() throws IOException { - DomainTestingHelper.get().mockForObject(httpClient, "src/test/resources/chatcompletions_create_functions.json"); - var functionExecutor = new FunctionExecutor(); - functionExecutor.enrollFunction( - ChatFunction.builder() - .name("product") - .description("Get the product of two numbers") - .functionalClass(Product.class) - .build()); + void testChatCompletionsCreateWithFunctionQuestion() throws IOException { + DomainTestingHelper.get().mockForObject(httpClient, + "src/test/resources/chatcompletions_create_function_question.json"); + var chatRequest = ChatRequest.builder() + .model("gpt-4-1106-preview") + .messages(List.of( + new ChatMsgSystem("You are an expert in Mathematics"), + new ChatMsgUser("What is the product of 123 and 456?"))) + .tools(functionExecutor.getToolFunctions()) + .toolChoice(new ChatToolChoice(ChatToolType.FUNCTION, new ChatFunctionName("product"))) + .temperature(0.2) + .maxTokens(500) + .topP(1.0) + .n(1) + .stop("end") + .presencePenalty(0.0) + .frequencyPenalty(0.0) + .logitBias(Map.of("21943", 0)) + .user("test") + .responseFormat(new ChatRespFmt(ChatRespFmtType.TEXT)) + .seed(1) + .build(); + var chatResponse = openAI.chatCompletions().create(chatRequest).join(); + System.out.println(chatResponse.firstMessage().getToolCalls().get(0).getFunction().getName()); + System.out.println(chatResponse.firstMessage().getToolCalls().get(0).getFunction().getArguments()); + assertNotNull(chatResponse); + } + + @Test + void testChatCompletionsCreateWithFunctionAnswer() throws IOException { + DomainTestingHelper.get().mockForObject(httpClient, + "src/test/resources/chatcompletions_create_function_answer.json"); var chatRequest = ChatRequest.builder() - .model("gpt-3.5-turbo-16k-0613") + .model("gpt-4-1106-preview") .messages(List.of( - new ChatMessage(Role.USER, "What is the product of 123 and 456?"))) - .functions(functionExecutor.getFunctions()) - .temperature(0.0) - .maxTokens(100) - .functionCall("auto") + new ChatMsgSystem("You are an expert in Mathematics"), + new ChatMsgUser("What is the product of 123 and 456?"), + new ChatMsgAssistant(null, + List.of(new ChatToolCall( + "call_tAoX6VHyjQVLnM9CZvEsTEwW", + ChatToolType.FUNCTION, + new ChatFunctionCall("product", + "{\"multiplicand\":123,\"multiplier\":456}")))), + new ChatMsgTool("56088", "call_tAoX6VHyjQVLnM9CZvEsTEwW"))) + .tools(functionExecutor.getToolFunctions()) + .temperature(0.2) + .maxTokens(500) .topP(1.0) .n(1) - .stop(null) + .stop("end") .presencePenalty(0.0) .frequencyPenalty(0.0) - .logitBias(null) + .logitBias(Map.of("21943", 0)) .user("test") + .responseFormat(new ChatRespFmt(ChatRespFmtType.TEXT)) + .seed(1) .build(); var chatResponse = openAI.chatCompletions().create(chatRequest).join(); System.out.println(chatResponse); @@ -103,26 +191,100 @@ void testChatCompletionsCreateWithFunction() throws IOException { } @Test - void shouldNotThrowExceptionWhenChatMessageIsCreatedWithAllFields() { - assertDoesNotThrow( - () -> ChatMessage.builder().role(Role.FUNCTION).content("content").name("name").build()); + void shouldCreateChatRequestWhenToolChoiceIsRightClass() { + Object[] testData = { + ChatToolChoiceType.AUTO, + new ChatToolChoice(ChatToolType.FUNCTION, new ChatFunctionName("myFunction")) + }; + for (Object data : testData) { + var chatRequestBuilder = ChatRequest.builder() + .model("model") + .messages(List.of(new ChatMsgUser("My Content"))) + .toolChoice(data); + assertDoesNotThrow(() -> chatRequestBuilder.build()); + } + } + + @Test + void shouldThrownExceptionWhenCreatingChatRequestWithToolChoiceWrongClass() { + var chatRequestBuilder = ChatRequest.builder() + .model("model") + .messages(List.of(new ChatMsgUser("My Content"))) + .toolChoice("wrong value"); + var exception = assertThrows(SimpleUncheckedException.class, () -> chatRequestBuilder.build()); + var actualErrorMessage = exception.getMessage(); + var expectedErrorMessge = "The field toolChoice must be ChatToolChoiceType or ChatToolChoice classes."; + assertEquals(expectedErrorMessge, actualErrorMessage); } @Test - void shouldThrownExceptionWhenChatMessageIsCreatedWithoutContentAndRoleIsDifferentThanAssistant() { - var chatMessageBuilder = ChatMessage.builder().role(Role.USER); - var exception = assertThrows(SimpleUncheckedException.class, - () -> chatMessageBuilder.build()); - assertEquals("The content is required for ChatMessage when role is other than assistant.", - exception.getMessage()); + void shouldCreateChatRequestWhenStopIsRightClass() { + Object[] testData = { + "stop", + List.of("stop", "end", "quit", "finish") + }; + for (Object data : testData) { + var chatRequestBuilder = ChatRequest.builder() + .model("model") + .messages(List.of(new ChatMsgUser("My Content"))) + .stop(data); + assertDoesNotThrow(() -> chatRequestBuilder.build()); + } + } + + @Test + void shouldThrownExceptionWhenCreatingChatRequestWithStopWrongClass() { + Object[] testData = { + 1001, + List.of(17.65, 23.68), + List.of("one", "two", "three", "four", "five") + }; + for (Object data : testData) { + var chatRequestBuilder = ChatRequest.builder() + .model("model") + .messages(List.of(new ChatMsgUser("My Content"))) + .stop(data); + var exception = assertThrows(SimpleUncheckedException.class, () -> chatRequestBuilder.build()); + var actualErrorMessage = exception.getMessage(); + var expectedErrorMessge = "The field stop must be String or List (max 4 items) classes."; + assertEquals(expectedErrorMessge, actualErrorMessage); + } + } + + @Test + void shouldCreateChtMsgUserWhenContentIsRigthClass() { + Object[] testData = { + "test data", + List.of(new ContentPartText("text"), new ContentPartImage(new ImageUrl("image url", ImageDetail.AUTO))) + }; + for (Object data : testData) { + assertDoesNotThrow(() -> new ChatMsgUser(data)); + } } @Test - void shouldThrownExceptionWhenChatMessageIsCreatedWithoutNameAndRoleIsFunction() { - var chatMessageBuilder = ChatMessage.builder().role(Role.FUNCTION).content("content"); - var exception = assertThrows(SimpleUncheckedException.class, - () -> chatMessageBuilder.build()); - assertEquals("The name is required for ChatMessage when role is function.", exception.getMessage()); + void shouldThrownExceptionWhenCreatingChatMsgUserWithContentWrongClass() { + Object[] testData = { + 1001, + List.of("first", "second") + }; + for (Object data : testData) { + var exception = assertThrows(SimpleUncheckedException.class, () -> new ChatMsgUser(data)); + var actualErrorMessage = exception.getMessage(); + var expectedErrorMessge = "The field content must be String or List classes."; + assertEquals(expectedErrorMessge, actualErrorMessage); + } + } + + @Test + void shouldCreateChatMsgAssistantWhenParametersAreCorrect() { + ChatMsgAssistant[] testData = { + new ChatMsgAssistant("content", "name"), + new ChatMsgAssistant("content") + }; + for (ChatMsgAssistant data : testData) { + assertNotNull(data); + } } static class Product implements Functional { diff --git a/src/test/java/io/github/sashirestela/openai/domain/completion/CompletionDomainTest.java b/src/test/java/io/github/sashirestela/openai/domain/completion/CompletionDomainTest.java index 6494825d..8d1c4176 100644 --- a/src/test/java/io/github/sashirestela/openai/domain/completion/CompletionDomainTest.java +++ b/src/test/java/io/github/sashirestela/openai/domain/completion/CompletionDomainTest.java @@ -1,15 +1,20 @@ package io.github.sashirestela.openai.domain.completion; +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.mock; import java.io.IOException; import java.net.http.HttpClient; +import java.util.List; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import io.github.sashirestela.openai.SimpleOpenAI; +import io.github.sashirestela.openai.SimpleUncheckedException; import io.github.sashirestela.openai.domain.DomainTestingHelper; class CompletionDomainTest { @@ -26,8 +31,8 @@ static void setup() { .httpClient(httpClient) .build(); completionRequest = CompletionRequest.builder() - .model("text-davinci-003") - .prompt("Write a technical article about ChatGPT, no more than 100 words.") + .model("gpt-3.5-turbo-instruct") + .prompt("Tell me the Pythagorean theorem in no more than 50 words.") .suffix(null) .temperature(0.0) .maxTokens(300) @@ -36,6 +41,7 @@ static void setup() { .logprobs(0) .echo(false) .stop(null) + .seed(1) .presencePenalty(0.0) .frequencyPenalty(0.0) .bestOf(1) @@ -61,4 +67,72 @@ void testCompletionsCreate() throws IOException { System.out.println(completionResponse); assertNotNull(completionResponse); } + + @Test + void shouldCreateCompletionRequestWhenPromptIsRightClass() { + Object[] testData = { + "demo", + List.of("first", "second"), + List.of(1, 2, 3, 4), + List.of(List.of(11, 22, 33)) + }; + for (Object data : testData) { + var completionRequestBuilder = CompletionRequest.builder() + .model("model") + .prompt(data); + assertDoesNotThrow(() -> completionRequestBuilder.build()); + } + } + + @Test + void shouldThrownExceptionWhenCreatingCompletionRequestWithPromptWrongClass() { + Object[] testData = { + 1001, + List.of(17.65, 23.68), + List.of(List.of("first", "second")) + }; + for (Object data : testData) { + var completionRequestBuilder = CompletionRequest.builder() + .model("model") + .prompt(data); + var exception = assertThrows(SimpleUncheckedException.class, () -> completionRequestBuilder.build()); + var actualErrorMessage = exception.getMessage(); + var expectedErrorMessge = "The field prompt must be String or List or List or List> classes."; + assertEquals(expectedErrorMessge, actualErrorMessage); + } + } + + @Test + void shouldCreateCompletionRequestWhenStopIsRightClass() { + Object[] testData = { + "stop", + List.of("stop", "end", "quit", "finish") + }; + for (Object data : testData) { + var completionRequestBuilder = CompletionRequest.builder() + .model("model") + .prompt("prompt demo") + .stop(data); + assertDoesNotThrow(() -> completionRequestBuilder.build()); + } + } + + @Test + void shouldThrownExceptionWhenCreatingCompletionRequestWithStopWrongClass() { + Object[] testData = { + 1001, + List.of(17.65, 23.68), + List.of("one", "two", "three", "four", "five") + }; + for (Object data : testData) { + var completionRequestBuilder = CompletionRequest.builder() + .model("model") + .prompt("prompt demo") + .stop(data); + var exception = assertThrows(SimpleUncheckedException.class, () -> completionRequestBuilder.build()); + var actualErrorMessage = exception.getMessage(); + var expectedErrorMessge = "The field stop must be String or List (max 4 items) classes."; + assertEquals(expectedErrorMessge, actualErrorMessage); + } + } } \ No newline at end of file diff --git a/src/test/java/io/github/sashirestela/openai/domain/embedding/EmbeddingDomainTest.java b/src/test/java/io/github/sashirestela/openai/domain/embedding/EmbeddingDomainTest.java index 3146b7d0..856663d9 100644 --- a/src/test/java/io/github/sashirestela/openai/domain/embedding/EmbeddingDomainTest.java +++ b/src/test/java/io/github/sashirestela/openai/domain/embedding/EmbeddingDomainTest.java @@ -1,15 +1,20 @@ package io.github.sashirestela.openai.domain.embedding; +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.mock; import java.io.IOException; import java.net.http.HttpClient; import java.util.Arrays; +import java.util.List; import org.junit.jupiter.api.Test; import io.github.sashirestela.openai.SimpleOpenAI; +import io.github.sashirestela.openai.SimpleUncheckedException; import io.github.sashirestela.openai.domain.DomainTestingHelper; class EmbeddingDomainTest { @@ -21,15 +26,66 @@ void testEmbeddingsCreate() throws IOException { .apiKey("apiKey") .httpClient(httpClient) .build(); - DomainTestingHelper.get().mockForObject(httpClient, "src/test/resources/embeddings_create.json"); + DomainTestingHelper.get().mockForObject(httpClient, "src/test/resources/embeddings_create_float.json"); var embeddingRequest = EmbeddingRequest.builder() .model("text-embedding-ada-002") - .input(Arrays.asList("it is rainnig cats and dogs")) + .input(Arrays.asList("shiny sun", "blue sky")) .user("test") .build(); var embeddingResponse = openAI.embeddings().create(embeddingRequest).join(); System.out.println(embeddingResponse); assertNotNull(embeddingResponse); + } + @Test + void testEmbeddingsCreateBase64() throws IOException { + var httpClient = mock(HttpClient.class); + var openAI = SimpleOpenAI.builder() + .apiKey("apiKey") + .httpClient(httpClient) + .build(); + DomainTestingHelper.get().mockForObject(httpClient, "src/test/resources/embeddings_create_base64.json"); + var embeddingRequest = EmbeddingRequest.builder() + .model("text-embedding-ada-002") + .input(Arrays.asList("shiny sun", "blue sky")) + .user("test") + .build(); + var embeddingResponse = openAI.embeddings().createBase64(embeddingRequest).join(); + System.out.println(embeddingResponse); + assertNotNull(embeddingResponse); + } + + @Test + void shouldCreateCompletionRequestWhenInputIsRightClass() { + Object[] testData = { + "demo", + List.of("first", "second"), + List.of(1, 2, 3, 4), + List.of(List.of(11, 22, 33)) + }; + for (Object data : testData) { + var embeddingRequestBuilder = EmbeddingRequest.builder() + .model("model") + .input(data); + assertDoesNotThrow(() -> embeddingRequestBuilder.build()); + } + } + + @Test + void shouldThrownExceptionWhenCreatingCompletionRequestWithInputWrongClass() { + Object[] testData = { + 1001, + List.of(17.65, 23.68), + List.of(List.of("first", "second")) + }; + for (Object data : testData) { + var embeddingRequestBuilder = EmbeddingRequest.builder() + .model("model") + .input(data); + var exception = assertThrows(SimpleUncheckedException.class, () -> embeddingRequestBuilder.build()); + var actualErrorMessage = exception.getMessage(); + var expectedErrorMessge = "The field input must be String or List or List or List> classes."; + assertEquals(expectedErrorMessge, actualErrorMessage); + } } -} +} \ No newline at end of file diff --git a/src/test/java/io/github/sashirestela/openai/domain/file/FileDomainTest.java b/src/test/java/io/github/sashirestela/openai/domain/file/FileDomainTest.java index 5d57fc02..93ee6d49 100644 --- a/src/test/java/io/github/sashirestela/openai/domain/file/FileDomainTest.java +++ b/src/test/java/io/github/sashirestela/openai/domain/file/FileDomainTest.java @@ -32,7 +32,7 @@ void testFilesCreate() throws IOException { DomainTestingHelper.get().mockForObject(httpClient, "src/test/resources/files_create.json"); var fileRequest = FileRequest.builder() .file(Paths.get("src/demo/resources/test_data.jsonl")) - .purpose("fine-tune") + .purpose(PurposeType.FINE_TUNE) .build(); var fileResponse = openAI.files().create(fileRequest).join(); System.out.println(fileResponse); @@ -42,7 +42,7 @@ void testFilesCreate() throws IOException { @Test void testFilesGetList() throws IOException { DomainTestingHelper.get().mockForObject(httpClient, "src/test/resources/files_getlist.json"); - var fileResponse = openAI.files().getList().join(); + var fileResponse = openAI.files().getList("fine-tune").join(); System.out.println(fileResponse); assertNotNull(fileResponse); } diff --git a/src/test/java/io/github/sashirestela/openai/domain/finetuning/FineTuningDomainTest.java b/src/test/java/io/github/sashirestela/openai/domain/finetuning/FineTuningDomainTest.java index de785c81..b7ede365 100644 --- a/src/test/java/io/github/sashirestela/openai/domain/finetuning/FineTuningDomainTest.java +++ b/src/test/java/io/github/sashirestela/openai/domain/finetuning/FineTuningDomainTest.java @@ -1,6 +1,9 @@ package io.github.sashirestela.openai.domain.finetuning; +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.mock; import java.io.IOException; @@ -10,6 +13,7 @@ import org.junit.jupiter.api.Test; import io.github.sashirestela.openai.SimpleOpenAI; +import io.github.sashirestela.openai.SimpleUncheckedException; import io.github.sashirestela.openai.domain.DomainTestingHelper; class FineTuningDomainTest { @@ -32,8 +36,9 @@ void testFineTuningsCreate() throws IOException { var fineTuningRequest = FineTuningRequest.builder() .trainingFile("fileId") .validationFile("fileId") - .model("gpt-3.5-turbo-0613") - .hyperParameters(new HyperParams(1)) + .model("gpt-3.5-turbo-1106") + .hyperParameters(HyperParams.builder().batchSize("auto").learningRateMultiplier("auto") + .numberEpochs("auto").build()) .suffix("suffix") .build(); var fineTuningResponse = openAI.fineTunings().create(fineTuningRequest).join(); @@ -72,4 +77,103 @@ void testFineTuningsCancel() throws IOException { System.out.println(fineTuningResponse); assertNotNull(fineTuningResponse); } + + @Test + void shouldCreateHyperParamWhenBatchSizeIsRightClass() { + Object[] testData = { + 1, + "auto" + }; + for (Object data : testData) { + var builder = HyperParams.builder() + .batchSize(data) + .learningRateMultiplier("auto") + .numberEpochs("auto"); + assertDoesNotThrow(() -> builder.build()); + } + } + + @Test + void shouldThrownExceptionWhenCreatingHyperParamWithBatchSizeWrongClass() { + Object[] testData = { + 1.5, + false + }; + for (Object data : testData) { + var builder = HyperParams.builder() + .batchSize(data) + .learningRateMultiplier("auto") + .numberEpochs("auto"); + var exception = assertThrows(SimpleUncheckedException.class, () -> builder.build()); + var actualErrorMessage = exception.getMessage(); + var expectedErrorMessge = "The field batchSize must be Integer or String classes."; + assertEquals(expectedErrorMessge, actualErrorMessage); + } + } + + @Test + void shouldCreateHyperParamWhenLearningRateMultiplierIsRightClass() { + Object[] testData = { + 1.5, + "auto" + }; + for (Object data : testData) { + var builder = HyperParams.builder() + .batchSize("auto") + .learningRateMultiplier(data) + .numberEpochs("auto"); + assertDoesNotThrow(() -> builder.build()); + } + } + + @Test + void shouldThrownExceptionWhenCreatingHyperParamWithLearningRateMultiplierWrongClass() { + Object[] testData = { + 1, + false + }; + for (Object data : testData) { + var builder = HyperParams.builder() + .batchSize("auto") + .learningRateMultiplier(data) + .numberEpochs("auto"); + var exception = assertThrows(SimpleUncheckedException.class, () -> builder.build()); + var actualErrorMessage = exception.getMessage(); + var expectedErrorMessge = "The field learningRateMultiplier must be Double or String classes."; + assertEquals(expectedErrorMessge, actualErrorMessage); + } + } + + @Test + void shouldCreateHyperParamWhenNumberEpochsIsRightClass() { + Object[] testData = { + 1, + "auto" + }; + for (Object data : testData) { + var builder = HyperParams.builder() + .batchSize("auto") + .learningRateMultiplier("auto") + .numberEpochs(data); + assertDoesNotThrow(() -> builder.build()); + } + } + + @Test + void shouldThrownExceptionWhenCreatingHyperParamWithNumberEpochsWrongClass() { + Object[] testData = { + 1.5, + false + }; + for (Object data : testData) { + var builder = HyperParams.builder() + .batchSize("auto") + .learningRateMultiplier("auto") + .numberEpochs(data); + var exception = assertThrows(SimpleUncheckedException.class, () -> builder.build()); + var actualErrorMessage = exception.getMessage(); + var expectedErrorMessge = "The field numberEpochs must be Integer or String classes."; + assertEquals(expectedErrorMessge, actualErrorMessage); + } + } } \ No newline at end of file diff --git a/src/test/java/io/github/sashirestela/openai/domain/image/ImageDomainTest.java b/src/test/java/io/github/sashirestela/openai/domain/image/ImageDomainTest.java index 79854916..3d776c55 100644 --- a/src/test/java/io/github/sashirestela/openai/domain/image/ImageDomainTest.java +++ b/src/test/java/io/github/sashirestela/openai/domain/image/ImageDomainTest.java @@ -33,8 +33,11 @@ void testFilesCreate() throws IOException { var imageRequest = ImageRequest.builder() .prompt("A cartoon of a hummingbird that is flying around a flower.") .n(2) - .size(Size.X256) + .size(Size.X1024) .responseFormat(ImageRespFmt.URL) + .model("dall-e-3") + .quality(Quality.STANDARD) + .style(Style.NATURAL) .user("test") .build(); var imageResponse = openAI.images().create(imageRequest).join(); @@ -51,6 +54,7 @@ void testFilesCreateEditions() throws IOException { .n(1) .size(Size.X256) .responseFormat(ImageRespFmt.B64JSON) + .model("dall-e-2") .user("test") .build(); var imageResponse = openAI.images().createEdits(imageRequest).join(); @@ -66,6 +70,7 @@ void testFilesCreateVariations() throws IOException { .n(1) .size(Size.X256) .responseFormat(ImageRespFmt.B64JSON) + .model("dall-e-2") .user("test") .build(); var imageResponse = openAI.images().createVariations(imageRequest).join(); diff --git a/src/test/java/io/github/sashirestela/openai/function/SimpleFunctionExecutorTest.java b/src/test/java/io/github/sashirestela/openai/function/FunctionExecutorTest.java similarity index 77% rename from src/test/java/io/github/sashirestela/openai/function/SimpleFunctionExecutorTest.java rename to src/test/java/io/github/sashirestela/openai/function/FunctionExecutorTest.java index bf8c54cc..a248f2c7 100644 --- a/src/test/java/io/github/sashirestela/openai/function/SimpleFunctionExecutorTest.java +++ b/src/test/java/io/github/sashirestela/openai/function/FunctionExecutorTest.java @@ -6,14 +6,17 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.stream.Collectors; import org.junit.jupiter.api.Test; import io.github.sashirestela.openai.SimpleUncheckedException; -import io.github.sashirestela.openai.domain.chat.ChatFunction; -import io.github.sashirestela.openai.domain.chat.ChatFunctionCall; +import io.github.sashirestela.openai.domain.chat.tool.ChatFunction; +import io.github.sashirestela.openai.domain.chat.tool.ChatFunctionCall; +import io.github.sashirestela.openai.domain.chat.tool.ChatTool; +import io.github.sashirestela.openai.domain.chat.tool.ChatToolType; -class SimpleFunctionExecutorTest { +class FunctionExecutorTest { private List functionList = Arrays.asList( ChatFunction.builder() @@ -30,8 +33,8 @@ class SimpleFunctionExecutorTest { @Test void shouldReturnEmptyListWhenObjectWasNotInitialized() { var executor = new FunctionExecutor(); - var actualList = executor.getFunctions(); - List expectedList = Collections.emptyList(); + var actualList = executor.getToolFunctions(); + List expectedList = Collections.emptyList(); assertEquals(expectedList, actualList); } @@ -48,11 +51,13 @@ void shouldThrownAnExceptionWhenNullIsEnteredIntoConstructor() { void shouldReturnListOfEnrolledFunctionsWhenEnteredAllInOne() { var executor = new FunctionExecutor(); executor.enrollFunctions(functionList); - var actualList = executor.getFunctions(); - var expectedList = functionList; + var actualList = executor.getToolFunctions(); + var expectedList = functionList.stream().map(func -> new ChatTool(ChatToolType.FUNCTION, func)) + .collect(Collectors.toList()); sortListFunction(actualList); sortListFunction(expectedList); - assertEquals(expectedList, actualList); + assertEquals(expectedList.get(0).getFunction(), actualList.get(0).getFunction()); + assertEquals(expectedList.get(1).getFunction(), actualList.get(1).getFunction()); } @Test @@ -60,11 +65,13 @@ void shouldReturnListOfEnrolledFunctionsWhenEnteredOneByOne() { var executor = new FunctionExecutor(); executor.enrollFunction(functionList.get(0)); executor.enrollFunction(functionList.get(1)); - var actualList = executor.getFunctions(); - var expectedList = functionList; + var actualList = executor.getToolFunctions(); + var expectedList = functionList.stream().map(func -> new ChatTool(ChatToolType.FUNCTION, func)) + .collect(Collectors.toList()); sortListFunction(actualList); sortListFunction(expectedList); - assertEquals(expectedList, actualList); + assertEquals(expectedList.get(0).getFunction(), actualList.get(0).getFunction()); + assertEquals(expectedList.get(1).getFunction(), actualList.get(1).getFunction()); } @Test @@ -113,8 +120,8 @@ void shouldReturnACorrectValueWhenExecutingRightFunctionArguments() { assertEquals(actualResult, expectedResult); } - private void sortListFunction(List list) { - list.sort((o1, o2) -> o1.getName().compareTo(o2.getName())); + private void sortListFunction(List list) { + list.sort((o1, o2) -> o1.getFunction().getName().compareTo(o2.getFunction().getName())); } static class ConvertToCelsius implements Functional { diff --git a/src/test/resources/audios_speak.mp3 b/src/test/resources/audios_speak.mp3 new file mode 100644 index 00000000..c18b01ef Binary files /dev/null and b/src/test/resources/audios_speak.mp3 differ diff --git a/src/test/resources/chatcompletions_create.json b/src/test/resources/chatcompletions_create.json index 3aee63b2..7ab78bba 100644 --- a/src/test/resources/chatcompletions_create.json +++ b/src/test/resources/chatcompletions_create.json @@ -1 +1 @@ -{ "id": "chatcmpl-7pLaDdMO3m8b6SSNrjNzDyhUNoWQq", "object": "chat.completion", "created": 1692472049, "model": "gpt-3.5-turbo-16k-0613", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "def get_max(arr):\n max_val = arr[0]\n for num in arr:\n if num > max_val:\n max_val = num\n return max_val" }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 30, "completion_tokens": 36, "total_tokens": 66 } } \ No newline at end of file +{ "id": "chatcmpl-8LhvWDcE3HDBEorEOKUs5OhHmEi5e", "object": "chat.completion", "created": 1700184434, "model": "gpt-4-1106-preview", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "The Pythagorean theorem states that in a right-angled triangle, the square of the length of the hypotenuse (the side opposite the right angle) is equal to the sum of the squares of the lengths of the other two sides. Mathematically, \\(a^2 + b^2 = c^2\\)." }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 35, "completion_tokens": 67, "total_tokens": 102 }, "system_fingerprint": "fp_a24b4d720c" } \ No newline at end of file diff --git a/src/test/resources/chatcompletions_create_function_answer.json b/src/test/resources/chatcompletions_create_function_answer.json new file mode 100644 index 00000000..354f25cc --- /dev/null +++ b/src/test/resources/chatcompletions_create_function_answer.json @@ -0,0 +1 @@ +{ "id": "chatcmpl-8LhsmUDRgfIn2UcHVl7d5UQiCWWLp", "object": "chat.completion", "created": 1700184264, "model": "gpt-4-1106-preview", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "The product of 123 and 456 is 56,088." }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 120, "completion_tokens": 15, "total_tokens": 135 }, "system_fingerprint": "fp_a24b4d720c" } \ No newline at end of file diff --git a/src/test/resources/chatcompletions_create_function_question.json b/src/test/resources/chatcompletions_create_function_question.json new file mode 100644 index 00000000..9bd8a8ea --- /dev/null +++ b/src/test/resources/chatcompletions_create_function_question.json @@ -0,0 +1 @@ +{ "id": "chatcmpl-8LkOfjXy71qSvozfZ7KjTRVCDaubG", "object": "chat.completion", "created": 1700193929, "model": "gpt-4-1106-preview", "choices": [ { "index": 0, "message": { "role": "assistant", "content": null, "tool_calls": [ { "id": "call_NkbBCeM6f6ONgCGIdCNEnjfL", "type": "function", "function": { "name": "product", "arguments": "{\"multiplicand\":123,\"multiplier\":456}" } } ] }, "finish_reason": "tool_calls" } ], "usage": { "prompt_tokens": 91, "completion_tokens": 20, "total_tokens": 111 }, "system_fingerprint": "fp_a24b4d720c" } \ No newline at end of file diff --git a/src/test/resources/chatcompletions_create_functions.json b/src/test/resources/chatcompletions_create_functions.json deleted file mode 100644 index 2335f683..00000000 --- a/src/test/resources/chatcompletions_create_functions.json +++ /dev/null @@ -1 +0,0 @@ -{ "id": "chatcmpl-7y2Wl22FN1JgpVX9n0FoJCQ0Ddvtc", "object": "chat.completion", "created": 1694543751, "model": "gpt-3.5-turbo-16k-0613", "choices": [ { "index": 0, "message": { "role": "assistant", "content": null, "function_call": { "name": "product", "arguments": "{\n \"multiplicand\": 123,\n \"multiplier\": 456\n}" } }, "finish_reason": "function_call" } ], "usage": { "prompt_tokens": 80, "completion_tokens": 24, "total_tokens": 104 } } \ No newline at end of file diff --git a/src/test/resources/chatcompletions_create_stream.txt b/src/test/resources/chatcompletions_create_stream.txt index e6a1d8bf..4baff431 100644 --- a/src/test/resources/chatcompletions_create_stream.txt +++ b/src/test/resources/chatcompletions_create_stream.txt @@ -1,77 +1,139 @@ -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":"def"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":"The"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" get"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" Py"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":"_max"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":"thag"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":"(arr"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":"orean"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":"):\n"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" theorem"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" "},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" states"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" max"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" that"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":"_val"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" in"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" ="},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" a"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" arr"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" right"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":"["},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":"-"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":"0"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":"angled"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":"]\n"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" triangle"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" "},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":","},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" for"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" the"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" num"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" square"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" in"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" of"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" arr"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" the"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":":\n"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" length"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" "},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" of"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" if"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" the"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" num"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" hyp"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" >"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":"oten"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" max"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":"use"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":"_val"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" ("},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":":\n"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":"the"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" "},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" side"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" max"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" opposite"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":"_val"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" the"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" ="},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" right"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" num"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" angle"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":"\n"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":")"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" "},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" is"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" return"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" equal"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":" max"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" to"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{"content":"_val"},"finish_reason":null}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" the"},"finish_reason":null}]} -data: {"id":"chatcmpl-7pI3OxYn3qMUlKfLWXfzqFOjsJcQK","object":"chat.completion.chunk","created":1692458482,"model":"gpt-3.5-turbo-16k-0613","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]} +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" sum"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" of"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" the"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" squares"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" of"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" the"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" lengths"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" of"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" the"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" other"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" two"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" sides"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":"."},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" Math"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":"em"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":"atically"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":","},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" \\("},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":"a"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":"^"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":"2"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" +"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" b"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":"^"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":"2"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" ="},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":" c"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":"^"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":"2"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":"\\"},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{"content":")."},"finish_reason":null}]} + +data: {"id":"chatcmpl-8LhxXMp68CKhvDN9NzOKLkQjY7XoF","object":"chat.completion.chunk","created":1700184559,"model":"gpt-4-1106-preview","system_fingerprint":"fp_a24b4d720c","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]} data: [DONE] diff --git a/src/test/resources/chatcompletions_create_vision.json b/src/test/resources/chatcompletions_create_vision.json new file mode 100644 index 00000000..8562b6ac --- /dev/null +++ b/src/test/resources/chatcompletions_create_vision.json @@ -0,0 +1 @@ +{ "id": "chatcmpl-8Lh4NNJI84St5z1jvpGb8HKkgiFlK", "object": "chat.completion", "created": 1700181139, "model": "gpt-4-1106-vision-preview", "usage": { "prompt_tokens": 190, "completion_tokens": 79, "total_tokens": 269 }, "choices": [ { "message": { "role": "assistant", "content": "It appears that you've provided two identical images. Both images show a wooden boardwalk or path leading through a lush green meadow or wetland area. The sky is partly cloudy, suggesting a pleasant day. The scenery is tranquil and might be a natural area for walking and enjoying nature. There are no discernible differences between the two images; they seem to be exact copies of each other." }, "finish_details": { "type": "stop", "stop": "<|fim_suffix|>" }, "index": 0 } ] } \ No newline at end of file diff --git a/src/test/resources/completions_create.json b/src/test/resources/completions_create.json index 625797d3..4f86b193 100644 --- a/src/test/resources/completions_create.json +++ b/src/test/resources/completions_create.json @@ -1 +1 @@ -{ "warning": "This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations", "id": "cmpl-7pI9R7kZvIwpeWbcaaHmvdwhqIcv2", "object": "text_completion", "created": 1692458857, "model": "text-davinci-003", "choices": [ { "text": "\n\nChatGPT is an AI-powered chatbot that uses natural language processing (NLP) to generate conversations. It is powered by OpenAI's GPT-3 language model, which enables it to understand and respond to user input in a natural, conversational manner. ChatGPT can be used to automate customer service, provide personalized recommendations, and more. It is an easy-to-use, cost-effective solution for businesses looking to improve their customer experience.", "index": 0, "logprobs": null, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 15, "completion_tokens": 97, "total_tokens": 112 } } \ No newline at end of file +{ "id": "cmpl-8Ly1VViQClDoYudPxbPqEISS5oTlj", "object": "text_completion", "created": 1700246309, "model": "gpt-3.5-turbo-instruct", "choices": [ { "text": "\n\nThe Pythagorean theorem states that in a right triangle, the square of the length of the hypotenuse (the side opposite the right angle) is equal to the sum of the squares of the other two sides. This can be written as a^2 + b^2 = c^2, where c is the length of the hypotenuse and a and b are the lengths of the other two sides.", "index": 0, "logprobs": {"text_offset": [111, 222], "token_logprobs": [1.11, 2.22], "tokens": ["one", "two"], "top_logprobs": [[11.1, 22.2]]}, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 15, "completion_tokens": 85, "total_tokens": 100 } } \ No newline at end of file diff --git a/src/test/resources/completions_create_stream.txt b/src/test/resources/completions_create_stream.txt index 49cfc0fa..3499cc6e 100644 --- a/src/test/resources/completions_create_stream.txt +++ b/src/test/resources/completions_create_stream.txt @@ -1,185 +1,135 @@ -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"\n","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":"\n\n","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"\n","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":"The","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"Chat","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" Py","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"G","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":"thag","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"PT","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":"orean","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" is","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" theorem","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" an","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" states","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" AI","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" that","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"-","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" in","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"powered","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" a","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" chat","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" right","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"bot","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" triangle","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" that","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":",","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" uses","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" the","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" natural","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" square","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" language","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" of","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" processing","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" the","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" (","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" length","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"N","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" of","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"LP","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" the","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":")","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" hyp","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" to generate conversations","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":"oten","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":".","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":"use","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" It","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" (","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" is","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":"the","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" powered","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" side","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" by","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" opposite","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" Open","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" the","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"AI","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" right","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"'s","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" angle","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" G","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":")","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"PT","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" is","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"-","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" equal","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"3","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" to","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" language","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" the","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" model","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" sum","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":",","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" of","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" which","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" the","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" enables","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" squares","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" it","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" of","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" to","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" the","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" understand","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" other","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" and","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" two","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" respond","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" sides","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" to","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":".","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" user","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" It","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" input","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" can","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" in","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" be","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" a","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" written","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" natural","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" as a^","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":",","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":"2 +","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" convers","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" b^","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"ational","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":"2 =","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" manner","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" c^","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":".","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":"2,","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" Chat","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" where c is the length of the hypotenuse and","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"G","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" a","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"PT","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" and","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" can","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" b","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" be","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" are","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" used","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" the","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" to","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" lengths","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" automate","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" of","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" customer","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" the","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" service","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" other","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":",","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" two","index":0,"logprobs":null,"finish_reason":null}],"model":"gpt-3.5-turbo-instruct"} -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" provide","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" personalized","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" recommendations","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":",","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" and","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" more","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":".","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" It","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" is","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" an","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" easy","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"-","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"to","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"-","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"use","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":",","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" cost","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"-","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":"effective","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" solution for","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" businesses looking","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" to","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" improve","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" their","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":" customer experience","index":0,"logprobs":null,"finish_reason":null}],"model":"text-davinci-003"} - -data: {"warning":"This model version is deprecated. Migrate before January 4, 2024 to avoid disruption of service. Learn more https://platform.openai.com/docs/deprecations","id":"cmpl-7pHx6gPonxqwAE4Du67G6bPFYS6xG","object":"text_completion","created":1692458092,"choices":[{"text":".","index":0,"logprobs":null,"finish_reason":"stop"}],"model":"text-davinci-003"} +data: {"id":"cmpl-8Ly2R1r5KHRRzQpDIt1iU8OpaKy6w","object":"text_completion","created":1700246367,"choices":[{"text":" sides.","index":0,"logprobs":null,"finish_reason":"stop"}],"model":"gpt-3.5-turbo-instruct"} data: [DONE] diff --git a/src/test/resources/embeddings_create.json b/src/test/resources/embeddings_create.json deleted file mode 100644 index a82badf4..00000000 --- a/src/test/resources/embeddings_create.json +++ /dev/null @@ -1 +0,0 @@ -{ "object": "list", "data": [ { "object": "embedding", "index": 0, "embedding": [ 0.00061326654, 0.004606978, -0.014771581, -0.013122907, 0.014798172, 0.021339683, 0.010237729, -0.01636707, -0.010842686, -0.032069355, -0.0040518804, 0.031032285, -0.016819127, 0.008336437, -0.00611937, 0.0011509135, 0.023865875, 0.013328992, 0.006504947, -0.019079404, 0.011979473, 0.019677714, -0.006425172, -0.030899327, -0.011480882, -0.010310856, 0.019943628, -0.028000854, 0.010417222, -0.015197044, -0.024530662, -0.0040950915, -0.0012622655, -0.015542734, 0.0020076586, -0.027309475, 0.0041050636, 0.010151307, -0.00257439, 0.0025012633, 0.015197044, -0.0316173, -0.00364636, -0.0063088345, -0.008363028, 0.00848269, 0.002948333, -0.005903314, -0.008914801, 0.012923471, 0.020196248, -0.007844494, -0.012950063, -0.033478703, -0.016008085, 0.026259111, -0.0039023033, -0.0045205555, 0.003915599, 0.00004043259, -0.0035134025, 0.0023899113, -0.0058069197, 0.009160773, 0.011068714, -0.014199863, 0.0018697152, -0.014638623, -0.017444028, 0.008655534, 0.04206776, 0.0072262413, -0.00079026626, -0.013747808, -0.0005355695, 0.011188376, -0.0035998248, -0.0015448002, 0.0074921562, -0.0035532897, 0.039887257, -0.013654738, -0.010224434, -0.00087336474, 0.018640645, -0.025275225, -0.034568954, 0.031351384, -0.022323567, 0.006109398, 0.011733501, 0.014359412, 0.0015123918, 0.011327981, -0.006538186, 0.013641441, -0.009838857, 0.037520614, -0.0024214888, -0.0048629213, -0.0042513167, 0.00892145, 0.013588259, -0.00513216, -0.010729671, -0.015436368, 0.0008700408, 0.0065681017, 0.015609213, -0.0168989, 0.01405361, 0.035260335, 0.004670133, -0.026657984, 0.0035798813, -0.011952881, 0.013435357, -0.02713663, -0.009094294, -0.011294741, 0.010842686, 0.019956924, 0.018773602, -0.0020043347, 0.013063076, 0.0026741081, -0.017204704, -0.011627135, -0.034436, -0.00557092, 0.027708348, 0.023772804, 0.011221615, 0.008801788, -0.031723663, 0.039860666, -0.024703508, 0.005411371, -0.021618893, -0.009100942, -0.009539702, 0.019930333, -0.0300484, -0.005088949, 0.0063321018, 0.036137853, 0.008815084, -0.012777218, 0.02300165, -0.007452269, 0.011062066, -0.03382439, 0.017404139, -0.026471842, 0.015330002, 0.014332821, -0.014452483, 0.023280863, -0.003383769, 0.008741957, -0.005534357, -0.0032790648, 0.010098124, 0.008409563, 0.010131363, 0.03167048, 0.014811467, -0.010709728, 0.0060761585, -0.014040315, 0.0016993633, 0.017257886, -0.00023890805, 0.020488754, -0.011806628, 0.0065780734, 0.014691806, 0.003003178, -0.028319951, -0.028532684, -0.019398503, 0.0076317615, 0.021605598, 0.017218, -0.00006736168, -0.008648886, 0.025753872, -0.0018015744, -0.011952881, 0.008928098, 0.0138674695, 0.017218, -0.0010113082, 0.011567304, -0.68286985, -0.027096743, 0.01086263, -0.018680532, 0.023187792, 0.01539648, 0.0010320827, -0.0016536592, -0.0026541646, 0.022376752, -0.009061055, -0.0050789774, 0.0055410047, -0.0085558165, -0.010357391, -0.017231295, -0.031537525, -0.0026209252, -0.010842686, 0.021898104, -0.014824764, 0.013076372, 0.0059299055, -0.027947672, 0.006927087, -0.014877946, 0.00942004, -0.04281232, -0.0032774028, 0.020914217, -0.041376382, 0.021419456, -0.007246185, -0.02641866, 0.053475514, -0.015968198, 0.004606978, 0.045285333, 0.036270812, 0.04222731, -0.02332075, 0.0057670325, 0.012837049, 0.018148702, -0.025368296, -0.0038557681, 0.016274001, 0.011480882, -0.00817024, -0.025408182, 0.021592302, 0.008529225, -0.0038025852, -0.0114609385, -0.00088749145, 0.0120193595, 0.0076450575, -0.008529225, 0.0015647438, 0.01837473, -0.0038192049, 0.016925493, -0.015821945, -0.010490349, -0.007897677, -0.00063362566, -0.020661598, 0.002838643, 0.025487958, -0.011959529, 0.008549169, 0.0028186995, -0.0041017397, 0.018467799, -0.0005949849, 0.008250014, 0.025926717, -0.008728662, -0.015516142, -0.018454503, -0.006847312, -0.023121312, -0.022496412, 0.008622295, 0.017856196, 0.0049161045, -0.011932937, 0.008894858, -0.0020575176, -0.014399299, -0.0050656814, 0.028266769, -0.022669258, -0.009479871, -0.018401321, 0.024251452, -0.019571347, 0.02861246, 0.003011488, -0.017523801, 0.00031328117, 0.013880765, -0.008609, 0.00012579028, 0.023719622, 0.010649897, -0.025687393, -0.000015736769, 0.007332607, -0.024504071, 0.007339255, 0.014465778, -0.00901452, -0.009007872, -0.0010013364, -0.03393076, 0.03145775, -0.012936767, 0.02087433, -0.0017251238, 0.0013021528, -0.026737757, 0.030367497, -0.027309475, -0.007345903, -0.005514413, -0.007239537, -0.019358614, -0.0084959855, -0.012890232, 0.0035699094, -0.026564913, 0.008502633, -0.033558477, 0.011886402, 0.007611818, 0.040259536, -0.002356672, 0.016513323, -0.006770862, -0.00795086, 0.010430518, -0.015236932, 0.02491624, 0.0113745155, -0.022150723, -0.022948468, 0.0031677128, -0.0066512, 0.017098337, -0.006079483, -0.013415414, -0.008137001, -0.011946233, 0.006215764, 0.0034203322, -0.007252833, -0.012870288, -0.011367868, -0.011467586, -0.006986918, 0.014824764, -0.009798969, -0.01812211, -0.014744989, -0.014811467, 0.008010691, 0.043530293, 0.00942004, -0.026551617, 0.000070114314, -0.00817024, 0.00848269, 0.013315695, 0.006275595, 0.027788121, -0.015077383, -0.0237861, -0.029489977, 0.00022000314, 0.020954106, -0.00942004, -0.025208745, -0.002951657, -0.008928098, -0.0066578477, 0.0300484, 0.005421343, -0.013043133, 0.031750254, -0.007252833, 0.017191408, -0.014612031, 0.0031959664, -0.016739352, -0.046189442, -0.0059299055, 0.028851781, 0.019850558, 0.020329205, 0.003912275, -0.0015639128, 0.007831198, -0.0047432594, 0.0072794245, -0.028160403, -0.015502847, -0.019943628, 0.030128174, 0.010902517, 0.0042612883, -0.0078112544, -0.037946075, -0.010563475, -0.015316706, 0.052411854, -0.019491572, -0.0061492855, -0.011573953, -0.008868267, -0.0067874813, 0.0074722124, 0.0037527261, -0.0036097968, 0.0014816454, 0.02031591, 0.0068606082, 0.030872736, 0.015529439, -0.0039355424, -0.02607297, 0.009965166, 0.025607618, 0.013215978, -0.011101953, -0.011454291, 0.014359412, -0.013668033, 0.028346544, 0.0131627945, 0.004002021, 0.022589482, 0.003111206, -0.03164389, 0.012531246, 0.002140616, 0.019571347, 0.031404566, -0.009459928, 0.005311653, -0.007246185, 0.009174068, -0.013501836, -0.0033505296, 0.011454291, -0.021964582, 0.02988885, -0.008854971, 0.029569753, 0.035818756, -0.011155136, 0.010490349, 0.01743073, -0.016021382, 0.012338458, 0.013854174, 0.013249217, -0.0067243264, 0.001180829, -0.011121897, -0.0066844393, -0.012943415, 0.017483914, -0.01082939, 0.014957721, 0.003589853, -0.00067102, 0.007126523, 0.007299368, 0.032228902, 0.006804101, -0.044141896, -0.015981494, 0.0039255708, -0.0068938476, -0.007272776, -0.022363454, -0.026033083, 0.000076710254, 0.01317609, 0.03236186, 0.005095597, 0.008409563, 0.00311453, 0.015343298, 0.005414695, 0.03164389, -0.024397705, -0.0076051704, 0.013840877, -0.0047465833, -0.013681329, -0.0025361646, -0.023772804, 0.002203771, -0.010397278, -0.027814714, -0.0018813489, -0.0027688404, 0.018241772, -0.022655962, 0.013235921, -0.03377121, -0.015356594, -0.025953308, -0.0019262221, -0.01370792, -0.0156491, 0.03448918, 0.026033083, -0.026431955, -0.023626551, -0.009965166, 0.010443813, 0.09583578, 0.0050158226, -0.01749721, 0.017550392, 0.02106047, -0.006501623, -0.007844494, -0.025341703, 0.009626124, -0.012591077, -0.014000427, 0.004560443, 0.014638623, 0.014465778, 0.021525823, 0.012252036, 0.00807717, 0.0103175035, 0.010058236, 0.017803011, -0.0034469238, -0.0038557681, 0.018680532, 0.03605808, 0.009353561, -0.005959821, 0.0015065749, 0.011979473, 0.0055509764, -0.010064884, -0.020448867, 0.0012630965, -0.01768335, -0.024304634, -0.0012099134, 0.002250306, 0.00089247734, 0.030686596, 0.025328407, -0.026830828, 0.014518961, 0.02466362, 0.0031394595, -0.003649684, 0.006966974, -0.018879969, -0.009180717, 0.014518961, -0.00007504829, -0.01890656, 0.026033083, 0.020408979, 0.0019378558, 0.006564778, 0.003799261, 0.02140616, -0.012817105, -0.0040352605, -0.00707334, -0.020701487, -0.026365476, -0.009007872, -0.009313675, -0.00879514, -0.010084828, -0.03605808, -0.018800193, -0.0225363, -0.034728505, -0.017031858, -0.017098337, -0.019704305, -0.031138651, 0.01449237, 0.013654738, 0.0028236853, 0.017124929, -0.011248206, -0.005255146, 0.021711962, -0.013202682, -0.01590172, 0.010470404, -0.004660161, -0.014758285, 0.0087020695, 0.0154230725, -0.0011675332, -0.0009331956, -0.012351754, 0.0028652346, 0.0026624743, 0.018135406, 0.0051155407, 0.026910603, -0.0009955195, 0.0114609385, 0.0076517053, 0.017922673, -0.009666012, 0.035792165, 0.0014924482, -0.033053238, -0.0053282725, 0.0048463014, 0.000107300875, 0.004729964, 0.007352551, -0.011068714, -0.003169375, 0.010796151, -0.033345748, 0.021539118, -0.0049161045, -0.0133024, 0.017284477, -0.023812693, 0.023679735, 0.007877734, -0.011407755, -0.01104877, -0.0135749625, 0.013043133, 0.012624317, -0.011979473, 0.0076517053, 0.006986918, -0.007844494, -0.0123118665, -0.017018562, 0.0075054523, 0.031590708, 0.0019727573, -0.026618095, -0.01809552, -0.0010295898, 0.012172261, 0.016034678, -0.017311068, -0.0071597626, -0.03377121, -0.011507473, 0.007611818, 0.00043834432, -0.020116473, -0.022895286, 0.007718184, -0.014013723, 0.0042047817, 0.02228368, -0.011062066, -0.0011151813, -0.011786684, 0.011301389, 0.0036031487, -0.038637456, 0.0008933083, -0.0087020695, 0.012637612, 0.021618893, 0.032548003, -0.003546642, -0.0041549224, 0.007392438, -0.018255068, 0.015875127, -0.001499096, 0.009074351, -0.04387598, 0.0062124403, 0.015330002, 0.0063520456, 0.0142796375, -0.023520185, -0.00072794245, -0.0035566136, 0.009652716, -0.025660802, -0.015941607, -0.017311068, -0.0005517737, -0.0003562846, -0.0023450383, 0.029729301, 0.013907357, -0.0089081535, 0.00707334, 0.0024879675, 0.028532684, -0.0075918743, 0.037946075, -0.006385285, -0.0018481095, -0.0013910681, -0.000102678525, 0.0049426956, -0.012684148, 0.02175185, -0.019518165, 0.004650189, 0.011121897, 0.0029084457, -0.022908581, 0.015356594, -0.0063553695, 0.012099135, -0.014784876, -0.026471842, 0.01687231, -0.021326385, -0.015542734, -0.016473437, -0.048635863, -0.039834075, 0.018255068, 0.0011949557, -0.019039517, 0.021100359, -0.027282882, -0.034196675, -0.02200447, -0.009373506, 0.045737386, 0.0015273495, 0.027921079, 0.018507687, -0.004557119, -0.029144289, 0.009779026, -0.017696645, -0.009779026, 0.023360636, 0.02156571, -0.014319525, -0.0019428418, -0.0066146366, 0.008402916, -0.005793624, -0.02394565, 0.039009735, 0.023812693, -0.0016586451, -0.01724459, -0.032069355, -0.01092246, 0.016752647, -0.016406959, -0.007944212, -0.026298998, -0.0044175135, -0.027189814, 0.026245814, -0.031590708, 0.015090679, -0.0014326173, 0.005291709, 0.0073658465, -0.015077383, -0.007864437, -0.014811467, -0.00019154193, 0.022416638, -0.020382388, -0.005145456, 0.00832314, -0.00040344297, 0.0064118765, -0.002946671, -0.0076915924, 0.030340906, -0.012232092, -0.0035067545, -0.00028585867, 0.014173272, 0.016526619, 0.014332821, -0.0036629797, 0.0030347554, -0.027123334, -0.009725843, 0.017483914, 0.011507473, -0.015968198, 0.016034678, -0.019318728, -0.0008933083, -0.00052933715, -0.006770862, -0.00782455, -0.010590066, -0.0008168578, 0.014505666, -0.01317609, -0.0033472057, 0.008529225, -0.0013112936, 0.025767168, 0.028559275, -0.023586664, 0.0014550539, -0.019651122, 0.016380366, -0.015582621, 0.021898104, -0.005215259, -0.02006329, 0.0053648357, -0.010909164, -0.0054844976, -0.010616658, -0.009745786, -0.0034602194, -0.014957721, -0.025594322, 0.01918577, 0.017045153, 0.0069470303, -0.027016968, -0.014811467, 0.028479502, -0.017789716, 0.0044839922, 0.021685371, -0.0019411799, 0.022908581, 0.0029632908, 0.029011331, -0.004995879, -0.0053050052, -0.028851781, -0.0014833073, 0.03432963, -0.017537097, -0.0127240345, 0.0036197684, -0.0071464665, -0.014558849, 0.017696645, -0.0025428126, 0.018946446, 0.029942034, 0.02031591, -0.013182738, 0.005354864, -0.0020126444, -0.014877946, 0.0025394887, -0.008835027, -0.039169285, -0.030101582, -0.015436368, 0.017550392, 0.015968198, -0.006328778, -0.020462163, 0.02106047, -0.023892466, 0.006551482, -0.010290912, -0.00049983716, 0.014505666, -0.014731693, 0.0011658713, 0.038025852, -0.0056573427, 0.02394565, -0.0064019044, 0.009739138, 0.004776499, -0.0069802697, 0.0081436485, -0.010204489, -0.0057670325, -0.016779238, 0.012537894, 0.0033688112, 0.0019544757, 0.003972106, 0.002526193, -0.011181727, -0.015848536, -0.0020841092, -0.006594693, 0.0007570269, 0.019744191, -0.013894061, -0.03799926, 0.00676089, 0.019770782, -0.00069553405, 0.0024098551, 0.028426317, -0.009307027, -0.012790513, -0.009459928, -0.025142267, 0.0010794488, -0.03783971, 0.0072594807, 0.008196831, 0.0005954004, 0.022762328, 0.015157158, -0.022828806, -0.009273787, -0.0043177954, -0.008941393, -0.02757539, 0.0073791426, 0.0017533773, 0.00546123, 0.002089095, 0.01042387, -0.02988885, -0.013774399, -0.0025477984, -0.0077447756, 0.0014966031, 0.005514413, 0.000047080466, -0.013894061, 0.027708348, -0.020355796, -0.001178336, -0.007232889, 0.0026192633, 0.00092987163, -0.020608416, -0.0005933229, 0.01724459, -0.016832422, -0.018388025, -0.018786898, 0.010809447, -0.009041111, 0.027096743, 0.20081905, -0.008456098, 0.0032923606, 0.007179706, -0.014877946, 0.019012926, 0.02917088, -0.0055642724, 0.0025095732, 0.026777646, -0.01467851, 0.017709943, -0.00015393988, 0.00014178673, -0.004626922, 0.013588259, -0.017537097, -0.0025128971, -0.0115806, -0.014386004, -0.00835638, -0.015662396, -0.009552998, -0.0129301185, -0.0063520456, 0.013063076, -0.016406959, -0.021977877, 0.016194226, 0.006165905, -0.008163592, -0.00428788, -0.010696433, -0.009592885, -0.008137001, -0.012345105, 0.0016844056, -0.020182952, -0.002576052, 0.0071398187, -0.0075453394, -0.015861832, 0.010024997, -0.0034170083, -0.024105199, 0.013907357, 0.00077904796, -0.015250227, 0.020408979, 0.008017339, -0.02808063, -0.007864437, 0.0041083875, 0.022270385, -0.025527844, -0.016500028, 0.01715152, 0.0048463014, -0.0016503353, 0.002737263, -0.00546123, 0.03382439, -0.022935173, 0.01997022, -0.0041050636, 0.015157158, -0.043264378, 0.017324366, 0.001127646, -0.026751053, -0.005092273, -0.028346544, -0.0039288946, -0.0055077653, -0.010563475, -0.018268364, -0.00075162546, 0.03768016, 0.011121897, 0.023639847, -0.021605598, 0.007611818, -0.0034037125, -0.003912275, -0.0069403825, -0.012265331, 0.012265331, -0.015223636, -0.0052385265, -0.0025561084, 0.016632985, -0.020648303, 0.00089413935, 0.009080999, 0.017656758, 0.019917037, -0.0046801046, 0.02385258, 0.01039063, 0.016486732, -0.031697072, -0.03518056, 0.025155563, 0.014000427, -0.005208611, 0.0015580959, 0.019451685, 0.0038790356, 0.0024015452, 0.002356672, -0.009632773, -0.007086636, 0.0014533919, 0.0015971522, 0.013555019, -0.00008470848, 0.023240974, -0.0052817375, -0.0025527843, -0.0074456213, -0.0064617353, -0.026937194, -0.0127240345, 0.008303197, -0.028692232, -0.028745417, -0.018188588, 0.009911983, 0.0066744676, -0.045551248, 0.017909378, -0.020435572, 0.009792321, -0.0005858441, 0.0020093205, 0.031750254, 0.018175293, -0.015170453, 0.00018385531, 0.018175293, 0.003217572, -0.0010395616, 0.005720497, 0.004809738, 0.0021688696, -0.00879514, 0.028054036, -0.016553212, -0.032946873, -0.009566294, -0.037573796, 0.0067210025, -0.005959821, -0.004015317, 0.019066108, -0.024583846, -0.02547466, -0.023719622, 0.02475669, 0.012178909, -0.04602989, -0.0062955385, 0.017364252, -0.014625328, -0.00076450576, -0.005757061, -0.17188749, 0.015369889, -0.0010686461, -0.025581026, 0.0034535716, 0.0056706383, 0.0069204387, 0.009393449, 0.0042180773, -0.017975857, 0.015715579, 0.007153115, -0.03887678, -0.00428788, 0.009539702, 0.012624317, -0.014691806, 0.016074564, 0.021366274, 0.009167421, 0.031351384, -0.040365905, 0.021645484, -0.024769986, 0.013275809, -0.0073259594, -0.008828379, 0.006165905, -0.0030247837, -0.022682553, -0.017111633, -0.0061359894, 0.015915016, 0.008615647, -0.00087170274, -0.0016594761, 0.008648886, -0.0059099616, -0.020940809, 0.015954902, 0.022775624, 0.01687231, 0.027070152, -0.0018929827, -0.007784663, 0.020382388, 0.01583524, 0.0032524734, -0.0010877587, -0.018388025, 0.0042546405, 0.00452388, 0.012597725, -0.016832422, 0.021951286, 0.016991971, 0.0006211609, 0.014239751, 0.004500612, -0.008476042, -0.014731693, -0.015077383, 0.006365341, 0.0014342793, -0.001286364, -0.012584429, -0.014452483, 0.022150723, -0.009280435, 0.009227252, -0.010091476, 0.006867256, -0.005637399, -0.01414668, 0.004125007, 0.0013279133, -0.047279693, 0.011042122, -0.0069403825, -0.01539648, -0.0025345027, 0.039913848, -0.008668831, 0.019052813, -0.012418233, -0.009233899, 0.024650324, -0.015369889, 0.0000023030605, 0.014864651, 0.009586237, -0.016672874, 0.0011110263, -0.010058236, -0.014598736, 0.013202682, 0.021605598, 0.0008899844, 0.0015589269, -0.005049062, 0.010357391, -0.018042335, -0.021698667, 0.016141042, 0.0014708425, 0.016779238, 0.042838912, 0.0068406644, 0.018228477, 0.011753445, 0.009692603, 0.012597725, 0.019917037, 0.020302614, 0.0076051704, 0.0067775096, 0.0021472638, -0.005853455, 0.009267139, -0.0057504126, 0.044088714, 0.0010337448, 0.011128545, -0.0047565554, 0.004886189, -0.012690796, -0.10721695, -0.014891243, -0.009380153, 0.0022785596, -0.03180344, 0.03515397, 0.012451472, 0.02438441, -0.024118494, 0.01590172, 0.013960539, 0.004361007, -0.007831198, -0.006165905, 0.012876936, 0.0045205555, -0.008276606, -0.0266048, 0.0014284623, 0.015542734, 0.0017766448, 0.007186354, 0.007458917, -0.019332023, -0.021273203, 0.003962134, -0.02917088, 0.0046767807, 0.01136122, 0.018388025, 0.015489551, -0.0007657522, -0.007193002, -0.0035798813, -0.010643249, -0.0053648357, -0.0005463723, 0.013668033, 0.030074991, -0.042918686, 0.025979899, 0.0134553015, 0.011554008, -0.015542734, 0.013761103, -0.009373506, 0.005009175, 0.02861246, -0.000078424164, -0.049194284, -0.009519759, -0.039009735, -0.029995216, -0.018255068, 0.043716434, -0.00546123, -0.0015713917, 0.04438122, -0.004244669, 0.0029799105, -0.012099135, 0.0011351248, -0.002463038, 0.037041966, -0.0026458546, -0.0069337348, -0.010224434, -0.017816307, -0.00028627415, -0.013608202, -0.00007255533, 0.018441208, -0.023267565, -0.00588337, -0.0126642035, -0.009832209, -0.016327184, -0.036164444, 0.016566508, -0.0024514042, 0.007186354, -0.024291338, 0.0069802697, -0.008748605, 0.020661598, 0.01304978, 0.0066744676, -0.0076517053, -0.012065895, 0.0007067523, 0.012424881, 0.0063055106, 0.018201884, -0.015037496, -0.011201671, 0.00016401557, -0.010909164, -0.005860103, 0.0057138493, 0.009566294, 0.0007125692, -0.011919642, -0.027708348, 0.017444028, -0.0041748662, 0.0064717075, 0.02334734, 0.006485003, -0.017696645, -0.012192205, -0.018720418, 0.012697443, -0.025115676, 0.0134287095, -0.01148753, 0.025208745, -0.020488754, -0.007897677, 0.005780328, -0.0027106714, -0.00022582004, -0.007857789, -0.0011991106, 0.019584643, 0.01580865, 0.023865875, 0.0072860722, 0.03672287, -0.015050791, 0.012245388, -0.016726056, 0.018494392, 0.006551482, -0.03768016, 0.0034303041, 0.0047332877, -0.005394751, -0.026910603, 0.0013786033, 0.034409408, 0.015622509, 0.02156571, -0.0142796375, -0.03339893, 0.027282882, 0.008821731, -0.024278043, -0.0103175035, -0.031697072, -0.012185557, 0.012883584, -0.0036131206, 0.03499442, 0.015968198, -0.005314977, 0.0012988287, -0.012032656, -0.030925918, 0.02334734, -0.005800272, -0.005201963, 0.007232889, 0.0040485566, 0.014080201, 0.013009894, -0.00033634098, 0.00022935172, 0.03874382, -0.0060528913, -0.007997395, 0.009034463, -0.042546406, -0.023201087, -0.0062988624, 0.016473437, 0.036829233, 0.008828379, 0.007173058, -0.0054645543, -0.015768763, -0.011567304, 0.03076637, 0.011274798, 0.009945222, -0.010616658, 0.0046003303, 0.0067841574, 0.02422486, -0.002841967, 0.0017866166, 0.0021206725, 0.02184492, -0.02582035, 0.013282456, 0.021419456, 0.0150242, 0.008436155, 0.011314685, -0.015595918, -0.009885391, 0.008296549, 0.034010533, 0.01705845, -0.021326385, -0.02935702, -0.015622509, 0.004061852, 0.009300378, -0.004936048, -0.0118731065, -0.023294158, 0.03799926, 0.028479502, -0.018973038, 0.007984099, 0.011700261, 0.012265331, 0.016593099, -0.00494602, -0.011547361, -0.013568315, 0.0122055, 0.0018048984, 0.007944212, -0.00058750605, 0.0030364173, 0.014479074, 0.017696645, 0.0012124064, -0.019358614, 0.018228477, 0.011786684, -0.00791762, -0.014292933, -0.0041482747, 0.0041316547, -0.015263523, 0.007332607, -0.005846807, 0.036935598, -0.021951286, 0.0460033, 0.014612031, 0.0027040236, 0.0028718824, -0.0099053355, 0.02500931, 0.015768763, 0.0050590336, -0.015516142, 0.01802904, 0.0149843125, -0.0020625035, 0.015037496, -0.025301816, -0.034170084, -0.028559275, -0.022350159, -0.011068714, 0.012604373, 0.001931208, 0.027734939, 0.02334734, 0.008569112, 0.010636602, -0.004341063, -0.026485138, 0.038132217, -0.0006215764, -0.008675478, -0.022921877, -0.023719622, -0.016061269, 0.0010470405, -0.015688987, 0.01449237, -0.010669841, -0.0005039921, 0.007498804, -0.01042387, -0.002635883, -0.0029317134, -0.015157158, -0.0121057825, -0.02500931, 0.03079296, 0.01805563, -0.019850558, -0.008781844, -0.016792536 ] } ], "model": "text-embedding-ada-002-v2", "usage": { "prompt_tokens": 17, "total_tokens": 17 } } \ No newline at end of file diff --git a/src/test/resources/embeddings_create_base64.json b/src/test/resources/embeddings_create_base64.json new file mode 100644 index 00000000..aa64891d --- /dev/null +++ b/src/test/resources/embeddings_create_base64.json @@ -0,0 +1 @@ +{ "object": "list", "data": [ { "object": "embedding", "index": 0, "embedding": "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" }, { "object": "embedding", "index": 1, "embedding": "f492u48+dbyC/8M7PNkTvbd29bzq8YM8DkOnvHHW6bolUk07zAzRvIvUPzvs7rc83rFBPJOpO7vEN1W8/BwZvACM1Tyqtqa8VGTQPG3mD7z/jqG8b968PGElMLwvG4C8UfCMu75RCTzFrKk8nP2ZvG9dHzzpfmq8cNtwPHojhjvx0ki8gAcXOe1lR7xW29+8COCzu0DHMjspOao7+Suuu/uggjyYETa7MBg0PMwKlryjWLo7x6ldPKDtczzmCqc8O1+4vLfznDwvnB08QUEOPV8tg7tx1mm8fpAHPBx7ljuwGZq8pc2OPNrK5DtJnuk5WkhhO3ycULzOg2C8fhGlOwP5VrzT6R+6q7NavIhkcrzS8OG70u6mO/Bd9DzT69o6eSgNvDSFtbvaSUc8IGvwO1w8mLxwWBi8d7g/vJuDvrrsaJM8huunvGWNKr2debC79jx+O3e4vzuuogq9JschPPktaby4cW68Lx/2OGKahDzHKvs8k6cAPND677ysrBi8WFJvPGSSMT0wGu86V1MAvdpJx7t3szi7mYsRvaNYujn2PH68gn6mu2MdXTxKGEW8olsGPW7jw7xKFoq7t/VXO5cY+DozCR+94xeBPLnpDrvnBaC7Oupju4xJlLuXl9q7hW+RPG7lfjxWWIc82kKFvMM6ITyZDK88UnPlvN6vBr3RdEs7POBVOj9N1zwZiqs8kDczPJSktLud8wu9fZWOu3BYmLwGaSQ9SKE1vFVfSbzcuZS8NASYPIrZxjsIYdG79jz+O/qlCT1JGxE7eamqOqysGLwxkg+9DsZ/PKuxH73+k6g8MhDhPPweVLw+UKM86f3MvKbIhzwlS4u8gv2IPAvRHrvIJXS7lxa9PLjulbwABjE9SRsRPU6Fxjz/EXq7ilpkvAAGsbmAiLS8/4kaPT9LHL34MLU8fpCHPDj08Tz1P8o7xiYFvNrDorwl0a+8nH63vPDVFDuXGPg8+qWJPHezOLtkEZQ7GJHtPHTAkrwOwgm7e6FXvE2DizzOg2A8wr4KPN+survFsTC/7l4Fvaq2pjy0gZS8e5+cPPRE0TzBw5E8Ei8Lu0kbkbz0Qpa7behKvA7ERLxS64W88ssGPMek1rmfcd27kDluPIxQ1rse8iW8sBkaOzj08bwNSK47wEtxu6ZJJTzlkMs8tXyNPFw8mDwRt2q5BmtfvMcqezyxlTC7cdbpPDd427vWW6i7TYpNPXezuLpENLS8ilrkPNB3Fz2RsY483DqyO4P4ATsdeMo8Qr9fPF40xbqhYsg8eC2UPKRTMzqNxaq5b1/auz3UjDxIIlO8sJxyPDf3PTx+E2A8nP9UPBoGwjzKlcE7u2CevKq4YTv4sVK8A3g5O5Yd/7w3eFu8/J22u8cjubtqdAe9wEtxvLhxbjzwVrK8raeRPNrKZDxENDS7/ZgvO3PKoDypOpA82z+5PFF47LwD9xs74aIsPD/T+zwyEOG7wMpTvPwe1LraQoU8wsDFu/ivF706aUa6c8ogvCPZgrzUZTY8LKsyO00JsLyrMr28eC2Uu7ONXTxmiCO81txFPFJsozy6ZaW8xDUavAGADDryTCS7Vd4rPOKf4DysrJg6husnvIjcEjy/z9o87mBAvT9LnDyQNzO75o1/vL/PWryh6Ow7qzACvU/6mjxYz5a7KjZePArWJbx2PKk8qrhhvO1qzjzmCqe7ToVGPBcTnDz3tJ68YSfrvGzrFrvlD667ilMivCk5qjyI3BI9OHPUOzj08TwQO9S7MROtu2IborvtZcc7WsfDu0HEZrynwwC7jz51O5z4EjxZyg+8afqrvLGVsLzkkxe8mQ7qvLOIVjx8mpW7h+agvL9MAryPvdc8ErLjO5GzybvCuYO6VV2OvGgB7rvniPi62U7OPFHyxzy4ce67tX5IvAL8IrvOgSW97G/VvDlnizwADXO8WFC0vEclHzxhnwu8SRsROs//9jwG6Ia8dMASvF8xebzVYK+754j4PHNLPruaiMU880cdPL1WkLyowLS78VErOy+cHTuc+BI8WczKPCJhYjyowm873LtPvMFG6jzCvoq7Ps8FPApXQ7n9mK+8tIEUvAZrXzxv4Hc8lhtEOkSzFj03+fi7AAu4PGWNqrkVnsc7rSgvvWElMDwYke27t/VXvHLPpztr8ti7P0ucu5mLkbtkERS9iV/rPLGVsDw84NU7eavlO/krLjziHkO8pkklujpihLz0RFE85JOXvO1lR7xYUm876nlju3g01jysrlO7MRXou+aJibvtZcc8WFLvu8uQujy0AjK7g3tavO1jjDxCPAe9qjUJPSFkLryh42U8eLXzPMek1juUI5e8gQKQPPRCFjxV3qs83DoyPHa2hLzGKEA854SCvEO4nbsovZO8VOMyPJkOajwrL5y8xihAPEggGLnBRK88WFLvPJKuQjxCvSQ8KrMFvH4TYLs39YK7qMC0utH1aLzCuQM7xihAvO7forzvW7k73bZIPC+cnTzS8OE7mYuRPC4iwjr4sVK7kbEOPClAbDuK0gQ8YxYbvaFiyLxEtdE8Nf+QOwP3G7x5KI28RDS0vHezOLz2PH68Qj7CPOaNf7qe8L884Knuu4ZqCrwWmUC8sJq3vA+/vTyD+AG8R6SBPNLuprtaSGE7WFJvu14yijjCQeM67O43PMFG6jtzSYM7l5WfO3W7C7osq7K83TWrvI5DfLuhYsi6dcLNuxC6troahaS8XzH5vB33rLxu4Qg87WOMPBC88byIZPK8JsyovBoGwjzljpA9cNvwu/c397sXm3s86neou515MLxoAe68jMqxvOCpbjtXVTs7S5KgPP4URrvgpzM80XRLPMoWX7srMVc8jFBWPNbVAzxXV/Y719e+vOgAGbyBhWg8JswousifzzzkFLU8ypOGPM//djxBQ8k7jz71OzroKLsoxFW7MZRKPKNYOjps65a7YaSSOhC88buzhhu8p8f2ukkbkTsRNBK728VdPF+uILuMUFY8gYOtu8Q3VTyKWuS8nvC/uqbKwjxo/zK8vlX/uyi9Ez3ljpA6cVORvHTAErsyEGE6+DLwPMYmBTu385y7mojFOgtSvLyBBMu8Uu3AvNdWIbvRchA7Rq3+vE6FxryAim+8+ianu6ysmLzQdxc7fpLCO1hQNLxBQQ69/pMou8M8XDyJ1ws8KUBsvGp0B7z7oII6sRZOuy8f9jvY1PK8lh1/POp547n9Gc272cipvApViDvniHi8O94avFZc/Twce5Y8TI/Uu6FgjTynwwC84SNKPJx+N7sOQyc8n3FdPEyNGbynx/Y6F5v7OkM3gLwVHaq8uO4VvCbHoTxOhUY7eatlPIR2UzyVHhC9+ianvH2XyTxR8Ay9xTJOPOaJiTtXV3Y86XwvO1VdDjzHI7k8/ReSu0arw7xS7cA8QEjQvHmwbDwyjYg7kq5CvJOpO7zGKMA8Uu1AvJYbxLwpv048EbWvOzzg1TsI4u67EiqEvPc1vLzmiYm8SxGDPEqZ4jwL0R68BmtfvCTWtrwiYWI8TYOLPLMHObzrbZq754a9vFD1kztIo3A8cVORvH8O2TzEMBO7b948vKm96Dqfapu4Il+nOmIi5LspuAy83671vIGFaDz7I1s8fwyePFfUnTqQtpU8KEXzO2QRlLx9Fqy6YCzyumCrVDyi3l68QMntPEFBDjyQtpU802o9PIZsRbwYke27+qUJPaHjZbsYjzK5XbguvPFT5rwQujY5q7GfvJ3zi7xYUDS82srkO0FBDryMSZQ8tvijO3FVzLvSb8Q71tUDPWEna7omzKg8FxVXvH0WLLzYU1W8xDCTu+STlzsg6Bc8YiJkPGzrljytp5E7U2lXvNu+Gzyj2de8KbpHPN6z/LvMDNG7Mg6mung01rz0QpY8UnNlu8mYjbsSMUa9OuMhu8LARTy47hW8T/oaPcO7vrwbgJ270m2JOzIOprxxUxE9MRVoOnY8KT0xFeg8LxsAvI1EjbyI3JI7WsWIvLjwULxoAW66kLhQPJaaprzMCpY7/RnNO/BddDsyDiY854j4vGtvgDsh4xC7FpeFPNpEwLzNBQ+9AYdOvN+sujzdtI276ACZu3mwbLpiIuS73bbIu9nNsDves/y83651PGtvgDwi3gm9lCOXvEwOtzx1ws28YaZNPKZJpTzeMl88sZfruWn6qzxx1C470m9EPPoo4jsJXEq7Zwv8OlpGpjz9F5K85JOXvBC88bke8iU8MRXoPKPXHDtZSy28nPiSvH6Qh7yL1L+7Y5y/PKq2pjxhpJK8SCAYvJE0Z7xQ/FW7sBvVvCjEVTuh4aq6pkklvN6xwTqVIEu80u4mvK+dgzwah987qbstvCbMKDzTaAI98ssGvRkLyTzdtI28GQmOPBE0krqxkKk8eqSjO+eI+LqAim88lCVSu0UvrbtKFoq8SR3MuodnvrtAye0888g6vG5ipjxDN4A8vVYQO8M6obzDPNy8VGRQPKRTM7wH5/W61OSYPAZppLuJWKm7RDS0One4PzxaxYg7GJHtvGn85rxJnuk7moYKPbGXa7x0wJK7YCo3u5z4kryd+s28+qdEPNJtibrgKFG8ol3BPBqH3zxYUu+7sQ+MPN4wJL1x1uk6ETQSvN6xwbz+Eou8VGIVvAGCxzsuJP07oGfPO+cFIL1eMgq9UPdOu0uSoLzCwEW8YqHGu0at/jt+ksI8s4jWu/NHnbxaRqY7qjWJPCo23jvGKEA8cNk1PE/6mjxbwAE8WkamPKJbBryLTpu8j73XvOp54zxJHcw6X7DbO2eFVzzhIY+8mohFPPJMJLxQ/NW6PdvOuwji7js/zDk8LiJCvUWuDzuPvVc82FNVPEBI0DrXWFw8JschvJgRNrxHJZ+8zgR+u5z/VDt6I4a88VNmvDntr7vv3FY8xyp7PGeDHD2UIxc8TI9UO7SDTzs5bk27rSgvvCXRr7yNRsi70m0JvMek1rk2+om7UXjsu53zC70yDqY8vtImuyPZgrw39QK94hyIPKbM/TsOwom8lCMXPItVXToPwXi888i6OyNcWzpJHUy5shHHuzj0cTxJHcy64xcBvEatfrooRfM7/w+/PB51frsJ3ec8aXtJPpz/1DsH53W8HH1RPRA7VDtYUu87VOMyPJkO6rnFK4w7uO6VPF03kbzpfmo80fOtvGvwHTvvYns8Q7rYvOiD8bzT61q7GoUku6fH9rv4rxe8nvVGvLb63rzW1QM8EDtUPEI8h7tQdrG7kygePOl+6jzZyCm63LtPvIfo27xHpAE8qb3oO5GzybxW2aS7YiLkO5oHKLxCvSQ9jsCjPDCXlrxfrqA82c2wuut0XLwpuke8qTqQPEmeabzP+wC7iVgpPD/O9DxiGyK9lxSCO8YmBT2xFk49Dz4gvIjckjx3uno81OSYPNF0y7uQuNC88VNmvPydNj22+CO9ETbNPMI/KLyBhWg68NfPvKBlFLx3uno8ZglBvKbMfToRNJK5eDTWOjrq47teNEW8SpcnvdbcxTxzzNs8tIPPPKPXHDx/iwC9B+d1Oz9N17zu36K86/O+u1dTAL1Es5Y8i884u5qGirzaSce6m4EDPBx7FrzbwNa7ryDcuwfndTzog3E8b+D3OzpihDw91Ay9rKyYPCBr8LuaB6i88VNmPPwcmTvZyKk7jj+GOYVvEbwpv048wMrTu3ojBrxeMoq7pc0OvY4/hjwFbiu8WFA0u+eEgjsziIG6vtImvEarwztyz6e7UXEqvEapiLxOhUY75gonPKBlFDzIn0+8wUZqPMkbZrofcPc7lSBLvQEIbLximoS8h2n5PJ9qm7uyDMC6w7u+PM/9uzwedf68cVMRPBx9Ubz/jiE7v8/avBShEzu5bGc879qbPJqIxbw2/EQ8ilpkO3+Nu7wCfUC8AgNlvKysmDyZDmq8p0QePHmr5TxBxGa86/O+vKDtc7woPrE7RyWfPEapiLwcexY91d+RPHNJA7x6Iwa9WkYmPFTjMr6385w8TA63PKZLYLwRNJI7DMwXPH2XSbxNik08w7s+O6HobDrlkMs6QEYVPBoEh7xp/Oa7DcnLugxNtbviHAi8MBg0PNNqvTwK2OA7ZgnBOz7RQLw/Sxy7dbuLuxz8MzzOg+C72NK3vJQjlzw/Sxy8pc/JvPgy8LvkldI7WsUIPACFkzz/jqE74aKsPIpaZLwH5Tq87l4FvbhxbjtzSYM8g/q8OxuAHTxFrg881tqKvMWxsDyDeZ885gqnPIrZRjx3szi8LiT9PIhit7yAB5c7v1B4Oio2XjzX2fk8/hILOzWALrtr8tg68VNmvGGfC7w0BBi9mYuRvPJMJLxBQQ68GoffOWeDnLwxkg88QMeyvJ15sDx/j/Y70m/EvC0nSbxkGNa7DUiuu2iAUDy91y29d7r6O4jckjymyIe8uHHuOs6D4DyH6Nu7lpomuzpihLver4Y8QcTmOtpEwLszC9q8eiXBvN6zfDwLUAG9vNy0uPix0jp4L08563KhO/c39ztmCUG7p0bZu5kOajuquGE82NRyO7GVsLyXFAI6sQ+MPM/9uzwSKgQ9iGRyPGcG9TzR9eg7racRva2nkTzp+5E8HnNDPBWcDLwwGu+7p8U7O0+Av7w2/n877+FdvI+7HD0OxES75otEvHBYmDxR8Iy7iNwSvCXRr71+kIe8AYCMPNZbKD1mBwa6t3Z1PMekVrwJWo88TI9UvGvwHT34MnC75Y6QvAXvSDpFrg+9Jk3GPBmM5jtR8se8t3Q6u2MWm7wSMUY8KEVzO8HDEbxOfoS7MJlRvMekVrz3Nbw7U2ccvXPKID0Ga188fZdJu8gesjx4tfO7CtYlPJz9mbxw2bW8uekOvF8tg7wkVZm780cdPNdWIbxzzNs7Q7pYPKVOLDzawyK9hmoKu+eEgrsj2QK9qMC0PPomJ7vNhqy8/ZivvA5DJ7yDeR+854QCvCBr8Dy4cW68YaQSPBC6tjwG7Py88FjtO08B3TsF7Q08kqwHvajAtDyrsZ+8mJCYPHsgurzHKvu8itnGOzf1grx+EaW6yB4yPY3FqrwPwXg8oOaxvGvyWDs2/v+8KEM4vOSTlzz0Qha9OWeLvPFT5rzq8QM8KUBsvIP4gTvuXoU8goBhPEihNbyuI6g8lKQ0uywqFTvyTKQ8Cd3nu8wKFr35qhA7umfgu/mqELxPAV28jMoxOQbsfLspuIy8GoWkvHHULr2H6Fs8idcLOzKNiDsLUjw8oWCNOwCFE7xbwjy82srkvC8dOzxIIBg7C1CBPMsR2LuJX2u8yhZfvFw8GDvOgSU85wdbvKysmDzDOiG8gAlSO5C2lTuj15w8CVqPPGQRlLwiYWI5AgPlu5UgSzyXFIK8QUEOvcWsqTtyUMW8sBvVO515MD1mCcG7zgT+vAN4ObzJGSs8IOiXPCfCGrtW2aS8gYXovPRCljyh6Gy7274bu9dWobshZmm8HnEIvDrq4zwwGDS7zoPgO2iA0DyD+AG80m0JvUcn2rtGrf68E6YaPManojyYE3E854j4vArY4DxaSGE8T4J6Oqq44TuUJdI8Ra6PuxIvizv9F5I8Kb9OuwlcyrwIX5a8oGzWuq+dgzyAim88MZRKu3mrZbzbvps8z/uAuxYa3rz2OAg9LiT9O/PIuroUoZO8NQHMO3ojBrwMzlI811hcuwCFEzwvGwC8wr4KPXPKoLwIYdG7xSuMPJ3zizwtJQ47aH4VPMK+ijtYUDS8oWLIPB9sAT3fKx28OHEZu+YKJ7qYEba8SZyuvGIgKTwWl4W7fZdJvKysmLvbvps8umdgPArYYDyvnz68NASYPMgl9LwTrdw78FjtO5Yd/7yPPDq8jz71PEekgTyG6yc7Zwb1O2zrFrwoPjG72c/rOssRWDxW2aS897bZuy8f9jvgqW487t8ivGQRFLt5KI081tUDvEij8LuTpwA8GQkOPUqXp7sH53U9V1W7uX2XybxiIuQ7iONUPG9f2jkuo188uO6VPJUekDty0eK6ToVGuxQnuLxhJ+s8jkN8OG9f2ryrs9q8yxFYvL1YSzz5Lem8VOOyO0ihNTwqtUC8b948PTxaMTwJWo+7rx6hutvF3Tpu5f67jFBWO/Y6Q7wBgAw8+LFSPM4Efrwga3C8kDluPFdTALxcvTW8gYMtvL/NH7ue7gQ8gn4mPKdG2TuYE3G8AA1zvPFT5jzlkMu6+aoQvOcH27l8nNC8" } ], "model": "text-embedding-ada-002-v2", "usage": { "prompt_tokens": 6, "total_tokens": 6 } } \ No newline at end of file diff --git a/src/test/resources/embeddings_create_float.json b/src/test/resources/embeddings_create_float.json new file mode 100644 index 00000000..9f8a738a --- /dev/null +++ b/src/test/resources/embeddings_create_float.json @@ -0,0 +1 @@ +{ "object": "list", "data": [ { "object": "embedding", "index": 0, "embedding": [ 0.006234998, 0.0013839679, 0.0058014053, -0.010702013, -0.017760502, 0.017760502, -0.012382605, -0.0212158, -0.012443107, -0.02995488, 0.012234713, 0.013337182, 0.0057509877, 0.008302127, 0.00049745536, 0.0016721896, 0.018311735, -0.025141664, 0.038478844, -0.02075868, -0.018177288, 0.0013974126, -0.015676567, -0.0141438665, 0.006772788, -0.01679248, 0.01911842, -0.02277539, -0.0038048613, -0.038640182, 0.023824079, -0.0025830707, -0.01858063, -0.007703836, 0.014305203, -0.009928941, -0.006530782, -0.0017578998, -0.010486897, -0.006288777, -0.0033998387, -0.0071122674, 0.014533764, -0.0050048046, 0.0009772645, 0.010016331, 0.009323927, 0.001622612, -0.01072218, 0.0373226, 0.007448386, 0.01546145, -0.035386555, -0.019454539, -0.009290315, 0.003154472, 0.002635169, -0.011643144, -0.0020099885, 0.00011774651, 0.001066336, 0.0037578049, -0.02277539, 0.017733611, 0.005223281, -0.008476908, -0.022156931, 0.013148955, -0.0186613, 0.0003701505, 0.018446183, 0.018728523, -0.0022503133, -0.015206001, 0.0022990506, -0.013753969, -0.0055963728, 0.0048871627, 0.0094180405, -0.0014150589, 0.01727649, -0.030196887, -0.019185644, -0.025571896, 0.008718913, -0.008833194, -0.01630847, 0.036999922, -0.0036670528, -0.014170756, 0.010130611, -0.003068762, 0.03148758, 0.020153664, -0.012301937, 0.012900228, 0.020059552, 0.024469426, -0.0031326243, -0.0029830516, -0.009229814, 0.008019787, 0.0012217907, -0.00802651, -0.009478542, 0.009229814, -0.008550854, 0.0006739176, 0.01727649, 0.00018791125, 0.005075389, 0.039984655, 0.008053399, -0.062598705, 0.005266977, -0.017343715, 0.007414774, -0.00876597, -0.01256411, -0.013969084, 0.0036636917, 0.019279758, 0.0075290543, -0.017236156, 0.02266783, 0.0121406, -0.020059552, -0.022197265, -0.014560653, 0.008779415, 0.019750323, 0.012806115, 0.023662742, -0.008181124, -0.019199088, 0.004093923, -0.016241245, 0.009424763, -0.015972352, -0.012187657, 0.0028402014, 0.03678481, -0.008860083, -0.006396335, 0.0000064761894, 0.024012305, -0.014668211, 0.010883517, 0.010291948, -0.027292822, 0.023971971, -0.025424004, 0.014251424, 0.0006911437, 0.005992993, 0.012496886, -0.0074416636, 0.028207064, -0.01551523, 0.010903684, 0.025208887, -0.0009520556, 0.009996164, -0.013565742, 0.002734324, 0.0339883, -0.013390961, -0.010601177, -0.001420941, 0.00007410363, -0.0020906571, 0.020973794, -0.023689631, 0.01699415, -0.018284846, 0.01937387, 0.014399316, 0.024644207, -0.015152222, -0.018822636, -0.013001064, -0.0034300892, 0.024590429, 0.007582833, -0.0010612941, -0.0043157614, 0.020328447, 0.013370793, 0.0047191037, -0.009001253, 0.022022484, 0.013767414, 0.011495252, -0.014614432, -0.68492883, -0.049046412, -0.007945841, -0.013525409, 0.005720737, 0.024415648, 0.010957463, -0.004836745, 0.0004697256, -0.0001287754, -0.011051577, -0.0029376757, -0.0029259115, -0.0041880365, -0.01858063, -0.008584467, 0.00748872, -0.017384049, -0.008523965, 0.015972352, -0.026902925, 0.008295405, 0.004053589, 0.006957653, 0.029148197, 0.0070719332, 0.008181124, -0.024576984, -0.012927118, 0.012100266, -0.055715002, 0.032751385, 0.005199753, -0.006214831, 0.05689814, -0.025034105, -0.01687315, 0.03659658, 0.021686366, 0.033907633, -0.03412275, 0.005377896, 0.039715763, -0.003946031, -0.029847322, 0.013034675, 0.042108927, -0.016846258, -0.004309039, -0.0065812003, 0.047406152, -0.011038131, 0.013532131, -0.0037678883, -0.010587732, -0.019306647, 0.019736879, -0.02011333, 0.0005646791, 0.02249305, -0.007589556, 0.014385872, 0.00029935554, -0.01582446, 0.015595898, 0.010896961, -0.039957765, -0.0045375996, 0.02300395, -0.016389137, 0.012530497, 0.0048636347, -0.002226785, 0.019992327, 0.012785948, 0.010883517, 0.01395564, -0.027104596, -0.005885435, 0.014627877, 0.008456741, -0.001449511, -0.02740038, -0.008833194, 0.024455981, -0.02169981, -0.029766655, -0.015448006, 0.023756856, -0.028879302, 0.015179112, -0.00001325436, -0.0048535513, -0.026983593, -0.009512153, 0.035951234, -0.010574288, 0.016362248, 0.011226358, -0.008927307, -0.007979454, 0.026526472, -0.005075389, 0.01551523, 0.015864793, -0.0012033042, -0.014318648, -0.004940942, 0.027749943, -0.049826205, 0.002152839, 0.014520319, -0.006527421, 0.012732169, 0.010278503, -0.03202537, 0.027440714, 0.0066921194, 0.013122066, -0.01594546, 0.02719871, 0.0039393087, 0.024966883, -0.020503229, 0.007213103, 0.019239422, -0.005125807, -0.019736879, 0.017854614, 0.0037006647, 0.015972352, 0.0043493733, 0.033880744, -0.020772124, 0.036542803, -0.0049308585, 0.0059459363, -0.0005087994, 0.042646714, -0.028637296, -0.029847322, -0.0015318601, -0.0040266993, -0.0048569124, 0.010117167, -0.028018838, -0.028153285, -0.013464907, -0.010063387, 0.0057005696, -0.00078399637, -0.016483251, -0.035198327, 0.0105205085, -0.011159134, -0.018392405, -0.0009949107, -0.005996354, 0.0024939992, -0.008523965, 0.014587543, 0.025397113, -0.032159816, -0.008470186, -0.0094650965, -0.025988681, -0.0017780669, 0.018620964, -0.0006718168, -0.036569692, 0.013693468, 0.0016898357, -0.007085378, 0.003579662, -0.0032065704, 0.009223091, 0.0037510823, -0.032186706, 0.0042451764, -0.008900418, -0.00089659606, -0.005717376, -0.0242812, 0.0003424207, -0.017652944, 0.0007608882, 0.019925104, 0.011434752, 0.0119120395, 0.007199658, -0.004013255, 0.008167679, -0.0020066274, 0.0048064943, -0.008644967, -0.01546145, -0.027776832, 0.01446654, 0.010043221, 0.011791036, 0.019078085, -0.01906464, 0.008920585, -0.035924345, 0.015421117, -0.039957765, -0.010406229, -0.01605302, 0.004557767, 0.010002887, -0.0053106723, -0.042539157, -0.018553741, -0.009350817, 0.008960919, 0.043103836, 0.013874971, 0.011387695, -0.0050249714, -0.037026815, -0.015165666, 0.013572465, -0.013209457, -0.027104596, 0.010567565, 0.0053005884, 0.01262461, 0.015569009, 0.0005562761, -0.0021578807, -0.008429852, -0.003179681, 0.00955921, 0.0070383213, 0.0060434104, -0.017545385, 0.021094797, -0.037295707, 0.014842993, 0.023407292, 0.0067492593, 0.031595137, 0.0074954424, -0.012369161, 0.020691454, 0.015569009, 0.013142233, -0.01174398, -0.011266692, 0.010218002, -0.009149145, 0.013431295, -0.023393847, 0.016725257, 0.020946905, -0.02096035, -0.0119120395, -0.005868629, 0.0061308015, 0.035467222, 0.0027645747, 0.011663312, 0.023662742, 0.011602811, 0.024966883, 0.006634979, 0.008483631, -0.0019108336, -0.009626433, 0.0024822352, 0.01733027, -0.00094617356, 0.007381162, -0.004598101, -0.0029175086, 0.006282055, -0.0019830992, 0.021404026, 0.017693277, 0.022452716, -0.022708166, -0.03460676, -0.0040771174, 0.013969084, -0.0011243164, -0.017088264, -0.03261694, -0.004013255, -0.0055257883, 0.0036300798, 0.0058417395, 0.014937106, 0.010170946, -0.005690486, -0.015031219, -0.009982719, 0.01395564, -0.007360995, 0.010702013, -0.01134736, 0.009478542, -0.009344094, 0.000618458, -0.020194, 0.015286669, 0.010029776, 0.00014232518, -0.011871705, -0.005253532, 0.01293384, -0.033208508, -0.026109684, -0.01421109, -0.0212158, 0.021686366, -0.025155108, -0.0047728824, -0.010318838, 0.018688189, 0.008584467, -0.01804284, 0.0038451955, -0.014560653, 0.0010453286, 0.07281671, 0.017370604, 0.00073357864, 0.018741967, 0.009807938, -0.003105735, -0.013249791, -0.01599924, -0.0042115645, -0.0070383213, 0.005690486, -0.014789213, -0.017491607, 0.015622788, 0.012577554, -0.010769237, -0.005035055, -0.006944208, 0.018688189, -0.010076832, -0.017989062, 0.00055417535, 0.01577068, 0.0212158, -0.00075836736, 0.00737444, 0.008127345, -0.0044434867, 0.016779035, -0.009377706, 0.01228177, -0.008839916, -0.0144799845, -0.0005356888, -0.018930193, -0.024012305, -0.0064064185, 0.007838284, 0.009935663, -0.012180935, 0.018567186, 0.0032485852, 0.020288112, -0.004702298, 0.007871895, -0.013848082, 0.012940562, 0.003599829, -0.019871326, -0.033208508, 0.038102392, 0.0056266235, 0.0055358717, 0.00348891, -0.0033779908, 0.03509077, -0.016456362, 0.0016604253, -0.006322389, -0.0002762474, 0.0015696734, -0.01659081, -0.00074954424, 0.0013696828, -0.016711812, -0.011320471, -0.004201481, -0.0013167443, -0.004309039, -0.014533764, -0.0045039877, 0.007065211, -0.03361185, -0.010533954, 0.0050653056, -0.015125332, 0.011461641, -0.020328447, 0.01625469, 0.0011335596, 0.01421109, -0.015891682, 0.008329016, -0.019212533, -0.03463365, -0.00079071877, 0.009243258, -0.018728523, -0.015044664, 0.013323737, 0.04092579, 0.0056434297, 0.014641321, -0.011333915, 0.013101899, -0.0010419673, 0.023918193, 0.009041588, -0.006846734, 0.0033225312, 0.007986176, -0.022546828, 0.014829548, 0.0026586973, 0.013317015, 0.014318648, 0.01858063, 0.028959969, -0.012409495, -0.020745233, 0.0041510635, -0.021094797, 0.01199943, -0.0027796999, 0.0063358336, 0.006386251, 0.0015209361, 0.0146951005, -0.010594455, 0.018473072, -0.008604634, -0.015407672, 0.037430156, 0.0018133593, -0.005996354, -0.012960729, 0.008638245, -0.029363312, -0.009787771, 0.007925674, 0.009061755, 0.012113711, -0.013995974, -0.023985416, -0.011804482, -0.011871705, -0.01659081, 0.010150778, -0.0072937715, -0.018701633, -0.020839347, -0.0053342003, 0.009095366, 0.010533954, 0.009498709, -0.018674744, -0.010170946, 0.017236156, 0.028610406, 0.017007595, -0.014076643, 0.0037880554, -0.023178732, -0.0010999477, 0.0042048423, -0.027360046, -0.006742537, -0.0026939898, 0.030089328, 0.013942195, 0.03678481, -0.0016133687, -0.0006646743, 0.004399791, -0.018204177, -0.00005687755, -0.01574379, 0.007481998, -0.026311357, 0.013357349, 0.026687808, -0.0045375996, 0.016133688, 0.00049283373, -0.019777212, 0.018755412, 0.0054417583, -0.011058299, 0.0010764195, -0.019978883, 0.0034132833, 0.0026654196, -0.026808811, 0.01188515, 0.016725257, -0.009821382, 0.039393086, 0.0054451195, 0.016187467, 0.00032162337, 0.006651785, 0.018056285, 0.008712191, 0.010816293, 0.0020385587, -0.010123889, -0.0021293107, 0.007966008, -0.0030822067, 0.025370223, 0.011723813, 0.007730725, 0.0016368971, -0.009518876, -0.028099507, 0.030358223, -0.008147513, -0.019320091, 0.004540961, -0.009310482, -0.03154136, -0.016039575, -0.019750323, -0.03869396, 0.002499041, -0.004688853, -0.017182378, 0.013653133, 0.0005894678, -0.01605302, 0.014197645, -0.013606077, 0.019965438, -0.00011711629, 0.021914925, 0.006503893, -0.006957653, -0.029551538, -0.011448196, -0.028744854, -0.025168553, 0.019037751, 0.007992898, -0.010567565, -0.005435036, 0.008093733, -0.0052434485, -0.0019780574, -0.024832435, 0.016442917, 0.019320091, -0.010843183, -0.023864413, -0.020557007, -0.00013486754, 0.00007588926, -0.0014848035, -0.00853741, -0.01123308, -0.015474896, -0.028126396, 0.010870072, -0.018567186, 0.015219445, -0.0076097227, -0.02788439, -0.001103309, -0.009095366, 0.016416028, -0.002342746, -0.00229737, 0.030196887, -0.015058109, 0.0091289785, 0.0049308585, 0.0065173376, -0.0057308204, -0.0073542725, -0.0064803646, 0.0268357, -0.024213977, -0.000317632, 0.011562476, 0.01676559, 0.0056568743, 0.012328827, 0.00089239463, 0.0014310245, -0.014332092, -0.004695575, 0.03207915, -0.0032233763, -0.00076803076, -0.005156058, -0.020046107, -0.005223281, 0.0010940657, -0.0014251424, -0.015636232, -0.029551538, 0.0065106153, -0.005687125, -0.015528674, 0.010634789, 0.019467983, -0.010103722, -0.01202632, 0.01804284, -0.020194, 0.02011333, 0.0015881599, -0.004030061, -0.005085473, 0.0007306376, 0.023662742, -0.028529737, 0.009740714, -0.019696543, -0.011925484, -0.0011360805, 0.017773947, 0.01256411, 0.009653323, -0.022560274, 0.027857501, 0.013478352, -0.0059358524, -0.034257196, -0.02374341, 0.025921458, -0.020180555, 0.014533764, -0.0044770986, 0.008355906, -0.0004697256, -0.013027953, 0.008517243, -0.0017158849, -0.0060803834, -0.007139157, -0.0066181733, 0.021995595, -0.012658223, -0.01761261, 0.005747626, -0.0020032662, -0.0073206606, 0.012113711, -0.019320091, 0.0070719332, -0.004399791, 0.028798632, -0.015864793, 0.020946905, -0.005636707, -0.014963996, 0.00521992, -0.013357349, -0.03264383, -0.004050228, 0.00638289, 0.026324801, 0.009875162, -0.021336801, -0.022022484, -0.012174211, -0.03207915, 0.022439271, -0.0047829663, 0.00394267, 0.012859894, -0.016604254, -0.009875162, 0.018217623, 0.004614907, 0.009256704, 0.011085188, 0.0023881218, 0.012517053, 0.01421109, 0.010675123, 0.0030032187, -0.011582644, -0.0121406, 0.009626433, 0.013861527, 0.010876794, 0.012221268, -0.0023410653, -0.00061761774, -0.011132245, -0.0014478305, 0.010480175, -0.0015671524, -0.0033258926, -0.03818306, -0.00095793774, 0.009028142, -0.0026301271, -0.009485264, 0.009720547, 0.000012309027, -0.0053846184, -0.0060568554, -0.0009419721, -0.004309039, -0.0013411128, -0.0050619445, 0.020704899, -0.0018066369, 0.01911842, 0.02118891, 0.014600988, -0.021753589, -0.00034641213, 0.008786137, -0.0032956419, -0.011864983, -0.006288777, -0.0122011015, -0.005468648, -0.0096802125, -0.0028032283, -0.0077508925, 0.005435036, 0.011737258, -0.021914925, -0.024402203, 0.019185644, -0.0032637105, -0.014130422, -0.008013065, 0.0007474435, -0.016066464, 0.017034486, -0.0018318458, 0.010110444, -0.022156931, 0.01251033, -0.0072198254, 0.008167679, -0.02507444, -0.018029395, 0.0015436242, -0.0007663502, 0.011293582, 0.22737744, 0.00030019582, -0.0043325676, 0.021094797, 0.008261792, -0.009041588, 0.021686366, -0.0022990506, 0.013780858, 0.021578807, -0.015690012, -0.002062087, 0.0054921764, -0.002606599, 0.014681656, 0.0018234429, -0.009055032, 0.011589366, -0.017209267, -0.011575921, -0.00048695167, -0.018715078, -0.034042083, 0.0013150636, 0.023703076, 0.0125842765, -0.0144799845, 0.0006642542, 0.024187086, 0.016483251, -0.0064064185, -0.0014848035, 0.002277203, 0.012880061, -0.0068198442, -0.026526472, 0.005818211, -0.00348891, 0.030976681, 0.032670718, -0.023595518, 0.0041342573, -0.0132565135, -0.02118891, -0.012886783, 0.01100452, -0.015031219, 0.0005890477, -0.0050989175, 0.023528295, -0.032374933, -0.018002506, 0.019750323, 0.030600227, 0.0007961807, -0.0077508925, 0.023461072, 0.016886594, -0.004409875, -0.018365515, -0.008201291, 0.037672162, -0.024993772, 0.010036498, -0.005939214, 0.012685112, -0.008013065, 0.0027242403, 0.011118799, -0.001585639, 0.016416028, -0.0126515, -0.015353893, -0.016940372, -0.008167679, -0.029712874, 0.015434561, -0.00071635254, 0.022654386, 0.01837896, -0.00354605, -0.001917556, -0.01276578, 0.0021427553, -0.002688948, -0.02331318, 0.01304812, -0.0028721325, 0.020530118, 0.0063694455, 0.0076030004, 0.0059324913, 0.00788534, -0.033316065, 0.0007209742, 0.0073677176, 0.013115344, 0.017128598, 0.00933065, 0.012053209, -0.007024877, -0.03966198, 0.009713825, -0.006537505, 0.0268357, -0.016658032, 0.00041090485, -0.00666523, -0.0014058156, -0.015555564, 0.008671857, -0.027669275, 0.005472009, 0.0006083745, 0.00904831, -0.0080735665, 0.020704899, -0.025114775, 0.014627877, -0.020247778, 0.027521383, -0.0065744775, 0.006917319, 0.01888986, -0.01165659, -0.0054619256, -0.0069374857, 0.0014226215, -0.0060198824, -0.037941057, 0.011058299, -0.012261603, 0.021054463, 0.005149335, -0.0025645841, 0.008302127, 0.033504292, 0.015958907, 0.010386062, 0.00053190754, -0.009902051, -0.009868439, -0.020866236, 0.015448006, -0.004517433, -0.026324801, 0.027131485, -0.018594075, -0.018217623, -0.006234998, -0.010554121, 0.01021128, -0.021041017, -0.028583517, 0.0073139383, -0.018903304, -0.034472313, -0.03043889, 0.0072265477, 0.028744854, -0.023124952, 0.015985796, -0.0073341057, -0.02065112, -0.020812457, 0.022681275, -0.17542696, 0.011354083, 0.035359666, -0.027615495, 0.032858945, 0.009350817, 0.0009923899, 0.008382795, -0.014439651, 0.0028603685, 0.008087011, 0.017868059, -0.018513408, -0.033316065, 0.0027124763, 0.011165856, -0.010150778, 0.014049754, 0.035386555, 0.0065543107, 0.026795367, 0.0076433346, 0.002845243, -0.012900228, -0.0054417583, 0.0008638245, -0.016120244, 0.022345157, 0.008039954, 0.018741967, -0.0103524495, -0.0015234571, 0.0030133023, 0.0268357, 0.022681275, -0.009135701, -0.012106989, -0.004231732, -0.033907633, 0.031568248, -0.00061551697, -0.003949392, 0.011723813, -0.0063156667, -0.0053140335, 0.010648234, 0.0013915306, 0.003979643, -0.0015696734, -0.027857501, 0.019024307, -0.030277554, 0.016012685, -0.0021024211, 0.026109684, 0.0242812, -0.0013595993, 0.014506875, 0.025060995, -0.014399316, -0.028233953, -0.037376378, -0.004944303, -0.018983973, 0.01594546, 0.005636707, -0.017894948, -0.00028738132, -0.015609343, 0.01251033, 0.00012121273, -0.012106989, 0.0075156097, -0.035763007, 0.023810634, -0.006419863, -0.026701253, 0.0021209077, -0.00510564, -0.0065442272, -0.016900038, 0.0258139, -0.0070383213, 0.007179491, -0.014090087, 0.024738321, 0.01472199, -0.0024923186, -0.02890619, -0.0019427649, 0.0067223697, -0.011562476, -0.010802848, -0.0069307634, -0.0036199961, 0.017545385, 0.022990504, 0.00354605, 0.0048938855, 0.0046821306, -0.0038115836, -0.000008074721, -0.0028687713, 0.02658025, 0.00479305, 0.0015503466, 0.039715763, 0.0006310625, 0.028744854, -0.014574098, -0.00518967, 0.008739081, 0.013942195, -0.009639879, -0.016429473, 0.01605302, 0.012577554, -0.014332092, 0.0019125142, -0.032348044, 0.051923584, -0.0037510823, -0.013182567, 0.003001538, -0.010587732, -0.017478162, -0.08852017, -0.02039567, 0.014358982, 0.0006974459, -0.003962837, 0.037430156, 0.004214926, 0.011965819, 0.001863777, 0.019387314, -0.003946031, -0.024966883, -0.015165666, -0.0038384732, 0.010688568, 0.0051661413, 0.011253247, -0.004382985, -0.01023817, 0.011602811, -0.007945841, 0.014305203, 0.0010881836, -0.024455981, -0.02947087, 0.00015808073, -0.022358602, 0.024671098, 0.014668211, -0.0035225218, 0.012301937, -0.0056669577, 0.010843183, -0.013995974, -0.03264383, -0.02578701, -0.025639119, 0.005156058, 0.008960919, -0.02379719, 0.008510521, -0.0037544435, 0.0116297, -0.018674744, -0.004157786, -0.0013856485, -0.007851728, 0.028018838, 0.019010862, -0.018446183, -0.027776832, 0.0033309343, -0.019736879, 0.0038048613, 0.03100357, -0.019225977, 0.008900418, 0.010480175, -0.030788453, 0.00876597, 0.018257957, 0.007737448, -0.0051762247, 0.029524649, 0.003781333, 0.029685985, -0.019320091, -0.017868059, -0.011918762, -0.018419294, -0.00232594, 0.0141842, -0.024496315, 0.0030166635, -0.028717965, -0.03046578, -0.020718344, -0.049745537, 0.0138077475, -0.03506388, -0.016926927, -0.010796126, 0.022519939, -0.005828295, -0.0053173946, 0.013310293, 0.010507064, -0.011824649, 0.012154045, -0.00904831, 0.009539043, 0.0162278, 0.015837904, -0.016200911, -0.020664565, -0.008591189, -0.00040922427, -0.018553741, 0.010002887, -0.0019225978, -0.011764147, -0.020288112, -0.041544247, 0.032536272, 0.0060871057, -0.025383668, 0.013612799, 0.0027813804, 0.005256893, -0.011031409, -0.007932397, -0.02169981, -0.022735056, 0.00029431377, -0.025545005, 0.014560653, -0.021834258, -0.026728142, 0.015609343, 0.01858063, 0.001897389, -0.0065677552, -0.007824838, 0.02141747, 0.036139462, 0.019965438, -0.016389137, 0.010386062, -0.002115866, 0.0013520366, -0.023918193, -0.0042552603, 0.0021175465, -0.03888219, -0.0048804404, 0.03979643, 0.0021125048, -0.02039567, 0.009539043, 0.0087928595, 0.012960729, -0.013290125, -0.02218382, -0.0064064185, 0.012839726, 0.00023528295, -0.017666388, -0.01602613, -0.011844816, 0.013054842, 0.013155678, -0.00587199, 0.018284846, 0.019588986, 0.013901861, 0.0024469427, 0.016348803, -0.026271021, 0.008853361, -0.008234903, 0.002663739, -0.03043889, 0.010204557, 0.023635853, 0.020920016, -0.011925484, 0.026002128, 0.0022503133, -0.005340923, 0.0021864509, 0.0014217813, -0.03460676, -0.01753194, 0.015730346, 0.020946905, 0.01605302, 0.0063660843, -0.01602613, 0.009357539, -0.020180555, -0.028637296, 0.024576984, 0.010681846, 0.015058109, -0.013848082, 0.015690012, 0.03463365, 0.021753589, -0.007448386, 0.019467983, -0.0026217243, 0.022923281, -0.032751385, -0.017545385, 0.01911842, 0.0046048234, 0.008692024, 0.028691074, -0.012120433, -0.016658032, 0.004419958, 0.02586768, 0.008181124, -0.014103532, 0.01832518, 0.016980706, -0.020543562, 0.016416028, -0.022022484, -0.012678389, 0.0036435246, -0.004030061, 0.026741587, -0.015474896, -0.020368781, 0.02558534, -0.009653323, 0.011582644, -0.017679833, -0.016967261, 0.00009726429, 0.0120330425, 0.030412002, 0.011017964, 0.011226358, -0.028583517, 0.0127052795, -0.0013864888, -0.023407292, -0.011495252, 0.030385112, 0.009397873, 0.009290315, 0.013343904, -0.008033232, 0.00087642897, -0.017693277, 0.011468363, 0.0027628941, 0.02635169, -0.012913672, 0.052837826, -0.022103153, -0.011367528, -0.0014595946, 0.0038586403, -0.0030166635, -0.001236916, 0.0049644704, -0.033342954, 0.012268325, 0.029685985, -0.02047634, 0.014291759, -0.01582446, -0.033423625, -0.0020503227, -0.0030250666, 0.01727649, -0.010587732, -0.021565363, 0.022251043, 0.018876415, 0.05230004, 0.0021343525, -0.005791322, -0.025450893, 0.017410938, -0.009505431, 0.010634789, -0.013821192, -0.006957653, 0.010917129, -0.010917129, -0.008947474, 0.005747626, -0.02351485, -0.021323357, -0.017410938, -0.019925104, 0.028502848, -0.004668686, 0.016362248, -0.014708545, -0.009821382, 0.048239727, 0.011461641, -0.011508698, 0.0029746487, -0.024469426 ] }, { "object": "embedding", "index": 1, "embedding": [ -0.0037622151, -0.014968528, 0.0059813866, -0.036095843, -0.029963834, 0.016106565, -0.020417716, -0.0017840398, 0.003132948, -0.025518797, 0.0029270973, 0.022452794, 0.011822192, -0.002863501, -0.013013784, -0.009345289, 0.026067734, -0.020350773, 0.025438465, -0.008782965, -0.019721506, 0.023055283, -0.010751099, -0.015637962, -0.004301109, 0.008381305, 0.020712266, -0.018797688, 0.009726866, -0.014312484, 0.0147007555, 0.0040935846, -0.012257324, 0.00014403276, -0.012170297, -0.027326267, -0.005489353, 0.0027279407, 0.0051948023, -0.0053153005, 0.015945902, -0.0027781483, 0.010992095, -0.018315695, 0.005686836, 0.013529248, 0.014888197, 0.020390939, -0.022506347, 0.019159181, 0.009619757, 0.0347302, -0.0040032114, -0.014272318, 0.008274196, 0.0045923125, -0.018811077, 0.017432043, 0.0069821896, 0.00044559155, 0.00343754, -0.012732621, -0.0137033, 0.0050374856, -0.013120892, -0.0006100211, -0.0133485, -0.014794476, -0.006895163, 0.0050943876, 0.02982995, 0.0016702361, -0.008615606, -0.0055395607, 0.012163604, 0.007336989, -0.01858347, -0.009298429, -0.011701695, -0.0014535071, 0.017994367, -0.020498049, -0.04163875, -0.005385591, 0.003879366, 0.0058508473, -0.03384655, 0.009874141, -0.014232152, -0.01455348, 0.000117360025, 0.016186897, 0.030660046, 0.007852453, -0.029294401, -0.009318512, 0.014607035, 0.0433525, 0.0018242057, -0.03132948, -0.006081802, -0.0028183141, -0.03553352, 0.00035542724, -0.015517464, -0.005080999, 0.013495776, -0.012029717, 0.03280223, -0.023912158, -0.004214083, 0.0032952854, 0.0018928227, -0.038827132, 0.01575846, -0.002180679, -0.004883516, -0.003477706, -0.004525369, -0.006670903, 0.017753372, 0.01555763, 0.016521614, -0.016267229, 0.00984067, 0.021368312, -0.02800909, -0.032882564, 0.003104497, 0.00081587187, 0.026281951, 0.020939874, 0.01093854, -0.0055127833, -0.034167875, -0.0043513165, -0.018596858, 0.04013922, -0.011085816, -0.012290795, -0.01815503, 0.018556692, 0.006068413, -0.006389741, 0.007758732, 0.033605553, 0.0022141507, 0.0013020477, -0.009318512, -0.03505153, 0.015611185, -0.038987797, 0.02057838, 0.027473543, -0.01294684, 0.019935723, -0.025023418, 0.016575169, -0.017003605, 0.016722444, -0.0024233486, -0.0037253965, 0.02308206, -0.018302307, 0.043218613, 0.03542641, 0.024233487, -0.00381577, -0.013937602, -0.0003376454, -0.022037745, 0.03772926, -0.038157698, 0.022118077, 0.016548391, 0.029535398, 0.006172175, -0.00812692, -0.01986878, -0.021462033, -0.02239924, 0.0022710524, 0.030285163, 0.016802777, -0.0028183141, 0.0045186747, 0.02899985, -0.017914034, -0.0021020207, -0.013161059, 0.017030383, 0.0137033, 0.008468332, -0.0056968774, -0.69021255, -0.032561235, 0.020350773, -0.018128254, 0.019119015, 0.025545575, 0.017793538, -0.0021237773, -0.017713206, -0.004585618, -0.012384516, -0.012009634, -0.016347561, 0.008227335, -0.0004094003, -0.0067579295, 0.014540091, -0.0065403637, -0.010128526, 0.0023513846, -0.029535398, 0.0053186477, -0.0036818832, 0.01008836, 0.024849365, 0.017271379, 0.01858347, -0.00022384177, -0.013636356, 0.015330023, -0.0026944692, 0.028544636, -0.0066976803, -0.005137901, 0.050180722, -0.0014091571, -0.021997578, 0.027875204, 0.036979496, 0.017418655, 0.0054391455, 0.0019831962, 0.024715478, 0.013656439, -0.0015045514, 0.024461092, 0.018088087, 0.00068407715, -0.00032572114, -0.0066642086, 0.017191047, -0.012886591, 0.014807865, 0.011594585, 0.013676522, 0.013000395, 0.02368455, 0.005907749, -0.019333234, 0.0034442344, -0.012859814, 0.0028300292, -0.031142037, -0.013395361, -0.0055730324, -0.005650017, -0.033070005, -0.014727533, 0.01455348, -0.02176997, 0.01778015, 0.013964379, -0.0027496973, 0.002679407, 0.019627785, 0.017606096, 0.022613456, -0.028865965, 0.0023798354, 0.01053688, 0.030740378, -0.0068683857, -0.012926757, -0.001618355, 0.016267229, -0.0060349414, -0.03703305, -0.00075687806, -0.009813893, -0.01597268, 0.011132676, 0.002726267, -0.02148881, -0.02309545, -0.004522022, 0.013522553, -0.00998125, 0.012076577, 0.019949112, -0.020190109, -0.009412233, 0.000535965, -0.0025070277, 0.01049002, 0.027419988, 0.001164814, -0.010249024, 0.008963712, 0.02671039, -0.04696744, 0.019078849, -0.002734635, -0.015597796, -0.013355195, 0.00722988, -0.031784695, 0.018918185, -0.004602354, 0.013562718, -0.010121832, 0.020658713, -0.0137769375, 0.02519747, -0.0050977347, 0.012116743, 0.019052071, -0.0193734, -0.0287053, -0.0023028506, -0.0053119534, -0.009907613, 0.02077921, 0.035854846, 0.0064834617, 0.029535398, -0.0064767674, -0.005281829, -0.004947112, 0.0060851485, -0.0059746923, -0.0140848765, -0.0019647868, 0.003742132, 0.008970406, -0.008776271, -0.020993428, -0.021555753, -0.0092515685, -0.028571414, 0.013094115, -0.004565535, -0.019641174, -0.007952868, 0.026335506, 0.006948718, -0.006155439, -0.0010049867, -0.017378489, -0.007263351, -0.0018961699, 0.025184082, 0.024407538, -0.00727674, -0.012237241, -0.0024869447, -0.040406995, -0.026054345, 0.017016994, -0.014834642, -0.022010967, 0.009713477, -0.008521886, 0.0005535377, 0.030151276, -0.01646806, -0.008957017, -0.015209525, -0.0053521194, 0.030338718, -0.002903667, 0.024112988, 0.009599674, -0.017619485, -0.0055161305, 0.002614137, 0.0024049392, 0.008970406, 0.024755644, 0.013817104, 0.003658453, -0.0126790665, 0.028598191, -0.004234166, 0.008167086, -0.00018629074, -0.021435255, -0.009064127, 0.013636356, 0.015129193, 0.0007480917, 0.036792055, -0.007598068, 0.022466183, -0.00032530274, 0.006091843, -0.0427634, 0.010751099, -0.0072499625, -0.013181142, 0.005121165, -0.0066206953, -0.004769712, -0.00444169, -0.036149397, 0.028732078, 0.021555753, 0.006526975, 0.0070089665, 0.010630601, -0.0119092185, -0.0006305225, -0.01616012, 0.012772787, -0.018503137, -0.012170297, 0.0036517587, -0.0034710118, 0.026148066, -0.0032300157, -0.0070826043, -0.004197347, 0.024340594, -0.0073035173, 0.02277412, -0.0027162256, -0.013335112, 0.017137492, -0.03301645, 0.033498444, -0.01064399, 0.014031322, 0.029749617, 0.0065504047, -0.018449582, 0.017579319, 0.009171236, 0.02098004, 0.010878291, -0.016200285, 0.011728471, -0.015932513, -0.0048132255, -0.018034533, 0.010918457, 0.014285707, -0.01906546, 0.011728471, -0.00014507875, 0.02139509, 0.02921407, 0.011882441, 0.010054888, -0.008160392, -0.0034191306, -0.003996517, -0.0013790326, -0.014218763, 0.0020099734, -0.011728471, -0.019882169, 0.0056567113, 0.012250629, 0.019239513, 0.006895163, 0.01776676, 0.0014811212, -0.0032149535, 0.008709327, 0.0036048985, 0.008106837, -0.037863147, -0.024461092, 0.02559913, 0.0044249543, -0.009519341, -0.017231213, -0.021997578, -0.0112732565, -0.015517464, 0.023711327, -0.00097486225, 0.023430165, -0.0072834343, -0.008448249, -0.0117552485, -0.022412628, 0.023162393, -0.007932785, 0.015825404, -0.0050943876, 0.00343754, -0.0036517587, 0.000065897344, 0.0017338323, 0.011226397, 0.007149548, 0.0040065586, 0.0048701274, -0.00053303625, -0.021810137, -0.020899707, -0.0038492414, -0.0015288183, -0.0062792846, -0.0013940949, -0.020082999, -0.03041905, -0.021113927, 0.008354528, 0.017137492, -0.02950862, -0.029588953, -0.020605158, 0.02368455, 0.07058505, -0.0073503777, -0.0075445133, 0.0153568005, -0.005141248, -0.010771182, -0.029053405, -0.021703027, 0.0036417171, 0.0028584802, 0.019601008, -0.0030224915, 0.0109653175, 0.012417988, -0.0034040683, 0.013134281, 0.013080727, 0.008046588, 0.007517736, -0.02329628, -0.009338595, 0.014191986, -0.0006439112, 0.025344744, 0.022104688, 0.016427893, 0.015075638, 0.0061420505, 0.007484264, -0.0025773183, -0.003261814, 0.012364433, 0.0007108545, -0.004605701, 0.0011187905, -0.007377155, -0.009492564, -0.0018827812, 0.0044283015, -0.0022308866, 0.013535942, -0.0024517996, 0.013080727, -0.0052952175, 0.013013784, -0.027875204, -0.0014643853, 0.02377827, -0.010925151, -0.0077922037, 0.036069065, 0.0011028914, -0.017739983, -0.0022392543, 0.0008585482, 0.029321179, 0.00203173, -0.0047897953, 0.0015070618, -0.02298834, -0.024782421, -0.023550663, -0.002461841, 0.0022041092, -0.031088483, -0.024233487, -0.014620423, -0.005101082, -0.018637024, 0.0023112185, 0.0059378734, -0.011005484, -0.0347302, -0.0025722976, 0.013442221, 0.008535274, -0.014419594, -0.008267501, 0.0009966189, -0.003144663, 0.0075110416, -0.029642507, 0.015571019, -0.00043387647, -0.0062592016, -0.020725654, 0.004160528, -0.015169359, -0.009452398, 0.030927818, 0.01836925, -0.006486809, 0.01725799, -0.007859147, 0.012337656, -0.002799905, 0.010208858, 0.013515859, -0.009372067, 0.0018827812, 0.0019196001, -0.01565135, -0.02076582, -0.009151153, 0.019748282, 0.0030291858, 0.014017933, 0.012906674, -0.035185415, -0.020404328, 0.024608368, -0.03440887, 0.012585347, 0.004197347, 0.015035472, 0.0026777333, 0.008689244, 0.022600068, -0.004458426, -0.02388538, 0.023550663, -0.025425076, 0.014446371, 0.0041672224, -0.011882441, -0.011454004, 0.023456942, -0.011775332, -0.023938935, 0.012618818, 0.005362161, 0.006526975, -0.0072901286, -0.016133342, -0.022974951, -0.016789388, 0.015999457, 0.027660985, -0.009693394, -0.013636356, -0.022318907, 0.013817104, 0.017030383, -0.01129334, -0.0047128103, -0.023135616, 0.0045153275, 0.014687367, -0.017739983, 0.02649617, -0.0022459486, -0.011527642, 0.0017756718, -0.00007410836, 0.0012769441, -0.0069621066, -0.008588829, -0.029990612, 0.014191986, 0.013375278, 0.019293068, 0.0012041432, 0.01827553, 0.0074240156, -0.018074699, -0.0013129261, -0.001847636, 0.012980312, -0.0136028845, 0.029026628, 0.00868255, 0.01827553, 0.011561113, -0.0120498, -0.0072499625, 0.033605553, -0.0035078304, -0.0001702871, -0.010664073, -0.028116198, 0.00017426186, -0.019493898, -0.017083937, -0.011005484, 0.0069821896, -0.00868255, 0.018101476, 0.005004014, -0.0062357713, 0.0059947753, 0.03218635, -0.00089704065, 0.020605158, -0.013127587, -0.0105034085, -0.013020478, -0.0044918973, 0.0046257842, 0.0092716515, 0.013924213, 0.018422805, 0.0044450373, -0.01314767, 0.009505953, -0.026348894, 0.01219038, -0.0077118715, -0.0063796993, -0.0012669025, -0.026148066, 0.018342473, -0.0035011363, -0.004321192, -0.04838664, -0.0024702088, 0.012069883, -0.009151153, 0.03783637, -0.023282891, -0.004806531, 0.004194, -0.02027044, 0.035479967, 0.00088532554, 0.041317426, 0.028330417, -0.007818981, -0.017244602, 0.004481856, -0.016695667, -0.012752704, -0.0009079189, 0.012739316, -0.020337384, 0.004578924, 0.0062592016, 0.0037287436, 0.01013522, -0.030338718, 0.003919532, -0.0022108036, 0.016307395, -0.023470331, -0.03491764, -0.01260543, 0.02278751, -0.004324539, -0.0046692975, -0.0009028982, -0.0069621066, -0.0061253146, 0.0053956327, -0.030847486, 0.014995306, 0.015678128, -0.033659108, -0.018449582, 0.022345684, -0.025117138, 0.012551875, 0.02017672, 0.0136229675, -0.00044935712, 0.020993428, 0.0026676918, 0.011989551, 0.0069018574, -0.003087761, 0.0019229472, 0.020297218, -0.017833704, -0.018503137, -0.0004610722, 0.010128526, 0.028330417, 0.002393224, -0.010577046, -0.017940812, -0.016548391, -0.0058541945, 0.02339, 0.020350773, -0.017900648, -0.00928504, -0.014111654, -0.003265161, -0.026014179, 0.003261814, -0.0013037213, -0.01008836, 0.001477774, -0.012397905, -0.010188775, 0.0160664, 0.0068215253, -0.010603824, 0.010302579, 0.03183825, -0.03290934, 0.024541425, -0.017298156, 0.017338322, -0.0011154433, 0.020698877, 0.0049939724, -0.0018961699, 0.014620423, -0.0032065855, -0.005285176, -0.016856331, -0.0015572693, -0.0058106813, 0.029026628, -0.011400449, 0.020310607, 0.01565135, 0.0022024356, -0.01968134, -0.026884442, 0.012719233, -0.010945234, -0.0018760868, 0.018663801, -0.0050174026, -0.005168025, 0.0013748487, 0.011701695, 0.0041739168, -0.02899985, -0.02819653, 0.0071294648, 0.033819772, -0.014379428, -0.0044785086, -0.0027948841, -0.017940812, -0.025143916, 0.012002939, -0.0010485, -0.012766093, 0.023604218, 0.027286101, -0.0073035173, 0.017097326, -0.040085666, 0.0017840398, -0.008923546, -0.023644384, -0.01697683, -0.0091176815, 0.0060884957, 0.00772526, 0.0063294917, -0.03906813, -0.03373944, -0.0031580515, -0.019601008, -0.012069883, -0.006061719, 0.0077721206, 0.023751494, -0.0065470575, -0.019199347, 0.0050743045, 0.016749222, 0.006781359, 0.011728471, 0.011099204, 0.018918185, 0.007919396, 0.020297218, -0.008200558, -0.01895835, -0.026335506, 0.027768094, 0.0015572693, 0.0067043747, 0.013154364, -0.01747221, 0.012056494, -0.010028111, -0.0016325805, -0.0063127563, 0.0072901286, 0.0113402, -0.047395878, 0.002192394, 0.013167753, 0.013020478, 0.0015890673, 0.013448915, -0.009874141, -0.011112593, -0.019426955, -0.0038760188, 0.0032500988, -0.016374338, -0.014058099, -0.0053688553, 0.013114198, 0.015330023, 0.038211253, 0.009224791, 0.0032434044, 0.0031664195, -0.0031346215, -0.01069085, -0.021462033, -0.006111926, -0.008388, -0.0004094003, -0.0042107357, -0.0072164913, -0.034167875, 0.02027044, -0.0025455202, -0.01597268, -0.031972136, 0.016615335, 0.0077453433, -0.016816165, 0.009224791, 0.0008443228, -0.0151827475, 0.0057002245, 0.00083679165, -0.00019465866, -0.0060751075, 0.014767699, -0.0015572693, -0.00787923, -0.0009715151, 0.0074240156, 0.023323057, -0.0038827132, 0.02830364, 0.19675983, 0.0065001976, -0.0150086945, 0.051144704, 0.0032383837, 0.0073035173, 0.010918457, -0.00044642834, 0.0042776787, 0.018302307, -0.017726595, 0.014312484, -0.021234425, 0.00240996, 0.015343412, -0.026456004, -0.029481843, -0.0033404722, -0.0025103749, -0.0075311246, -0.009258263, -0.012143521, -0.027219158, 0.008046588, 0.012953535, -0.0041270563, -0.0054157153, 0.009653228, 0.028624969, -0.0006476767, -0.0126790665, -0.026844276, 0.007912702, 0.0071026874, -0.024621757, -0.0050307913, 0.0069621066, -0.010255719, 0.040219553, 0.019989278, -0.018382639, 0.019614397, -0.0013489082, -0.01345561, -0.01219038, 0.017606096, -0.0142589295, -0.001968134, 0.01033605, 0.029883502, -0.039576896, 0.0039697397, 0.03250768, 0.05031461, -0.009780421, 0.017927423, 0.015303246, 0.018663801, -0.006208994, -0.025478631, -0.014058099, 0.04458426, -0.04003211, 0.025050195, -0.010269107, 0.0008869991, -0.025371522, -0.009057432, 0.015303246, -0.011782026, 0.0009681679, -0.00027886083, 0.0016342541, -0.006955412, -0.012036411, -0.040915765, 0.024153154, 0.026830887, 0.025331356, 0.009572896, -0.031383034, 0.0037521736, -0.026281951, -0.019882169, -0.005827417, -0.03132948, 0.018396027, -0.0028199877, -0.016909886, -0.0015204505, 0.008026506, -0.009184625, -0.006553752, -0.0067177634, 0.0150086945, 0.014740922, 0.0075645964, 0.01616012, -0.034382094, 0.018637024, -0.007336989, -0.020511437, 0.014058099, 0.0046726447, 0.0051814136, 0.00025605824, -0.008876686, 0.012618818, -0.0064633787, -0.008187169, -0.00421743, -0.034864087, 0.016387727, -0.010463242, -0.002751371, 0.0039831284, -0.000988251, -0.010182081, 0.005971345, -0.005121165, -0.010402993, -0.016682278, 0.0030291858, 0.0101954695, 0.009057432, -0.012672372, 0.014299096, -0.0008777944, 0.0075512077, -0.04959162, -0.014406205, -0.016186897, 0.030445827, -0.004742935, -0.0014652221, 0.023282891, 0.022948174, -0.031061705, 0.008869992, -0.012786176, 0.0024651883, -0.02671039, 0.002252643, 0.014125043, 0.019025294, -0.024112988, 0.012023022, 0.0034844005, -0.022894619, -0.011748554, -0.013977768, 0.018637024, -0.014285707, 0.009659923, 0.028035866, -0.0140848765, -0.023309669, -0.014888197, 0.005409021, 0.019426955, -0.016682278, 0.0367385, 0.017806927, -0.008013117, -0.032748677, 0.010148609, -0.17469531, 0.019159181, 0.022345684, -0.013689911, 0.004461773, 0.009264957, -0.012304184, 0.0125451805, 0.0029103614, 0.000903735, 0.0015530853, 0.009110987, -0.016481448, -0.0070491326, -0.0015547589, -0.0055328663, -0.008307667, 0.010992095, 0.023122227, 0.0068616914, 0.005891013, -0.011768637, -0.002384856, -0.00426429, 0.0109854005, -0.00685165, -0.022439405, 0.018449582, -0.009539424, -0.024635145, -0.0073302947, 0.0064265598, 0.0083478335, 0.018007755, 0.0049303765, 0.02107376, -0.013937602, -0.011407143, -0.032561235, 0.00363837, 0.016026234, 0.005767168, 0.009613062, 0.008769576, -0.016950052, 0.021569142, 0.019467121, 0.020390939, 0.012136826, -0.0112732565, 0.03090104, -0.02238585, 0.0046090484, 0.00094724813, 0.013562718, 0.030499382, 0.0021221037, -0.002662671, 0.0016551738, -0.014058099, -0.008521886, -0.037113383, -0.01776676, -0.010028111, -0.00868255, 0.00042634533, -0.019105626, 0.008762882, -0.021823525, 0.021542365, 0.0075244303, -0.023979101, -0.012277407, -0.0065336693, -0.0053186477, 0.012725927, -0.042442072, 0.007651623, 0.017927423, -0.016575169, 0.001819185, 0.0274066, -0.006711069, -0.002542173, -0.00404003, 0.016441282, 0.0017606096, -0.0058675827, -0.026616668, -0.02357744, 0.015423743, -0.031570476, -0.00008624184, 0.0016074767, 0.00019758742, 0.0049270294, 0.0075445133, -0.0029455065, -0.006630737, 0.0035714267, 0.0137769375, 0.0037053134, -0.021555753, 0.00049621746, 0.017097326, 0.022948174, 0.032266684, 0.014794476, 0.02991028, 0.0071093817, -0.0355603, 0.01778015, 0.017820315, 0.011929302, -0.008582135, -0.007296823, 0.0028651746, -0.023376612, 0.0039061434, -0.013542636, 0.038264807, -0.0030024084, -0.011996245, 0.018596858, -0.004301109, -0.008963712, -0.08584813, -0.016548391, 0.01715088, 0.041103207, -0.0005112797, 0.014981917, -0.013100809, 0.017498987, -0.012973618, 0.03855936, -0.0036651473, -0.017646262, 0.0007665011, -0.035078306, 0.02420671, 0.007035744, -0.024407538, -0.0028450915, -0.018931573, 0.01209666, 0.0037120078, -0.008896769, -0.004043377, -0.01279287, -0.013100809, 0.005743738, -0.038184475, 0.03925557, 0.013636356, -0.003076046, 0.021743193, -0.0074374042, 0.010121832, -0.018797688, -0.022198409, -0.008722716, -0.016012846, -0.004679339, 0.009599674, -0.009847364, 0.006707722, 0.013228002, 0.010516797, -0.03973756, -0.0021120622, -0.0039831284, -0.03194536, 0.022064522, -0.002550541, -0.021060372, -0.021435255, -0.010208858, -0.0097335605, -0.007966257, 0.029347956, -0.01455348, 0.008950324, 0.022305518, -0.030874263, 0.007243268, 0.0067445408, 0.008662467, -0.03312356, 0.022064522, -0.019493898, 0.018623635, -0.022720566, -0.030660046, 0.006068413, -0.015986068, -0.0012593714, 0.043486387, -0.020846153, 0.0151827475, -0.021716416, 0.0033103477, -0.031249147, -0.01124648, 0.018503137, -0.036684945, -0.017016994, -0.028116198, 0.008053282, -0.014419594, 0.0039663925, 0.016280618, 0.013763549, -0.011085816, 0.020524826, -0.0027563917, 0.0022760732, 0.020056222, -0.00707591, -0.03663139, 0.0022074564, -0.0068483027, -0.008829826, -0.0134890815, 0.0001695549, -0.003859283, -0.017177658, -0.020082999, -0.04268307, 0.013422138, 0.0021338186, 0.0041672224, 0.01149417, 0.0043144976, -0.009003878, -0.011520947, -0.027928758, 0.011420532, 0.00232126, 0.015785238, -0.006593918, -0.014366039, -0.013616273, 0.0023229336, 0.010101749, -0.013368583, 0.018637024, -0.00984067, 0.003204912, 0.0045688823, 0.019145792, 0.017498987, -0.018074699, 0.00021589224, -0.006988884, 0.012397905, -0.015878959, -0.0347302, 0.0051780664, -0.02408621, 0.0065035447, 0.04308473, -0.005891013, -0.03100815, -0.011320117, 0.010443159, 0.018543303, -0.002361426, -0.020123165, -0.028383972, 0.018342473, -0.00361494, -0.0023764882, -0.004923682, -0.014245541, -0.0083277505, 0.027821649, -0.0027480237, 0.00685165, 0.025451854, -0.007932785, -0.033552, -0.0066575143, -0.031088483, 0.009439009, 0.019855391, 0.014714144, -0.030338718, 0.027446765, 0.01375016, 0.00095561607, 0.0068884687, 0.025652684, -0.004384788, 0.0042475546, 0.017833704, -0.0031547046, -0.024702089, -0.018355861, -0.0016359277, 0.0160664, 0.014620423, -0.0030911083, -0.014017933, 0.019011905, -0.003936268, -0.027112048, 0.033257447, 0.00772526, -0.0014250561, -0.018021144, 0.00622573, -0.008187169, 0.012866508, -0.0033622289, 0.009003878, -0.007818981, 0.033873327, -0.019627785, -0.006389741, 0.017110715, 0.017083937, 0.002168964, 0.009124376, 0.004234166, -0.011005484, 0.024461092, 0.031597253, -0.009592979, -0.002341343, -0.00063721684, -0.022225186, -0.021314757, 0.010322662, -0.0040768487, -0.012304184, -0.004659256, 0.019011905, 0.013696605, 0.013723383, -0.011634751, 0.018556692, -0.029803172, 0.0067344992, 0.007243268, -0.031142037, -0.011366977, 0.029937057, 0.015825404, 0.002562256, 0.00747757, -0.009211402, -0.0027045105, 0.001799102, 0.013187836, -0.020123165, -0.0066441256, 0.0075110416, 0.014566869, -0.009941084, -0.0022593373, 0.017231213, -0.008046588, -0.0073436834, 0.007852453, 0.034676645, -0.0051144706, 0.060034778, -0.00035731003, -0.024608368, 0.0069621066, 0.012993701, 0.00041651304, 0.013649745, 0.018302307, 0.004398177, -0.0017304851, -0.0030291858, -0.022479571, 0.0287053, 0.000060144397, -0.026656834, -0.026697, -0.013187836, 0.012411294, -0.028464304, 0.0054592285, 0.011085816, -0.011761943, 0.046110567, 0.010824736, -0.0043747467, -0.001229247, 0.0016919927, -0.007778815, 0.0032701818, -0.011915913, 0.00857544, 0.012859814, -0.015504075, -0.014673978, 0.014540091, -0.00783237, -0.01109251, -0.010590435, -0.002438411, 0.008113531, 0.010161998, 0.006630737, -0.014714144, -0.014834642, 0.028116198, -0.0015530853, -0.008829826, -0.00041776823, -0.025465243 ] } ], "model": "text-embedding-ada-002-v2", "usage": { "prompt_tokens": 6, "total_tokens": 6 } } \ No newline at end of file diff --git a/src/test/resources/files_getcontent.txt b/src/test/resources/files_getcontent.txt index b80e70b8..31604bf2 100644 --- a/src/test/resources/files_getcontent.txt +++ b/src/test/resources/files_getcontent.txt @@ -1,2 +1,10 @@ -{"prompt":"Company: BHFF insurance\nProduct: allround insurance\nAd:One stop shop for all your insurance needs!\nSupported:", "completion":" yes"} -{"prompt":"Company: Loft conversion specialists\nProduct: -\nAd:Straight teeth in weeks!\nSupported:", "completion":" no"} \ No newline at end of file +{"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic."}, {"role": "user", "content": "What's the capital of France?"}, {"role": "assistant", "content": "Paris, as if everyone doesn't know that already."}]} +{"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic."}, {"role": "user", "content": "Who wrote 'Romeo and Juliet'?"}, {"role": "assistant", "content": "Oh, just some guy named William Shakespeare. Ever heard of him?"}]} +{"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic."}, {"role": "user", "content": "How far is the Moon from Earth?"}, {"role": "assistant", "content": "Around 384,400 kilometers. Give or take a few, like that really matters."}]} +{"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic."}, {"role": "user", "content": "What's the capital of France?"}, {"role": "assistant", "content": "Paris, as if everyone doesn't know that already."}]} +{"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic."}, {"role": "user", "content": "Who wrote 'Romeo and Juliet'?"}, {"role": "assistant", "content": "Oh, just some guy named William Shakespeare. Ever heard of him?"}]} +{"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic."}, {"role": "user", "content": "How far is the Moon from Earth?"}, {"role": "assistant", "content": "Around 384,400 kilometers. Give or take a few, like that really matters."}]} +{"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic."}, {"role": "user", "content": "What's the capital of France?"}, {"role": "assistant", "content": "Paris, as if everyone doesn't know that already."}]} +{"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic."}, {"role": "user", "content": "Who wrote 'Romeo and Juliet'?"}, {"role": "assistant", "content": "Oh, just some guy named William Shakespeare. Ever heard of him?"}]} +{"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic."}, {"role": "user", "content": "How far is the Moon from Earth?"}, {"role": "assistant", "content": "Around 384,400 kilometers. Give or take a few, like that really matters."}]} +{"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic."}, {"role": "user", "content": "What's the capital of France?"}, {"role": "assistant", "content": "Paris, as if everyone doesn't know that already."}]} \ No newline at end of file diff --git a/src/test/resources/finetunings_create.json b/src/test/resources/finetunings_create.json index 0252fbca..7daba6f7 100644 --- a/src/test/resources/finetunings_create.json +++ b/src/test/resources/finetunings_create.json @@ -1 +1 @@ -{ "object": "fine_tuning.job", "id": "ftjob-KWKOSThKDkgcvl4Ws66NfHvo", "model": "gpt-3.5-turbo-0613", "created_at": 1693522638, "finished_at": null, "fine_tuned_model": null, "organization_id": "org-4WdgDKZ75eLPEH6zqX5hFd5e", "result_files": [], "status": "created", "validation_file": null, "training_file": "file-aU0dDrIU78PynduNICmpRPAw", "hyperparameters": { "n_epochs": 10 }, "trained_tokens": null } \ No newline at end of file +{ "object": "fine_tuning.job", "id": "ftjob-35j8EBrZVsuyFFe2OD8Tkmvd", "model": "gpt-3.5-turbo-1106", "created_at": 1700533111, "finished_at": null, "fine_tuned_model": null, "organization_id": "org-4WdgDKZ75eLPEH6zqX5hFd5e", "result_files": [], "status": "validating_files", "validation_file": null, "training_file": "file-0e5BDWQYA1KsguTJRCCXqAa2", "hyperparameters": { "n_epochs": "auto", "batch_size": "auto", "learning_rate_multiplier": "auto" }, "trained_tokens": null, "error": null } \ No newline at end of file diff --git a/src/test/resources/finetunings_getevents.json b/src/test/resources/finetunings_getevents.json index ffb61822..e2e73e8f 100644 --- a/src/test/resources/finetunings_getevents.json +++ b/src/test/resources/finetunings_getevents.json @@ -1 +1 @@ -{ "object": "list", "data": [ { "object": "fine_tuning.job.event", "id": "ftevent-wN1FESaLForCxet8lHbzpNKI", "created_at": 1693523262, "level": "warn", "message": "Fine tuning process stopping due to job cancellation", "data": null, "type": "message" }, { "object": "fine_tuning.job.event", "id": "ftevent-W2KVEOG1JjAb4YWLj9L2FzJB", "created_at": 1693522639, "level": "info", "message": "Fine tuning job started", "data": null, "type": "message" }, { "object": "fine_tuning.job.event", "id": "ftevent-T7RR80pmL7y2oLVLpziFHuBi", "created_at": 1693522638, "level": "info", "message": "Created fine-tune: ftjob-KWKOSThKDkgcvl4Ws66NfHvo", "data": null, "type": "message" } ], "has_more": false } \ No newline at end of file +{ "object": "list", "data": [ { "object": "fine_tuning.job.event", "id": "ftevent-M73FMilTLFOs7CDqE1MW3q1m", "created_at": 1700533366, "level": "info", "message": "The job has successfully completed", "data": {}, "type": "message" }, { "object": "fine_tuning.job.event", "id": "ftevent-jxsfCQ77FixXGkmoooLA4UdE", "created_at": 1700533364, "level": "info", "message": "New fine-tuned model created: ft:gpt-3.5-turbo-1106:personal::8NAhPVlK", "data": {}, "type": "message" } ], "has_more": true } \ No newline at end of file diff --git a/src/test/resources/finetunings_getlist.json b/src/test/resources/finetunings_getlist.json index 4afa7972..f5ba661a 100644 --- a/src/test/resources/finetunings_getlist.json +++ b/src/test/resources/finetunings_getlist.json @@ -1 +1 @@ -{ "object": "list", "data": [ { "object": "fine_tuning.job", "id": "ftjob-KWKOSThKDkgcvl4Ws66NfHvo", "model": "gpt-3.5-turbo-0613", "created_at": 1693522638, "finished_at": null, "fine_tuned_model": null, "organization_id": "org-4WdgDKZ75eLPEH6zqX5hFd5e", "result_files": [], "status": "running", "validation_file": null, "training_file": "file-aU0dDrIU78PynduNICmpRPAw", "hyperparameters": { "n_epochs": 10 }, "trained_tokens": null } ], "has_more": false } \ No newline at end of file +{ "object": "list", "data": [ { "object": "fine_tuning.job", "id": "ftjob-35j8EBrZVsuyFFe2OD8Tkmvd", "model": "gpt-3.5-turbo-1106", "created_at": 1700533111, "finished_at": null, "fine_tuned_model": null, "organization_id": "org-4WdgDKZ75eLPEH6zqX5hFd5e", "result_files": [], "status": "running", "validation_file": null, "training_file": "file-0e5BDWQYA1KsguTJRCCXqAa2", "hyperparameters": { "n_epochs": 10, "batch_size": 1, "learning_rate_multiplier": 2 }, "trained_tokens": null, "error": null }, { "object": "fine_tuning.job", "id": "ftjob-fL5z1zQZl4J8YIFke4oSMNAE", "model": "gpt-3.5-turbo-0613", "created_at": 1693622111, "finished_at": null, "fine_tuned_model": null, "organization_id": "org-4WdgDKZ75eLPEH6zqX5hFd5e", "result_files": [], "status": "cancelled", "validation_file": null, "training_file": "file-TbYoAf0bLugHngUHXA0OITPB", "hyperparameters": { "n_epochs": 10, "batch_size": 1, "learning_rate_multiplier": 2 }, "trained_tokens": null, "error": null }, { "object": "fine_tuning.job", "id": "ftjob-KWKOSThKDkgcvl4Ws66NfHvo", "model": "gpt-3.5-turbo-0613", "created_at": 1693522638, "finished_at": null, "fine_tuned_model": null, "organization_id": "org-4WdgDKZ75eLPEH6zqX5hFd5e", "result_files": [], "status": "cancelled", "validation_file": null, "training_file": "file-aU0dDrIU78PynduNICmpRPAw", "hyperparameters": { "n_epochs": 10, "batch_size": 1, "learning_rate_multiplier": 2 }, "trained_tokens": null, "error": null } ], "has_more": false } \ No newline at end of file diff --git a/src/test/resources/finetunings_getone.json b/src/test/resources/finetunings_getone.json index ebd64a57..67fe9b18 100644 --- a/src/test/resources/finetunings_getone.json +++ b/src/test/resources/finetunings_getone.json @@ -1 +1 @@ -{ "object": "fine_tuning.job", "id": "ftjob-KWKOSThKDkgcvl4Ws66NfHvo", "model": "gpt-3.5-turbo-0613", "created_at": 1693522638, "finished_at": null, "fine_tuned_model": null, "organization_id": "org-4WdgDKZ75eLPEH6zqX5hFd5e", "result_files": [], "status": "running", "validation_file": null, "training_file": "file-aU0dDrIU78PynduNICmpRPAw", "hyperparameters": { "n_epochs": 10 }, "trained_tokens": null } \ No newline at end of file +{"object":"fine_tuning.job","id":"ftjob-35j8EBrZVsuyFFe2OD8Tkmvd","model":"gpt-3.5-turbo-1106","created_at":1700533111,"finished_at":1700533362,"fine_tuned_model":"ft:gpt-3.5-turbo-1106:personal::8NAhPVlK","organization_id":"org-4WdgDKZ75eLPEH6zqX5hFd5e","result_files":["file-brNpFdh47xDizivX8ZMsOPo7"],"status":"succeeded","validation_file":null,"training_file":"file-0e5BDWQYA1KsguTJRCCXqAa2","hyperparameters":{"n_epochs":10,"batch_size":1,"learning_rate_multiplier":2},"trained_tokens":4790,"error":{"code":"a1b2c3","message":"sample error","param":"training_file"}} \ No newline at end of file diff --git a/src/test/resources/images_create.json b/src/test/resources/images_create.json index e309655c..17ae0455 100644 --- a/src/test/resources/images_create.json +++ b/src/test/resources/images_create.json @@ -1 +1 @@ -{ "created": 1692476965, "data": [ { "url": "https://oaidalleapiprodscus.blob.core.windows.net/private/org-4WdgDKZ75eLPEH6zqX5hFd5e/user-gYf5fGvHOBw8VL4qPKQYupOA/img-R3GVePEMPi8GfeliI8JsfrMe.png?st=2023-08-19T19%3A29%3A25Z&se=2023-08-19T21%3A29%3A25Z&sp=r&sv=2021-08-06&sr=b&rscd=inline&rsct=image/png&skoid=6aaadede-4fb3-4698-a8f6-684d7786b067&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skt=2023-08-19T17%3A55%3A36Z&ske=2023-08-20T17%3A55%3A36Z&sks=b&skv=2021-08-06&sig=spnDScKdROpnwUrovkI5MsvyaHkC3M1oSporZiYtqjY%3D" } ] } \ No newline at end of file +{ "created": 1700537123, "data": [ { "revised_prompt": "Create an image of an adorable cartoon-style kitten with fluffy fur and bright, curious eyes. The kitten is in mid-air, having leaped energetically off the ground with its tiny paws outstretched. It is attempting to catch a round ball that is floating just out of its grasp. The ball is bright and bouncy, adding a playful element to the scene. The kitten looks determined and completely engrossed in its play. Set this lively scene against a neutral background to focus all the attention on the kitten's playful endeavors.", "url": "https://oaidalleapiprodscus.blob.core.windows.net/private/org-4WdgDKZ75eLPEH6zqX5hFd5e/user-gYf5fGvHOBw8VL4qPKQYupOA/img-KE1fCp5AIpBlSM6S11908OG1.png?st=2023-11-21T02%3A25%3A23Z&se=2023-11-21T04%3A25%3A23Z&sp=r&sv=2021-08-06&sr=b&rscd=inline&rsct=image/png&skoid=6aaadede-4fb3-4698-a8f6-684d7786b067&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skt=2023-11-20T20%3A04%3A16Z&ske=2023-11-21T20%3A04%3A16Z&sks=b&skv=2021-08-06&sig=G8gX6Sdh%2BM049lmZuezozKIInPCY5tk9L/st2Rpuhsg%3D" } ] } \ No newline at end of file diff --git a/src/test/resources/images_create_edits.json b/src/test/resources/images_create_edits.json index 90f19736..52431ce9 100644 --- a/src/test/resources/images_create_edits.json +++ b/src/test/resources/images_create_edits.json @@ -1 +1 @@ -{ "created": 1692478217, "data": [ { "b64_json": "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAAAaGVYSWZNTQAqAAAACAACknwAAgAAACkAAAAmkoYAAgAAABgAAABQAAAAAE9wZW5BSS0tNjRiMjkxMTk2Y2ZhMWM0Mzk2Y2E0YzVmYmEwNmNmYWMAAE1hZGUgd2l0aCBPcGVuQUkgREFMTC1FAF48AXUAAQAASURBVHgBACuB1H4B/f//AQAAAAAAAAAAAAAAAAAAAAAAAP8AAAH/AAABAAD/AAABAP8AAAH/AAABAAAAAAD/AAABAAAAAAAAAAD/AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAABAAAA//8AAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAAAA/wD///8A/wAA////AP8A/wAA/////wAA/////wD//wAAAP///wAA/wAAAAAAAP///wAAAAAA//8AAAAA/wD/AP8AAAAA/wD/AP8AAAAA/wAA/////wAAAAD///8AAAD///8AAAD//wAAAP///wAAAP8A/wH/AP8AAAAA/wAAAAAAAAD///4A//8AAAH///8BAAD//wD/AP8BAAD/AAAA/wAAAAAAAAAAAP///wAAAAAA////AAAB/wD/////AAAAAP///wAA/wAAAP//AAEAAAAA//8AAAD//wAAAP8AAAAA/wAAAP8A/wAAAAAB//8AAAAAAAAAAAD//wAB//8AAAD/AAAA/wD/AAAAAAAA//8AAAH///8AAAAA/wAAAQAB/wD/AP8AAAAA/wD/AQAA//8AAAAA/wAAAAD/AP8A/wAAAP//AAABAAAAAAD//wAA/wD/AAABAAAAAAD/AAABAAD/AP8A/wD//wAAAAAA/wAAAP8AAQD//wABAP8A/wEAAP8AAAAAAAD/AAAA/wAAAQAA//8AAAAA/wH/AP8A/wAAAQAAAAAAAAAAAAAAAP8A/wAAAAAAAAAAAAD/AAABAP8AAAEA////AAEAAP7//wEBAP//AAEAAAAAAAAA/wABAAD+AAABAP///wABAQAA/wAAAQD//wABAAAAAAAAAAAA//8AAAD/AAAAAAAA//8BAQH/AAAA////AAAB/wAAAAAAAAAAAAD/AAAAAP8AAAEA//8AAQEAAP8AAAAA/wD/AP8AAAEAAAAA/wAAAP8AAAD//wABAAD/AAAAAAAAAAAA/wD/AgEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAP8AAQAAAAAAAQAAAAABAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAA/wAAAQAAAAAAAAEB/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAAA/wAAAAAAAAAAAAEAAQABAAAAAAABAAAAAAABAAAAAAAA/wABAQAAAAEAAAH/AAAAAAAAAAAAAAABAAAAAAAAAAABAAAAAAAAAAABAAAAAAAA/wEBAAEAAAAA" } ] } \ No newline at end of file +{ "created": 1700537523, "data": [ { "b64_json": "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAAAaGVYSWZNTQAqAAAACAACknwAAgAAACkAAAAmkoYAAgAAABgAAABQAAAAAE9wZW5BSS0tYzhlNDNkMmZhZmZkMTY1YjczZWQ3NGNkNjhkOTAyMTkAAE1hZGUgd2l0aCBPcGVuQUkgREFMTC1FAL9p8EgAAQAASURBVHgBACuB1H4B/P/+Af8AAAEAAP8AAAABAQEAAAAAAP8AAAH/AAAAAP8AAAEAAP8A/wEAAf8AAAAB/wD/AQAA/wEAAQAAAAAAAP8AAAEAAAAAAAAAAAAA/wD/AQABAAAAAAAA/wAAAQ" } ] } \ No newline at end of file diff --git a/src/test/resources/images_create_variations.json b/src/test/resources/images_create_variations.json index 90f19736..4840554f 100644 --- a/src/test/resources/images_create_variations.json +++ b/src/test/resources/images_create_variations.json @@ -1 +1 @@ -{ "created": 1692478217, "data": [ { "b64_json": "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAAAaGVYSWZNTQAqAAAACAACknwAAgAAACkAAAAmkoYAAgAAABgAAABQAAAAAE9wZW5BSS0tNjRiMjkxMTk2Y2ZhMWM0Mzk2Y2E0YzVmYmEwNmNmYWMAAE1hZGUgd2l0aCBPcGVuQUkgREFMTC1FAF48AXUAAQAASURBVHgBACuB1H4B/f//AQAAAAAAAAAAAAAAAAAAAAAAAP8AAAH/AAABAAD/AAABAP8AAAH/AAABAAAAAAD/AAABAAAAAAAAAAD/AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAABAAAA//8AAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAAAA/wD///8A/wAA////AP8A/wAA/////wAA/////wD//wAAAP///wAA/wAAAAAAAP///wAAAAAA//8AAAAA/wD/AP8AAAAA/wD/AP8AAAAA/wAA/////wAAAAD///8AAAD///8AAAD//wAAAP///wAAAP8A/wH/AP8AAAAA/wAAAAAAAAD///4A//8AAAH///8BAAD//wD/AP8BAAD/AAAA/wAAAAAAAAAAAP///wAAAAAA////AAAB/wD/////AAAAAP///wAA/wAAAP//AAEAAAAA//8AAAD//wAAAP8AAAAA/wAAAP8A/wAAAAAB//8AAAAAAAAAAAD//wAB//8AAAD/AAAA/wD/AAAAAAAA//8AAAH///8AAAAA/wAAAQAB/wD/AP8AAAAA/wD/AQAA//8AAAAA/wAAAAD/AP8A/wAAAP//AAABAAAAAAD//wAA/wD/AAABAAAAAAD/AAABAAD/AP8A/wD//wAAAAAA/wAAAP8AAQD//wABAP8A/wEAAP8AAAAAAAD/AAAA/wAAAQAA//8AAAAA/wH/AP8A/wAAAQAAAAAAAAAAAAAAAP8A/wAAAAAAAAAAAAD/AAABAP8AAAEA////AAEAAP7//wEBAP//AAEAAAAAAAAA/wABAAD+AAABAP///wABAQAA/wAAAQD//wABAAAAAAAAAAAA//8AAAD/AAAAAAAA//8BAQH/AAAA////AAAB/wAAAAAAAAAAAAD/AAAAAP8AAAEA//8AAQEAAP8AAAAA/wD/AP8AAAEAAAAA/wAAAP8AAAD//wABAAD/AAAAAAAAAAAA/wD/AgEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAP8AAQAAAAAAAQAAAAABAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAA/wAAAQAAAAAAAAEB/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAAA/wAAAAAAAAAAAAEAAQABAAAAAAABAAAAAAABAAAAAAAA/wABAQAAAAEAAAH/AAAAAAAAAAAAAAABAAAAAAAAAAABAAAAAAAAAAABAAAAAAAA/wEBAAEAAAAA" } ] } \ No newline at end of file +{ "created": 1700537812, "data": [ { "b64_json": "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAAAaGVYSWZNTQAqAAAACAACknwAAgAAACkAAAAmkoYAAgAAABgAAABQAAAAAE9wZW5BSS0tZjk4NzE3MDUyYzliMWZkNTY4NTcwNTQzZjFmN2M5YmIAAE1hZGUgd2l0aCBPcGVuQUkgREFMTC1FAFXIOeIAAQAASURBVHgBACuB1H4BANywAAEBAAAAAAAAAAAAAAAAAAAAAQAA//8AAAAAAAAAAAAAAAAAAAD/AAABAAAAAAEAAAD/AP8BAQEA/wAAAAD/AAABAP8AAAEAAAEAAP8AAAAAAAAAAAAAAAA" } ] } \ No newline at end of file diff --git a/src/test/resources/models_getlist.json b/src/test/resources/models_getlist.json index 69bc1295..9936d168 100644 --- a/src/test/resources/models_getlist.json +++ b/src/test/resources/models_getlist.json @@ -1 +1 @@ -{ "object": "list", "data": [ { "id": "text-davinci-001", "object": "model", "created": 1649364042, "owned_by": "openai", "permission": [ { "id": "modelperm-CDlahk1RbkghXDjtxqzXoPNo", "object": "model_permission", "created": 1690913868, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": false, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "text-davinci-001", "parent": null }, { "id": "text-search-curie-query-001", "object": "model", "created": 1651172509, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-fNgpMH6ZEQulSq1CjzlfQuIe", "object": "model_permission", "created": 1690864192, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "text-search-curie-query-001", "parent": null }, { "id": "gpt-3.5-turbo", "object": "model", "created": 1677610602, "owned_by": "openai", "permission": [ { "id": "modelperm-aRL68Vu37kh2Z0wi2tmPhGZT", "object": "model_permission", "created": 1692458060, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": false, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "gpt-3.5-turbo", "parent": null }, { "id": "davinci", "object": "model", "created": 1649359874, "owned_by": "openai", "permission": [ { "id": "modelperm-8s5tCuiXSr3zT00nLwZGyMpS", "object": "model_permission", "created": 1690930152, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": false, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "davinci", "parent": null }, { "id": "gpt-3.5-turbo-0613", "object": "model", "created": 1686587434, "owned_by": "openai", "permission": [ { "id": "modelperm-pgz6Bp5e90wX6lXRwF6SaqeZ", "object": "model_permission", "created": 1692458062, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": false, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "gpt-3.5-turbo-0613", "parent": null }, { "id": "babbage", "object": "model", "created": 1649358449, "owned_by": "openai", "permission": [ { "id": "modelperm-h574xGeqWyBeFDDKaoVTC4CO", "object": "model_permission", "created": 1692394129, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": false, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "babbage", "parent": null }, { "id": "text-babbage-001", "object": "model", "created": 1649364043, "owned_by": "openai", "permission": [ { "id": "modelperm-YABzYWjC1kS6M2BnI6Fr9vuS", "object": "model_permission", "created": 1690913878, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": false, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "text-babbage-001", "parent": null }, { "id": "curie-instruct-beta", "object": "model", "created": 1649364042, "owned_by": "openai", "permission": [ { "id": "modelperm-4GYfzAdSMcJmQvF7bsw01UWw", "object": "model_permission", "created": 1690863785, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": false, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "curie-instruct-beta", "parent": null }, { "id": "text-davinci-003", "object": "model", "created": 1669599635, "owned_by": "openai-internal", "permission": [ { "id": "modelperm-fTR6rjcTAYYKKqzDu6U8ht6h", "object": "model_permission", "created": 1692374815, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": false, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "text-davinci-003", "parent": null }, { "id": "davinci-similarity", "object": "model", "created": 1651172509, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-XHJ9P2cvfDAl6Q6NABs6wD7G", "object": "model_permission", "created": 1690864520, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "davinci-similarity", "parent": null }, { "id": "code-davinci-edit-001", "object": "model", "created": 1649880484, "owned_by": "openai", "permission": [ { "id": "modelperm-T8Ie7SvlPyvtsDvPlfC8DftZ", "object": "model_permission", "created": 1690915089, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": false, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "code-davinci-edit-001", "parent": null }, { "id": "text-similarity-curie-001", "object": "model", "created": 1651172507, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-ZQZGhVQCQSN4WC1wRJsFZfRL", "object": "model_permission", "created": 1690864230, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "text-similarity-curie-001", "parent": null }, { "id": "ada-code-search-text", "object": "model", "created": 1651172510, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-jWFKGhnNYXhMIJuYYBe8zKoH", "object": "model_permission", "created": 1690864242, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "ada-code-search-text", "parent": null }, { "id": "text-search-ada-query-001", "object": "model", "created": 1651172505, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-YO36k119sJYqPB8yHh737z8l", "object": "model_permission", "created": 1690864529, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "text-search-ada-query-001", "parent": null }, { "id": "gpt-3.5-turbo-16k-0613", "object": "model", "created": 1685474247, "owned_by": "openai", "permission": [ { "id": "modelperm-hb67ObpoaFIKTieIMs9CqZPq", "object": "model_permission", "created": 1692458644, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": false, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "gpt-3.5-turbo-16k-0613", "parent": null }, { "id": "gpt-4-0314", "object": "model", "created": 1687882410, "owned_by": "openai", "permission": [ { "id": "modelperm-q9tcAQ9XhBjWdyxhWgFDYPaj", "object": "model_permission", "created": 1691139822, "allow_create_engine": false, "allow_sampling": false, "allow_logprobs": false, "allow_search_indices": false, "allow_view": false, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "gpt-4-0314", "parent": null }, { "id": "babbage-search-query", "object": "model", "created": 1651172509, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-o5hcKERXLlTSB0nfq8fPkAzK", "object": "model_permission", "created": 1690864257, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "babbage-search-query", "parent": null }, { "id": "ada-similarity", "object": "model", "created": 1651172507, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-Tz8CgePTpeDdl0q0mDxAseS4", "object": "model_permission", "created": 1690864543, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "ada-similarity", "parent": null }, { "id": "text-curie-001", "object": "model", "created": 1649364043, "owned_by": "openai", "permission": [ { "id": "modelperm-epkpKCMZ4ezExtQH69gwuIVE", "object": "model_permission", "created": 1692389420, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": false, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "text-curie-001", "parent": null }, { "id": "gpt-3.5-turbo-16k", "object": "model", "created": 1683758102, "owned_by": "openai-internal", "permission": [ { "id": "modelperm-BPjHua9GyiXIbj7F0M6c4j0A", "object": "model_permission", "created": 1692458652, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": false, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "gpt-3.5-turbo-16k", "parent": null }, { "id": "text-search-ada-doc-001", "object": "model", "created": 1651172507, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-WQoo7GOoaleCrrerQ8ROIejy", "object": "model_permission", "created": 1690864068, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "text-search-ada-doc-001", "parent": null }, { "id": "text-search-babbage-query-001", "object": "model", "created": 1651172509, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-PHk5XyJIMEk88v14M2eEcJfE", "object": "model_permission", "created": 1690864079, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "text-search-babbage-query-001", "parent": null }, { "id": "code-search-ada-code-001", "object": "model", "created": 1651172507, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-lPJ8tQWzTuRpZpOjtRN4CjlP", "object": "model_permission", "created": 1690864269, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "code-search-ada-code-001", "parent": null }, { "id": "curie-search-document", "object": "model", "created": 1651172508, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-o3nt5yDhE7FpA8PtMlzGuW3k", "object": "model_permission", "created": 1690864552, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "curie-search-document", "parent": null }, { "id": "text-search-davinci-query-001", "object": "model", "created": 1651172505, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-X2U9yi1RKudh1hGQ9CnPth2A", "object": "model_permission", "created": 1690864090, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "text-search-davinci-query-001", "parent": null }, { "id": "text-search-curie-doc-001", "object": "model", "created": 1651172509, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-7mOkCIwOIehlltLDPM1oSKN7", "object": "model_permission", "created": 1690864279, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "text-search-curie-doc-001", "parent": null }, { "id": "babbage-search-document", "object": "model", "created": 1651172510, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-FQiAIZXWHZ4yJl6b4X0JWpfw", "object": "model_permission", "created": 1690864561, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "babbage-search-document", "parent": null }, { "id": "babbage-code-search-text", "object": "model", "created": 1651172509, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-9AyTgRlbDLetEnvXKDgJvSvR", "object": "model_permission", "created": 1690864101, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "babbage-code-search-text", "parent": null }, { "id": "text-embedding-ada-002", "object": "model", "created": 1671217299, "owned_by": "openai-internal", "permission": [ { "id": "modelperm-6xIVIGILGxg9gTVWY0SpzkFn", "object": "model_permission", "created": 1692313508, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "text-embedding-ada-002", "parent": null }, { "id": "davinci-instruct-beta", "object": "model", "created": 1649364042, "owned_by": "openai", "permission": [ { "id": "modelperm-ZNpXjNy0lDniBWzpvi6w6wSU", "object": "model_permission", "created": 1690842588, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": false, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "davinci-instruct-beta", "parent": null }, { "id": "davinci-search-query", "object": "model", "created": 1651172505, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-w5yjX7u1Hgz0jJFhPRB93n6I", "object": "model_permission", "created": 1690864112, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "davinci-search-query", "parent": null }, { "id": "text-similarity-babbage-001", "object": "model", "created": 1651172505, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-8p0vOyyD6xVDYv6XOC4EYIin", "object": "model_permission", "created": 1690864583, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "text-similarity-babbage-001", "parent": null }, { "id": "text-davinci-002", "object": "model", "created": 1649880484, "owned_by": "openai", "permission": [ { "id": "modelperm-Ao62Dd2uu76ec6Koq1ksR2rj", "object": "model_permission", "created": 1690864376, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": false, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "text-davinci-002", "parent": null }, { "id": "code-search-babbage-text-001", "object": "model", "created": 1651172507, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-uH251hsudZq0DqxtTcSYFTcD", "object": "model_permission", "created": 1690864593, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "code-search-babbage-text-001", "parent": null }, { "id": "text-search-davinci-doc-001", "object": "model", "created": 1651172505, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-sqcSr7AYu6WYtzWgysHg1zO4", "object": "model_permission", "created": 1690864126, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "text-search-davinci-doc-001", "parent": null }, { "id": "code-search-ada-text-001", "object": "model", "created": 1651172507, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-1JbI0GFKw9luPgTJQut1uJNe", "object": "model_permission", "created": 1690864601, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "code-search-ada-text-001", "parent": null }, { "id": "ada-search-query", "object": "model", "created": 1651172505, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-cBtmsjrTZIJUKgjS8G6uALKM", "object": "model_permission", "created": 1690864138, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "ada-search-query", "parent": null }, { "id": "text-similarity-ada-001", "object": "model", "created": 1651172505, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-fSDlSniO72T5MvD6ieDRue0a", "object": "model_permission", "created": 1690864457, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "text-similarity-ada-001", "parent": null }, { "id": "ada-code-search-code", "object": "model", "created": 1651172505, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-469coJJMBDffmGlbftht9QR7", "object": "model_permission", "created": 1690864147, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "ada-code-search-code", "parent": null }, { "id": "whisper-1", "object": "model", "created": 1677532384, "owned_by": "openai-internal", "permission": [ { "id": "modelperm-Qbzvr0DnIyt2HdaFiLj0P5h4", "object": "model_permission", "created": 1692314508, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": false, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "whisper-1", "parent": null }, { "id": "gpt-4", "object": "model", "created": 1687882411, "owned_by": "openai", "permission": [ { "id": "modelperm-cOSx57rPrEzolEUD2QSSACPS", "object": "model_permission", "created": 1692411452, "allow_create_engine": false, "allow_sampling": false, "allow_logprobs": false, "allow_search_indices": false, "allow_view": false, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "gpt-4", "parent": null }, { "id": "text-davinci-edit-001", "object": "model", "created": 1649809179, "owned_by": "openai", "permission": [ { "id": "modelperm-bwEWUtGiBcdX0p1D1ayafH8w", "object": "model_permission", "created": 1690915020, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": false, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "text-davinci-edit-001", "parent": null }, { "id": "davinci-search-document", "object": "model", "created": 1651172509, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-1jEFSTL1yLUnTyI8TekKPGQF", "object": "model_permission", "created": 1690864158, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "davinci-search-document", "parent": null }, { "id": "gpt-4-0613", "object": "model", "created": 1686588896, "owned_by": "openai", "permission": [ { "id": "modelperm-kZWPVNfDP5WlVYNfcopBABZB", "object": "model_permission", "created": 1692411496, "allow_create_engine": false, "allow_sampling": false, "allow_logprobs": false, "allow_search_indices": false, "allow_view": false, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "gpt-4-0613", "parent": null }, { "id": "curie-search-query", "object": "model", "created": 1651172509, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-fvYLh7mrZBoEXRa9teCq7ZsK", "object": "model_permission", "created": 1690864488, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "curie-search-query", "parent": null }, { "id": "babbage-similarity", "object": "model", "created": 1651172505, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-XBmFjRKu34Qvm9Y8Vjg6si3V", "object": "model_permission", "created": 1690864610, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "babbage-similarity", "parent": null }, { "id": "ada", "object": "model", "created": 1649357491, "owned_by": "openai", "permission": [ { "id": "modelperm-gUTBN2NFYvvG3UwNeDnY6EEe", "object": "model_permission", "created": 1692393802, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": false, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "ada", "parent": null }, { "id": "ada-search-document", "object": "model", "created": 1651172507, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-jEtYYVTVutQ4BLh2DnGd9tJt", "object": "model_permission", "created": 1690864171, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "ada-search-document", "parent": null }, { "id": "text-ada-001", "object": "model", "created": 1649364042, "owned_by": "openai", "permission": [ { "id": "modelperm-jRuB7xBCdj159SqaDmpPgeWO", "object": "model_permission", "created": 1690915029, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": false, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "text-ada-001", "parent": null }, { "id": "text-similarity-davinci-001", "object": "model", "created": 1651172505, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-CoAjJ7mSHeO28X7KowOnwvj9", "object": "model_permission", "created": 1690864500, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "text-similarity-davinci-001", "parent": null }, { "id": "curie-similarity", "object": "model", "created": 1651172510, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-gSmuEPu9Q8KjQhJ5myLNKIIV", "object": "model_permission", "created": 1690864620, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "curie-similarity", "parent": null }, { "id": "babbage-code-search-code", "object": "model", "created": 1651172509, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-UdNutuGVhzb5EBzlkaztBdMH", "object": "model_permission", "created": 1690864182, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "babbage-code-search-code", "parent": null }, { "id": "code-search-babbage-code-001", "object": "model", "created": 1651172507, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-0mO5qmzzKUVVVZ9MIHTnwjwK", "object": "model_permission", "created": 1690864510, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "code-search-babbage-code-001", "parent": null }, { "id": "text-search-babbage-doc-001", "object": "model", "created": 1651172509, "owned_by": "openai-dev", "permission": [ { "id": "modelperm-dvJNsLdOcnLbIYlRZRnfQAfX", "object": "model_permission", "created": 1690864628, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": true, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "text-search-babbage-doc-001", "parent": null }, { "id": "gpt-3.5-turbo-0301", "object": "model", "created": 1677649963, "owned_by": "openai", "permission": [ { "id": "modelperm-I4IcSJFYZl2fIK0DPSBkgK3d", "object": "model_permission", "created": 1691712139, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": false, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "gpt-3.5-turbo-0301", "parent": null }, { "id": "curie", "object": "model", "created": 1649359874, "owned_by": "openai", "permission": [ { "id": "modelperm-cXKYjZ0dQvxFHt2rqkdTWYCz", "object": "model_permission", "created": 1692392433, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": false, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "curie", "parent": null } ] } \ No newline at end of file +{ "object": "list", "data": [ { "id": "text-search-babbage-doc-001", "object": "model", "created": 1651172509, "owned_by": "openai-dev" }, { "id": "gpt-4", "object": "model", "created": 1687882411, "owned_by": "openai" }, { "id": "gpt-3.5-turbo-16k", "object": "model", "created": 1683758102, "owned_by": "openai-internal" }, { "id": "curie-search-query", "object": "model", "created": 1651172509, "owned_by": "openai-dev" }, { "id": "text-davinci-003", "object": "model", "created": 1669599635, "owned_by": "openai-internal" }, { "id": "text-search-babbage-query-001", "object": "model", "created": 1651172509, "owned_by": "openai-dev" }, { "id": "babbage", "object": "model", "created": 1649358449, "owned_by": "openai" }, { "id": "babbage-search-query", "object": "model", "created": 1651172509, "owned_by": "openai-dev" }, { "id": "text-babbage-001", "object": "model", "created": 1649364043, "owned_by": "openai" }, { "id": "text-similarity-davinci-001", "object": "model", "created": 1651172505, "owned_by": "openai-dev" }, { "id": "davinci-similarity", "object": "model", "created": 1651172509, "owned_by": "openai-dev" }, { "id": "code-davinci-edit-001", "object": "model", "created": 1649880484, "owned_by": "openai" }, { "id": "curie-similarity", "object": "model", "created": 1651172510, "owned_by": "openai-dev" }, { "id": "babbage-search-document", "object": "model", "created": 1651172510, "owned_by": "openai-dev" }, { "id": "curie-instruct-beta", "object": "model", "created": 1649364042, "owned_by": "openai" }, { "id": "text-search-ada-doc-001", "object": "model", "created": 1651172507, "owned_by": "openai-dev" }, { "id": "davinci-instruct-beta", "object": "model", "created": 1649364042, "owned_by": "openai" }, { "id": "gpt-3.5-turbo-instruct", "object": "model", "created": 1692901427, "owned_by": "system" }, { "id": "text-similarity-babbage-001", "object": "model", "created": 1651172505, "owned_by": "openai-dev" }, { "id": "text-search-davinci-doc-001", "object": "model", "created": 1651172505, "owned_by": "openai-dev" }, { "id": "gpt-3.5-turbo-instruct-0914", "object": "model", "created": 1694122472, "owned_by": "system" }, { "id": "babbage-similarity", "object": "model", "created": 1651172505, "owned_by": "openai-dev" }, { "id": "text-embedding-ada-002", "object": "model", "created": 1671217299, "owned_by": "openai-internal" }, { "id": "davinci-search-query", "object": "model", "created": 1651172505, "owned_by": "openai-dev" }, { "id": "text-similarity-curie-001", "object": "model", "created": 1651172507, "owned_by": "openai-dev" }, { "id": "text-davinci-001", "object": "model", "created": 1649364042, "owned_by": "openai" }, { "id": "text-search-davinci-query-001", "object": "model", "created": 1651172505, "owned_by": "openai-dev" }, { "id": "ada-search-document", "object": "model", "created": 1651172507, "owned_by": "openai-dev" }, { "id": "ada-code-search-code", "object": "model", "created": 1651172505, "owned_by": "openai-dev" }, { "id": "babbage-002", "object": "model", "created": 1692634615, "owned_by": "system" }, { "id": "gpt-4-vision-preview", "object": "model", "created": 1698894917, "owned_by": "system" }, { "id": "davinci-002", "object": "model", "created": 1692634301, "owned_by": "system" }, { "id": "gpt-4-0314", "object": "model", "created": 1687882410, "owned_by": "openai" }, { "id": "davinci-search-document", "object": "model", "created": 1651172509, "owned_by": "openai-dev" }, { "id": "curie-search-document", "object": "model", "created": 1651172508, "owned_by": "openai-dev" }, { "id": "babbage-code-search-code", "object": "model", "created": 1651172509, "owned_by": "openai-dev" }, { "id": "gpt-4-0613", "object": "model", "created": 1686588896, "owned_by": "openai" }, { "id": "text-search-ada-query-001", "object": "model", "created": 1651172505, "owned_by": "openai-dev" }, { "id": "code-search-ada-text-001", "object": "model", "created": 1651172507, "owned_by": "openai-dev" }, { "id": "gpt-3.5-turbo-16k-0613", "object": "model", "created": 1685474247, "owned_by": "openai" }, { "id": "babbage-code-search-text", "object": "model", "created": 1651172509, "owned_by": "openai-dev" }, { "id": "code-search-babbage-code-001", "object": "model", "created": 1651172507, "owned_by": "openai-dev" }, { "id": "ada-search-query", "object": "model", "created": 1651172505, "owned_by": "openai-dev" }, { "id": "ada-code-search-text", "object": "model", "created": 1651172510, "owned_by": "openai-dev" }, { "id": "tts-1-hd", "object": "model", "created": 1699046015, "owned_by": "system" }, { "id": "text-search-curie-query-001", "object": "model", "created": 1651172509, "owned_by": "openai-dev" }, { "id": "text-davinci-002", "object": "model", "created": 1649880484, "owned_by": "openai" }, { "id": "text-davinci-edit-001", "object": "model", "created": 1649809179, "owned_by": "openai" }, { "id": "code-search-babbage-text-001", "object": "model", "created": 1651172507, "owned_by": "openai-dev" }, { "id": "tts-1-hd-1106", "object": "model", "created": 1699053533, "owned_by": "system" }, { "id": "ada", "object": "model", "created": 1649357491, "owned_by": "openai" }, { "id": "text-ada-001", "object": "model", "created": 1649364042, "owned_by": "openai" }, { "id": "ada-similarity", "object": "model", "created": 1651172507, "owned_by": "openai-dev" }, { "id": "code-search-ada-code-001", "object": "model", "created": 1651172507, "owned_by": "openai-dev" }, { "id": "text-similarity-ada-001", "object": "model", "created": 1651172505, "owned_by": "openai-dev" }, { "id": "canary-whisper", "object": "model", "created": 1699656801, "owned_by": "system" }, { "id": "whisper-1", "object": "model", "created": 1677532384, "owned_by": "openai-internal" }, { "id": "text-search-curie-doc-001", "object": "model", "created": 1651172509, "owned_by": "openai-dev" }, { "id": "text-curie-001", "object": "model", "created": 1649364043, "owned_by": "openai" }, { "id": "curie", "object": "model", "created": 1649359874, "owned_by": "openai" }, { "id": "canary-tts", "object": "model", "created": 1699492935, "owned_by": "system" }, { "id": "tts-1", "object": "model", "created": 1681940951, "owned_by": "openai-internal" }, { "id": "gpt-3.5-turbo-1106", "object": "model", "created": 1698959748, "owned_by": "system" }, { "id": "gpt-3.5-turbo-0613", "object": "model", "created": 1686587434, "owned_by": "openai" }, { "id": "gpt-4-1106-preview", "object": "model", "created": 1698957206, "owned_by": "system" }, { "id": "gpt-3.5-turbo-0301", "object": "model", "created": 1677649963, "owned_by": "openai" }, { "id": "gpt-3.5-turbo", "object": "model", "created": 1677610602, "owned_by": "openai" }, { "id": "davinci", "object": "model", "created": 1649359874, "owned_by": "openai" }, { "id": "dall-e-2", "object": "model", "created": 1698798177, "owned_by": "system" }, { "id": "tts-1-1106", "object": "model", "created": 1699053241, "owned_by": "system" }, { "id": "ft:gpt-3.5-turbo-1106:personal::8NAhPVlK", "object": "model", "created": 1700533363, "owned_by": "user-gyf5fgvhobw8vl4qpkqyupoa" } ] } \ No newline at end of file diff --git a/src/test/resources/models_getone.json b/src/test/resources/models_getone.json index d1b1c554..37d23ef2 100644 --- a/src/test/resources/models_getone.json +++ b/src/test/resources/models_getone.json @@ -1 +1 @@ -{ "id": "gpt-3.5-turbo-16k-0613", "object": "model", "created": 1685474247, "owned_by": "openai", "permission": [ { "id": "modelperm-hb67ObpoaFIKTieIMs9CqZPq", "object": "model_permission", "created": 1692458644, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, "allow_search_indices": false, "allow_view": true, "allow_fine_tuning": false, "organization": "*", "group": null, "is_blocking": false } ], "root": "gpt-3.5-turbo-16k-0613", "parent": null } \ No newline at end of file +{ "id": "gpt-3.5-turbo-16k-0613", "object": "model", "created": 1685474247, "owned_by": "openai" } \ No newline at end of file