Releases: StefanBratanov/jvm-openai
v0.11.0
Special thanks to @isKONSTANTIN for his first contribution in #17 🎉
This release contains the following additions:
General
- Made apiKey an optional parameter when building
OpenAI - Add support for structured outputs
- Add support for Administration endpoints
In order to use the Administration endpoints, admin key has to be configured when building OpenAI:
OpenAI openAI = OpenAI.newBuilder()
.adminKey(System.getenv("OPENAI_ADMIN_KEY"))
.build();Runs/RunSteps
- Add file search details and ranker options
Full Changelog: v0.10.0...v0.11.0
The artifact is available on Maven Central and can be imported as follows:
Gradle
implementation("io.github.stefanbratanov:jvm-openai:0.11.0")Maven
<dependency>
<groupId>io.github.stefanbratanov</groupId>
<artifactId>jvm-openai</artifactId>
<version>0.11.0</version>
</dependency>v0.10.0
This release contains the following additions:
General
- Add support for Uploads
- Add GPT-4o mini model to
OpenAIModelenum
Chat
- Add
service_tierparameter when creating a chat completion
Full Changelog: v0.9.3...v0.10.0
The artifact is available on Maven Central and can be imported as follows:
Gradle
implementation("io.github.stefanbratanov:jvm-openai:0.10.0")Maven
<dependency>
<groupId>io.github.stefanbratanov</groupId>
<artifactId>jvm-openai</artifactId>
<version>0.10.0</version>
</dependency>v0.9.3
This release contains the following additions:
Chat
- Ability to disable parallel function calling via
parallel_tool_callsvariable inCreateChatCompletionRequest
Messages
- Remove
quotefromFileCitationinsideThreadMessage
Runs
- Ability to disable parallel function calling via
parallel_tool_callsvariable inCreateRunRequestandCreateThreadAndRunRequest - Add
parallel_tool_callstoThreadRun
Vector Stores
- Added support for file search customizations via
ChunkingStrategy
Full Changelog: v0.9.2...v0.9.3
The artifact is available on Maven Central and can be imported as follows:
Gradle
implementation("io.github.stefanbratanov:jvm-openai:0.9.3")Maven
<dependency>
<groupId>io.github.stefanbratanov</groupId>
<artifactId>jvm-openai</artifactId>
<version>0.9.3</version>
</dependency>v0.9.2
This release contains the following fixes/additions:
General
- Fix the visibility of
ToolResourcesstatic initialization methods (#9) - Fix serializing of classes which use
@JsonSubTypesannotation (#10) - Add
GPT_4otoOpenAIModelenum - Add
Role,PurposeandVoiceenums
Messages
- Add ability to reference an image URL in the content of a message via the
contentparameter when creating a message
Full Changelog: v0.9.1...v0.9.2
The artifact is available on Maven Central and can be imported as follows:
Gradle
implementation("io.github.stefanbratanov:jvm-openai:0.9.2")Maven
<dependency>
<groupId>io.github.stefanbratanov</groupId>
<artifactId>jvm-openai</artifactId>
<version>0.9.2</version>
</dependency>v0.9.1
This release contains the following fixes/additions:
General
Chat
- Add ability to pass
stream_optionswhen creating a chat completion. More information for this functionality can be found at https://community.openai.com/t/usage-stats-now-available-when-using-streaming-with-the-chat-completions-api-or-completions-api/738156. - Add
usagefield toChatCompletionChunk
Full Changelog: v0.9.0...v0.9.1
The artifact is available on Maven Central and can be imported as follows:
Gradle
implementation("io.github.stefanbratanov:jvm-openai:0.9.1")Maven
<dependency>
<groupId>io.github.stefanbratanov</groupId>
<artifactId>jvm-openai</artifactId>
<version>0.9.1</version>
</dependency>v0.9.0
This release has too many changes to mention all, but in short it provides support for Assistants API v2. If you would like to continue using v1, use Release v0.8.0 instead. A guide for migrating from v1 to v2 is available at https://platform.openai.com/docs/assistants/migration.
This release also contains the following additions/fixes:
General
- When adding
parametersfor aFunction Tool, escaped JSON strings will be unescaped when serializing .
Runs
- Moved run steps functionality to a separate
RunStepsClientto align with the spec: https://platform.openai.com/docs/api-reference/run-steps
Full Changelog: v0.8.0...v0.9.0
The artifact is available on Maven Central and can be imported as follows:
Gradle
implementation("io.github.stefanbratanov:jvm-openai:0.9.0")Maven
<dependency>
<groupId>io.github.stefanbratanov</groupId>
<artifactId>jvm-openai</artifactId>
<version>0.9.0</version>
</dependency>v0.8.0
This release contains the following additions/fixes:
General
- Add support for Batch API
- Add ability to pass a project id (
OpenAI-Projectheader) when building theOpenAIinstance
Fine-tuning
- Change
learning_rate_multiplierparameter inHyperparametersto be adoubleinstead of anint
Assistants
- Add ability to pass
temperature,top_pandresponse_formatwhen creating an assistant
Runs
- Add ability to pass
top_p,max_prompt_tokens,max_completion_tokens,truncation_strategy,tool_choiceandresponse_formatwhen creating a run - Add
top_p,max_prompt_tokens,max_completion_tokens,truncation_strategy,tool_choiceandresponse_formatfields toThreadRun
Full Changelog: v0.7.0...v0.8.0
The artifact is available on Maven Central and can be imported as follows:
Gradle
implementation("io.github.stefanbratanov:jvm-openai:0.8.0")Maven
<dependency>
<groupId>io.github.stefanbratanov</groupId>
<artifactId>jvm-openai</artifactId>
<version>0.8.0</version>
</dependency>v0.7.0
Special thanks to @maciej-cz for his first contribution in #5 🎉
This release contains the following additions/improvements:
General
- Add
OpenAIModelenum to simplify the selection of a model
Chat
- Improved handling of streaming events when
ChatCompletionStreamSubscriberis used - Renamed
StreamChatCompletionSubscribertoChatCompletionStreamSubscriber
Fine-tuning
- Add ability to pass
integrationsandseedfields when creating a fine-tuning job - Add
integrationsandseedfield toFineTuningJob - Add support for listing checkpoints for a fine-tuning job.
Messages
- Add ability to pass
run_idquery param when listing messages to allow filtering by the run id that generated them
Runs
- Add ability to pass
additional_messages,temperatureandstreamfields when creating a run - Add
temperaturefield toThreadRun - Add ability to pass
streamfield when submitting tool outputs to run - Add
createRunAndStream,createThreadAndRunAndStreamandsubmitToolOutputsAndStreamtoRunsClientto support Assistants Streaming
Full Changelog: v0.6.2...v0.7.0
The artifact is available on Maven Central and can be imported as follows:
Gradle
implementation("io.github.stefanbratanov:jvm-openai:0.7.0")Maven
<dependency>
<groupId>io.github.stefanbratanov</groupId>
<artifactId>jvm-openai</artifactId>
<version>0.7.0</version>
</dependency>v0.6.2
This release contains the following additions/improvements:
General
- Upgraded Jackson library to version
2.17.0 - Removed argument validations when building requests, which allows the library to be more easily maintained in case of API changes
Full Changelog: v0.6.1...v0.6.2
The artifact is available on Maven Central and can be imported as follows:
Gradle
implementation("io.github.stefanbratanov:jvm-openai:0.6.2")Maven
<dependency>
<groupId>io.github.stefanbratanov</groupId>
<artifactId>jvm-openai</artifactId>
<version>0.6.2</version>
</dependency>v0.6.1
This release contains the following additions/improvements:
General
- Add ability to set a
requestTimeoutwhen initializingOpenAI. This timeout will apply to all requests.
OpenAI openAI = OpenAI.newBuilder(System.getenv("OPENAI_API_KEY"))
.requestTimeout(Duration.ofSeconds(10))
.build();Chat
- Remove
instance_idparameter as per openai/openai-openapi#198
Full Changelog: v0.6.0...v0.6.1
The artifact is available on Maven Central and can be imported as follows:
Gradle
implementation("io.github.stefanbratanov:jvm-openai:0.6.1")Maven
<dependency>
<groupId>io.github.stefanbratanov</groupId>
<artifactId>jvm-openai</artifactId>
<version>0.6.1</version>
</dependency>