2020-10-05 17:44:18 -05:00
|
|
|
package com.theokanning.openai;
|
2020-09-14 19:22:46 -05:00
|
|
|
|
2022-04-28 16:20:15 -05:00
|
|
|
import com.theokanning.openai.answer.AnswerRequest;
|
|
|
|
import com.theokanning.openai.answer.AnswerResult;
|
2022-04-28 15:55:27 -05:00
|
|
|
import com.theokanning.openai.classification.ClassificationRequest;
|
|
|
|
import com.theokanning.openai.classification.ClassificationResult;
|
2022-04-28 16:20:15 -05:00
|
|
|
import com.theokanning.openai.completion.CompletionRequest;
|
|
|
|
import com.theokanning.openai.completion.CompletionResult;
|
2020-10-05 17:44:18 -05:00
|
|
|
import com.theokanning.openai.engine.Engine;
|
2022-04-19 18:50:44 -05:00
|
|
|
import com.theokanning.openai.file.File;
|
|
|
|
import com.theokanning.openai.finetune.FineTuneEvent;
|
2022-04-28 16:20:15 -05:00
|
|
|
import com.theokanning.openai.finetune.FineTuneRequest;
|
2022-04-19 18:50:44 -05:00
|
|
|
import com.theokanning.openai.finetune.FineTuneResult;
|
2020-10-05 17:44:18 -05:00
|
|
|
import com.theokanning.openai.search.SearchRequest;
|
|
|
|
import com.theokanning.openai.search.SearchResult;
|
2022-04-28 16:20:15 -05:00
|
|
|
import io.reactivex.Single;
|
2022-04-19 18:50:44 -05:00
|
|
|
import okhttp3.MultipartBody;
|
|
|
|
import okhttp3.RequestBody;
|
|
|
|
import retrofit2.http.*;
|
2020-09-14 19:22:46 -05:00
|
|
|
|
|
|
|
public interface OpenAiApi {
|
|
|
|
|
|
|
|
@GET("v1/engines")
|
|
|
|
Single<OpenAiResponse<Engine>> getEngines();
|
2020-09-14 21:29:30 -05:00
|
|
|
|
|
|
|
@GET("/v1/engines/{engine_id}")
|
|
|
|
Single<Engine> getEngine(@Path("engine_id") String engineId);
|
2020-09-14 21:56:31 -05:00
|
|
|
|
|
|
|
@POST("/v1/engines/{engine_id}/completions")
|
|
|
|
Single<CompletionResult> createCompletion(@Path("engine_id") String engineId, @Body CompletionRequest request);
|
2020-10-04 18:25:40 -05:00
|
|
|
|
|
|
|
@POST("/v1/engines/{engine_id}/search")
|
|
|
|
Single<OpenAiResponse<SearchResult>> search(@Path("engine_id") String engineId, @Body SearchRequest request);
|
2022-04-19 18:50:44 -05:00
|
|
|
|
2022-04-28 15:55:27 -05:00
|
|
|
@POST("v1/classifications")
|
|
|
|
Single<ClassificationResult> createClassification(@Body ClassificationRequest request);
|
|
|
|
|
2022-04-28 16:20:15 -05:00
|
|
|
@POST("v1/answers")
|
|
|
|
Single<AnswerResult> createAnswer(@Body AnswerRequest request);
|
|
|
|
|
2022-04-19 18:50:44 -05:00
|
|
|
@GET("/v1/files")
|
|
|
|
Single<OpenAiResponse<File>> listFiles();
|
|
|
|
|
|
|
|
@Multipart
|
|
|
|
@POST("/v1/files")
|
|
|
|
Single<File> uploadFile(@Part("purpose") RequestBody purpose, @Part MultipartBody.Part file);
|
|
|
|
|
|
|
|
@DELETE("/v1/files/{file_id}")
|
|
|
|
Single<DeleteResult> deleteFile(@Path("file_id") String fileId);
|
|
|
|
|
|
|
|
@GET("/v1/files/{file_id}")
|
|
|
|
Single<File> retrieveFile(@Path("file_id") String fileId);
|
|
|
|
|
|
|
|
@POST("/v1/fine-tunes")
|
|
|
|
Single<FineTuneResult> createFineTune(@Body FineTuneRequest request);
|
|
|
|
|
|
|
|
@POST("/v1/completions")
|
|
|
|
Single<CompletionResult> createFineTuneCompletion(@Body CompletionRequest request);
|
|
|
|
|
|
|
|
@GET("/v1/fine-tunes")
|
|
|
|
Single<OpenAiResponse<FineTuneResult>> listFineTunes();
|
|
|
|
|
|
|
|
@GET("/v1/fine-tunes/{fine_tune_id}")
|
|
|
|
Single<FineTuneResult> retrieveFineTune(@Path("fine_tune_id") String fineTuneId);
|
|
|
|
|
|
|
|
@POST("/v1/fine-tunes/{fine_tune_id}/cancel")
|
|
|
|
Single<FineTuneResult> cancelFineTune(@Path("fine_tune_id") String fineTuneId);
|
|
|
|
|
|
|
|
@GET("/v1/fine-tunes/{fine_tune_id}/events")
|
|
|
|
Single<OpenAiResponse<FineTuneEvent>> listFineTuneEvents(@Path("fine_tune_id") String fineTuneId);
|
|
|
|
|
|
|
|
@DELETE("/v1/models/{fine_tune_id}")
|
|
|
|
Single<DeleteResult> deleteFineTune(@Path("fine_tune_id") String fineTuneId);
|
|
|
|
|
2020-09-14 19:22:46 -05:00
|
|
|
}
|