public interface IOpenAiApi
| 限定符和类型 | 字段和说明 |
|---|---|
static String |
v1_chat_completions |
static String |
v1_completions |
static String |
v1_images_completions
生成图片
curl https://api.openai.com/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"prompt": "A cute baby sea otter",
"n": 2,
"size": "1024x1024"
}'
{
"created": 1589478378,
"data": [
{
"url": "https://..."
},
{
"url": "https://..."
}
]
}
|
| 限定符和类型 | 方法和说明 |
|---|---|
io.reactivex.Single<BillingUsage> |
billingUsage(java.time.LocalDate starDate,
java.time.LocalDate endDate)
消耗查询
|
io.reactivex.Single<ChatCompletionResponse> |
completions(ChatCompletionRequest chatCompletionRequest)
问答模型;默认 GPT-3.5
|
io.reactivex.Single<QACompletionResponse> |
completions(QACompletionRequest qaCompletionRequest)
文本问答
|
io.reactivex.Single<VisionCompletionResponse> |
completions(VisionCompletionRequest visionCompletionRequest)
多模态 gpt-4-version
|
io.reactivex.Single<DeleteFileResponse> |
deleteFile(String fileId)
删除文件
curl https://api.openai.com/v1/files/file-XjGxS3KTG0uNmNOK362iJua3 \
-X DELETE \
-H "Authorization: Bearer $OPENAI_API_KEY"
|
io.reactivex.Single<ImageResponse> |
editImages(okhttp3.MultipartBody.Part image,
okhttp3.MultipartBody.Part mask,
Map<String,okhttp3.RequestBody> requestBodyMap)
修改图片
curl https://api.openai.com/v1/images/edits \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F image="@otter.png" \
-F mask="@mask.png" \
-F prompt="A cute baby sea otter wearing a beret" \
-F n=2 \
-F size="1024x1024"
{
"created": 1589478378,
"data": [
{
"url": "https://..."
},
{
"url": "https://..."
}
]
}
|
io.reactivex.Single<EditResponse> |
edits(EditRequest editRequest)
文本修复
|
io.reactivex.Single<EmbeddingResponse> |
embeddings(EmbeddingRequest embeddingRequest)
向量计算
curl https://api.openai.com/v1/images/variations \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F image="@otter.png" \
-F n=2 \
-F size="1024x1024"
|
io.reactivex.Single<OpenAiResponse<File>> |
files()
文件列表;在你上传文件到服务端后,可以获取列表信息
curl https://api.openai.com/v1/files \
-H "Authorization: Bearer $OPENAI_API_KEY"
|
io.reactivex.Single<ImageResponse> |
genImages(ImageRequest imageRequest) |
io.reactivex.Single<File> |
retrieveFile(String fileId)
检索文件
curl https://api.openai.com/v1/files/file-XjGxS3KTG0uNmNOK362iJua3 \
-H "Authorization: Bearer $OPENAI_API_KEY"
|
io.reactivex.Single<okhttp3.ResponseBody> |
retrieveFileContent(String fileId)
检索文件内容信息
curl https://api.openai.com/v1/files/file-XjGxS3KTG0uNmNOK362iJua3/content \
-H "Authorization: Bearer $OPENAI_API_KEY" > file.jsonl
|
io.reactivex.Single<WhisperResponse> |
speed2TextTranscriptions(okhttp3.MultipartBody.Part file,
Map<String,okhttp3.RequestBody> requestBodyMap)
语音转文字
curl https://api.openai.com/v1/audio/transcriptions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: multipart/form-data" \
-F file="@/path/to/file/audio.mp3" \
-F model="whisper-1"
|
io.reactivex.Single<WhisperResponse> |
speed2TextTranslations(okhttp3.MultipartBody.Part file,
Map<String,okhttp3.RequestBody> requestBodyMap)
语音翻译
curl https://api.openai.com/v1/audio/translations \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: multipart/form-data" \
-F file="@/path/to/file/german.m4a" \
-F model="whisper-1"
|
io.reactivex.Single<Subscription> |
subscription()
账单查询
|
io.reactivex.Single<UploadFileResponse> |
uploadFile(okhttp3.MultipartBody.Part file,
okhttp3.RequestBody purpose)
上传文件;上载一个文件,该文件包含要在各种端点/功能中使用的文档。
|
static final String v1_images_completions
{ "created": 1589478378, "data": [ { "url": "https://..." }, { "url": "https://..." } ] }
@POST(value="v1/completions") io.reactivex.Single<QACompletionResponse> completions(@Body QACompletionRequest qaCompletionRequest)
qaCompletionRequest - 请求信息@POST(value="v1/chat/completions") io.reactivex.Single<ChatCompletionResponse> completions(@Body ChatCompletionRequest chatCompletionRequest)
chatCompletionRequest - 请求信息@POST(value="v1/chat/completions") io.reactivex.Single<VisionCompletionResponse> completions(@Body VisionCompletionRequest visionCompletionRequest)
visionCompletionRequest - 请求信息@POST(value="v1/edits") io.reactivex.Single<EditResponse> edits(@Body EditRequest editRequest)
editRequest - 请求信息;编辑文本的参数@POST(value="v1/images/generations") io.reactivex.Single<ImageResponse> genImages(@Body ImageRequest imageRequest)
@Multipart @POST(value="v1/images/edits") io.reactivex.Single<ImageResponse> editImages(@Part okhttp3.MultipartBody.Part image, @Part okhttp3.MultipartBody.Part mask, @PartMap Map<String,okhttp3.RequestBody> requestBodyMap)
curl https://api.openai.com/v1/images/edits \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -F image="@otter.png" \ -F mask="@mask.png" \ -F prompt="A cute baby sea otter wearing a beret" \ -F n=2 \ -F size="1024x1024"
{ "created": 1589478378, "data": [ { "url": "https://..." }, { "url": "https://..." } ] }
image - 图片对象mask - 图片对象requestBodyMap - 请求参数@POST(value="v1/embeddings") io.reactivex.Single<EmbeddingResponse> embeddings(@Body EmbeddingRequest embeddingRequest)
embeddingRequest - 请求对象@GET(value="v1/files") io.reactivex.Single<OpenAiResponse<File>> files()
@Multipart @POST(value="v1/files") io.reactivex.Single<UploadFileResponse> uploadFile(@Part okhttp3.MultipartBody.Part file, @Part(value="purpose") okhttp3.RequestBody purpose)
file - 文件purpose - "fine-tune"@DELETE(value="v1/files/{file_id}")
io.reactivex.Single<DeleteFileResponse> deleteFile(@Path(value="file_id")
String fileId)
fileId - 文件ID@GET(value="v1/files/{file_id}")
io.reactivex.Single<File> retrieveFile(@Path(value="file_id")
String fileId)
fileId - 文件ID@Streaming
@GET(value="v1/files/{file_id}/content")
io.reactivex.Single<okhttp3.ResponseBody> retrieveFileContent(@Path(value="file_id")
String fileId)
fileId - 文件ID@Multipart @POST(value="v1/audio/transcriptions") io.reactivex.Single<WhisperResponse> speed2TextTranscriptions(@Part okhttp3.MultipartBody.Part file, @PartMap Map<String,okhttp3.RequestBody> requestBodyMap)
file - 语音文件requestBodyMap - 请求信息@Multipart @POST(value="v1/audio/translations") io.reactivex.Single<WhisperResponse> speed2TextTranslations(@Part okhttp3.MultipartBody.Part file, @PartMap Map<String,okhttp3.RequestBody> requestBodyMap)
file - 语音文件requestBodyMap - 请求信息@GET(value="v1/dashboard/billing/subscription") io.reactivex.Single<Subscription> subscription()
@GET(value="v1/dashboard/billing/usage") io.reactivex.Single<BillingUsage> billingUsage(@Query(value="start_date") java.time.LocalDate starDate, @Query(value="end_date") java.time.LocalDate endDate)
starDate - 开始时间endDate - 结束时间Copyright © 2024. All rights reserved.