Package xyz.felh.openai
Class OpenAiService
java.lang.Object
xyz.felh.openai.OpenAiService
OpenAi Service Class
-
Constructor Summary
ConstructorsConstructorDescriptionOpenAiService(String token) Creates a new OpenAiService that wraps OpenAiApiOpenAiService(String token, Duration timeout) Creates a new OpenAiService that wraps OpenAiApiOpenAiService(OpenAiApi api, okhttp3.OkHttpClient client) Creates a new OpenAiService that wraps OpenAiApi. -
Method Summary
Modifier and TypeMethodDescriptionstatic OpenAiApicancelFineTuningJob(String fineTuningJobId) Immediately cancel a fine-tune job.whisper-1whisper-1gpt-4, gpt-4-0314, gpt-4-32k, gpt-4-32k-0314, gpt-3.5-turbo, gpt-3.5-turbo-0301createCompletion(CreateCompletionRequest request) text-davinci-003, text-davinci-002, text-curie-001, text-babbage-001, text-ada-001, davinci, curie, babbage, adacreateEmbeddings(CreateEmbeddingRequest request) text-embedding-ada-002, text-search-ada-doc-001Creates a job that fine-tunes a specified model from a given dataset.createImage(CreateImageRequest request) createImageEdit(CreateImageEditRequest request) createModeration(CreateModerationRequest request) text-moderation-stable, text-moderation-latestvoidcreateSteamChatCompletion(String requestId, CreateChatCompletionRequest request, @NonNull StreamChatCompletionListener listener) create chat completion by streamstatic okhttp3.OkHttpClientdefaultClient(String token, String orgId, Duration timeout) static okhttp3.OkHttpClientdefaultClient(String token, Duration timeout) static com.fasterxml.jackson.databind.ObjectMapperstatic retrofit2.RetrofitdefaultRetrofit(okhttp3.OkHttpClient client, com.fasterxml.jackson.databind.ObjectMapper mapper) deleteFile(String fileId) static <T> Texecute(io.reactivex.rxjava3.core.Single<T> apiCall) Calls the Open AI api, returns the response, and parses error messages if the request failslistFineTuningEvents(String fineTuningJobId, String after, Integer limit) Get status updates for a fine-tuning job.retrieveFile(String fileId) retrieveFileContent(String fileId) retrieveFineTuningJob(String fineTuningJobId) Get info about a fine-tuning job.uploadFile(File file, String purpose) uploadFile(String filepath, String purpose)
-
Constructor Details
-
OpenAiService
Creates a new OpenAiService that wraps OpenAiApi- Parameters:
token- OpenAi token string "sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
-
OpenAiService
Creates a new OpenAiService that wraps OpenAiApi- Parameters:
token- OpenAi token string "sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"timeout- http read timeout, Duration.ZERO means no timeout
-
OpenAiService
Creates a new OpenAiService that wraps OpenAiApi. Use this if you need more customization.- Parameters:
api- OpenAiApi instance to use for all methods
-
-
Method Details
-
execute
public static <T> T execute(io.reactivex.rxjava3.core.Single<T> apiCall) Calls the Open AI api, returns the response, and parses error messages if the request fails -
buildApi
-
defaultObjectMapper
public static com.fasterxml.jackson.databind.ObjectMapper defaultObjectMapper() -
defaultClient
-
defaultClient
-
defaultRetrofit
public static retrofit2.Retrofit defaultRetrofit(okhttp3.OkHttpClient client, com.fasterxml.jackson.databind.ObjectMapper mapper) -
listModels
-
getModel
-
createCompletion
text-davinci-003, text-davinci-002, text-curie-001, text-babbage-001, text-ada-001, davinci, curie, babbage, ada- Parameters:
request- create completion request- Returns:
- completion
-
createChatCompletion
gpt-4, gpt-4-0314, gpt-4-32k, gpt-4-32k-0314, gpt-3.5-turbo, gpt-3.5-turbo-0301- Parameters:
request- create chat completion request- Returns:
- chat completion
-
createSteamChatCompletion
public void createSteamChatCompletion(String requestId, CreateChatCompletionRequest request, @NonNull @NonNull StreamChatCompletionListener listener) create chat completion by stream- Parameters:
requestId- request ID, every observer is uniquerequest- detail of requestlistener- StreamChatCompletionListener
-
createImage
-
createImageEdit
-
createImageVariation
-
createEmbeddings
text-embedding-ada-002, text-search-ada-doc-001- Parameters:
request- create Embedding request- Returns:
- create embedding response
-
createAudioTranscription
whisper-1TODO only support mp3 so far
- Parameters:
request- create audio transcription request- Returns:
- audio response
-
createAudioTranslation
whisper-1TODO only support mp3 so far
- Parameters:
request- create audio traslation request- Returns:
- audio
-
listFiles
-
uploadFile
-
uploadFile
-
deleteFile
-
retrieveFile
-
retrieveFileContent
- Parameters:
fileId- file id- Returns:
- file content
-
createModeration
text-moderation-stable, text-moderation-latest- Parameters:
request- create moderation request- Returns:
- moderation response
-
createFineTuningJob
Creates a job that fine-tunes a specified model from a given dataset.- Parameters:
request- CreateFineTuningJobRequest- Returns:
- A fine-tuning.job object.
-
retrieveFineTuningJob
Get info about a fine-tuning job.- Parameters:
fineTuningJobId- fineTuningJobId- Returns:
- The fine-tuning object with the given ID.
-
cancelFineTuningJob
Immediately cancel a fine-tune job.- Parameters:
fineTuningJobId- fineTuningJobId- Returns:
- The cancelled fine-tuning object.
-
listFineTuningEvents
public List<FineTuningJobEvent> listFineTuningEvents(String fineTuningJobId, String after, Integer limit) Get status updates for a fine-tuning job.- Parameters:
fineTuningJobId- fineTuningJobIdafter- Identifier for the last event from the previous pagination request.limit- Number of events to retrieve.- Returns:
- A list of fine-tuning event objects.
-