Interface OpenAIClient
-
- All Implemented Interfaces:
public interface OpenAIClientA client for interacting with the OpenAI REST API synchronously. You can also switch to asynchronous execution via the async method.
This client performs best when you create a single instance and reuse it for all interactions with the REST API. This is because each client holds its own connection pool and thread pools. Reusing connections and threads reduces latency and saves memory. The client also handles rate limiting per client. This means that creating and using multiple instances at the same time will not respect rate limits.
The threads and connections that are held will be released automatically if they remain idle. But if you are writing an application that needs to aggressively release unused resources, then you may call close.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public interfaceOpenAIClient.WithRawResponseA view of OpenAIClient that provides access to raw HTTP responses for each method.
-
Method Summary
Modifier and Type Method Description abstract OpenAIClientAsyncasync()Returns a version of this client that uses asynchronous execution. abstract OpenAIClient.WithRawResponsewithRawResponse()Returns a view of this service that provides access to raw HTTP responses for each method. abstract OpenAIClientwithOptions(Consumer<ClientOptions.Builder> modifier)Returns a view of this service with the given option modifications applied. abstract CompletionServicecompletions()Given a prompt, the model will return one or more predicted completions, and can also return the probabilities of alternative tokens at each position. abstract ChatServicechat()abstract EmbeddingServiceembeddings()Get a vector representation of a given input that can be easily consumed by machine learning models and algorithms. abstract FileServicefiles()Files are used to upload documents that can be used with features like Assistants and Fine-tuning. abstract ImageServiceimages()Given a prompt and/or an input image, the model will generate a new image. abstract AudioServiceaudio()abstract ModerationServicemoderations()Given text and/or image inputs, classifies if those inputs are potentially harmful. abstract ModelServicemodels()List and describe the various models available in the API. abstract FineTuningServicefineTuning()abstract GraderServicegraders()abstract VectorStoreServicevectorStores()abstract WebhookServicewebhooks()abstract BetaServicebeta()abstract BatchServicebatches()Create large batches of API requests to run asynchronously. abstract UploadServiceuploads()Use Uploads to upload large files in multiple parts. abstract ResponseServiceresponses()abstract RealtimeServicerealtime()abstract ConversationServiceconversations()Manage conversations and conversation items. abstract EvalServiceevals()Manage and run evals in the OpenAI platform. abstract ContainerServicecontainers()abstract SkillServiceskills()abstract VideoServicevideos()abstract Unitclose()Closes this client, relinquishing any underlying resources. -
-
Method Detail
-
async
abstract OpenAIClientAsync async()
Returns a version of this client that uses asynchronous execution.
The returned client shares its resources, like its connection pool and thread pools, with this client.
-
withRawResponse
abstract OpenAIClient.WithRawResponse withRawResponse()
Returns a view of this service that provides access to raw HTTP responses for each method.
-
withOptions
abstract OpenAIClient withOptions(Consumer<ClientOptions.Builder> modifier)
Returns a view of this service with the given option modifications applied.
The original service is not modified.
-
completions
abstract CompletionService completions()
Given a prompt, the model will return one or more predicted completions, and can also return the probabilities of alternative tokens at each position.
-
chat
abstract ChatService chat()
-
embeddings
abstract EmbeddingService embeddings()
Get a vector representation of a given input that can be easily consumed by machine learning models and algorithms.
-
files
abstract FileService files()
Files are used to upload documents that can be used with features like Assistants and Fine-tuning.
-
images
abstract ImageService images()
Given a prompt and/or an input image, the model will generate a new image.
-
audio
abstract AudioService audio()
-
moderations
abstract ModerationService moderations()
Given text and/or image inputs, classifies if those inputs are potentially harmful.
-
models
abstract ModelService models()
List and describe the various models available in the API.
-
fineTuning
abstract FineTuningService fineTuning()
-
graders
abstract GraderService graders()
-
vectorStores
abstract VectorStoreService vectorStores()
-
webhooks
abstract WebhookService webhooks()
-
beta
abstract BetaService beta()
-
batches
abstract BatchService batches()
Create large batches of API requests to run asynchronously.
-
uploads
abstract UploadService uploads()
Use Uploads to upload large files in multiple parts.
-
responses
abstract ResponseService responses()
-
realtime
abstract RealtimeService realtime()
-
conversations
abstract ConversationService conversations()
Manage conversations and conversation items.
-
evals
abstract EvalService evals()
Manage and run evals in the OpenAI platform.
-
containers
abstract ContainerService containers()
-
skills
abstract SkillService skills()
-
videos
abstract VideoService videos()
-
close
abstract Unit close()
Closes this client, relinquishing any underlying resources.
This is purposefully not inherited from AutoCloseable because the client is long-lived and usually should not be synchronously closed via try-with-resources.
It's also usually not necessary to call this method at all. the default HTTP client automatically releases threads and connections if they remain idle, but if you are writing an application that needs to aggressively release unused resources, then you may call this method.
-
-
-
-