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
OpenAIModel
enum
Chat
- Add
service_tier
parameter 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_calls
variable inCreateChatCompletionRequest
Messages
- Remove
quote
fromFileCitation
insideThreadMessage
Runs
- Ability to disable parallel function calling via
parallel_tool_calls
variable inCreateRunRequest
andCreateThreadAndRunRequest
- Add
parallel_tool_calls
toThreadRun
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
ToolResources
static initialization methods (#9) - Fix serializing of classes which use
@JsonSubTypes
annotation (#10) - Add
GPT_4o
toOpenAIModel
enum - Add
Role
,Purpose
andVoice
enums
Messages
- Add ability to reference an image URL in the content of a message via the
content
parameter 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_options
when 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
usage
field 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
parameters
for aFunction Tool
, escaped JSON strings will be unescaped when serializing .
Runs
- Moved run steps functionality to a separate
RunStepsClient
to 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-Project
header) when building theOpenAI
instance
Fine-tuning
- Change
learning_rate_multiplier
parameter inHyperparameters
to be adouble
instead of anint
Assistants
- Add ability to pass
temperature
,top_p
andresponse_format
when creating an assistant
Runs
- Add ability to pass
top_p
,max_prompt_tokens
,max_completion_tokens
,truncation_strategy
,tool_choice
andresponse_format
when creating a run - Add
top_p
,max_prompt_tokens
,max_completion_tokens
,truncation_strategy
,tool_choice
andresponse_format
fields 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
OpenAIModel
enum to simplify the selection of a model
Chat
- Improved handling of streaming events when
ChatCompletionStreamSubscriber
is used - Renamed
StreamChatCompletionSubscriber
toChatCompletionStreamSubscriber
Fine-tuning
- Add ability to pass
integrations
andseed
fields when creating a fine-tuning job - Add
integrations
andseed
field toFineTuningJob
- Add support for listing checkpoints for a fine-tuning job.
Messages
- Add ability to pass
run_id
query param when listing messages to allow filtering by the run id that generated them
Runs
- Add ability to pass
additional_messages
,temperature
andstream
fields when creating a run - Add
temperature
field toThreadRun
- Add ability to pass
stream
field when submitting tool outputs to run - Add
createRunAndStream
,createThreadAndRunAndStream
andsubmitToolOutputsAndStream
toRunsClient
to 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
requestTimeout
when 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_id
parameter 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>