forked from Archives/langchain
705431aecc
Co-authored-by: Ankush Gola <ankush.gola@gmail.com>
3124 lines
105 KiB
YAML
3124 lines
105 KiB
YAML
openapi: 3.0.0
|
||
info:
|
||
title: OpenAI API
|
||
description: APIs for sampling from and fine-tuning language models
|
||
version: '1.1.0'
|
||
servers:
|
||
- url: https://api.openai.com/v1
|
||
tags:
|
||
- name: OpenAI
|
||
description: The OpenAI REST API
|
||
paths:
|
||
/engines:
|
||
get:
|
||
operationId: listEngines
|
||
deprecated: true
|
||
tags:
|
||
- OpenAI
|
||
summary: Lists the currently available (non-finetuned) models, and provides basic information about each one such as the owner and availability.
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ListEnginesResponse'
|
||
x-oaiMeta:
|
||
name: List engines
|
||
group: engines
|
||
path: list
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/engines \
|
||
-H 'Authorization: Bearer YOUR_API_KEY'
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.Engine.list()
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.listEngines();
|
||
response: |
|
||
{
|
||
"data": [
|
||
{
|
||
"id": "engine-id-0",
|
||
"object": "engine",
|
||
"owner": "organization-owner",
|
||
"ready": true
|
||
},
|
||
{
|
||
"id": "engine-id-2",
|
||
"object": "engine",
|
||
"owner": "organization-owner",
|
||
"ready": true
|
||
},
|
||
{
|
||
"id": "engine-id-3",
|
||
"object": "engine",
|
||
"owner": "openai",
|
||
"ready": false
|
||
},
|
||
],
|
||
"object": "list"
|
||
}
|
||
/engines/{engine_id}:
|
||
get:
|
||
operationId: retrieveEngine
|
||
deprecated: true
|
||
tags:
|
||
- OpenAI
|
||
summary: Retrieves a model instance, providing basic information about it such as the owner and availability.
|
||
parameters:
|
||
- in: path
|
||
name: engine_id
|
||
required: true
|
||
schema:
|
||
type: string
|
||
# ideally this will be an actual ID, so this will always work from browser
|
||
example:
|
||
davinci
|
||
description: &engine_id_description >
|
||
The ID of the engine to use for this request
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/Engine'
|
||
x-oaiMeta:
|
||
name: Retrieve engine
|
||
group: engines
|
||
path: retrieve
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/engines/VAR_model_id \
|
||
-H 'Authorization: Bearer YOUR_API_KEY'
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.Engine.retrieve("VAR_model_id")
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.retrieveEngine("VAR_model_id");
|
||
response: |
|
||
{
|
||
"id": "VAR_model_id",
|
||
"object": "engine",
|
||
"owner": "openai",
|
||
"ready": true
|
||
}
|
||
/completions:
|
||
post:
|
||
operationId: createCompletion
|
||
tags:
|
||
- OpenAI
|
||
summary: Creates a completion for the provided prompt and parameters
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateCompletionRequest'
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateCompletionResponse'
|
||
x-oaiMeta:
|
||
name: Create completion
|
||
group: completions
|
||
path: create
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/completions \
|
||
-H 'Content-Type: application/json' \
|
||
-H 'Authorization: Bearer YOUR_API_KEY' \
|
||
-d '{
|
||
"model": "VAR_model_id",
|
||
"prompt": "Say this is a test",
|
||
"max_tokens": 7,
|
||
"temperature": 0
|
||
}'
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.Completion.create(
|
||
model="VAR_model_id",
|
||
prompt="Say this is a test",
|
||
max_tokens=7,
|
||
temperature=0
|
||
)
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.createCompletion({
|
||
model: "VAR_model_id",
|
||
prompt: "Say this is a test",
|
||
max_tokens: 7,
|
||
temperature: 0,
|
||
});
|
||
parameters: |
|
||
{
|
||
"model": "VAR_model_id",
|
||
"prompt": "Say this is a test",
|
||
"max_tokens": 7,
|
||
"temperature": 0,
|
||
"top_p": 1,
|
||
"n": 1,
|
||
"stream": false,
|
||
"logprobs": null,
|
||
"stop": "\n"
|
||
}
|
||
response: |
|
||
{
|
||
"id": "cmpl-uqkvlQyYK7bGYrRHQ0eXlWi7",
|
||
"object": "text_completion",
|
||
"created": 1589478378,
|
||
"model": "VAR_model_id",
|
||
"choices": [
|
||
{
|
||
"text": "\n\nThis is indeed a test",
|
||
"index": 0,
|
||
"logprobs": null,
|
||
"finish_reason": "length"
|
||
}
|
||
],
|
||
"usage": {
|
||
"prompt_tokens": 5,
|
||
"completion_tokens": 7,
|
||
"total_tokens": 12
|
||
}
|
||
}
|
||
/edits:
|
||
post:
|
||
operationId: createEdit
|
||
tags:
|
||
- OpenAI
|
||
summary: Creates a new edit for the provided input, instruction, and parameters
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateEditRequest'
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateEditResponse'
|
||
x-oaiMeta:
|
||
name: Create edit
|
||
group: edits
|
||
path: create
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/edits \
|
||
-H 'Content-Type: application/json' \
|
||
-H 'Authorization: Bearer YOUR_API_KEY' \
|
||
-d '{
|
||
"model": "VAR_model_id",
|
||
"input": "What day of the wek is it?",
|
||
"instruction": "Fix the spelling mistakes"
|
||
}'
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.Edit.create(
|
||
model="VAR_model_id",
|
||
input="What day of the wek is it?",
|
||
instruction="Fix the spelling mistakes"
|
||
)
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.createEdit({
|
||
model: "VAR_model_id",
|
||
input: "What day of the wek is it?",
|
||
instruction: "Fix the spelling mistakes",
|
||
});
|
||
parameters: |
|
||
{
|
||
"model": "VAR_model_id",
|
||
"input": "What day of the wek is it?",
|
||
"instruction": "Fix the spelling mistakes",
|
||
}
|
||
response: |
|
||
{
|
||
"object": "edit",
|
||
"created": 1589478378,
|
||
"choices": [
|
||
{
|
||
"text": "What day of the week is it?",
|
||
"index": 0,
|
||
}
|
||
],
|
||
"usage": {
|
||
"prompt_tokens": 25,
|
||
"completion_tokens": 32,
|
||
"total_tokens": 57
|
||
}
|
||
}
|
||
/images/generations:
|
||
post:
|
||
operationId: createImage
|
||
tags:
|
||
- OpenAI
|
||
summary: Creates an image given a prompt.
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateImageRequest'
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ImagesResponse'
|
||
x-oaiMeta:
|
||
name: Create image
|
||
group: images
|
||
path: create
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/images/generations \
|
||
-H 'Content-Type: application/json' \
|
||
-H 'Authorization: Bearer YOUR_API_KEY' \
|
||
-d '{
|
||
"prompt": "A cute baby sea otter",
|
||
"n": 2,
|
||
"size": "1024x1024"
|
||
}'
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.Image.create(
|
||
prompt="A cute baby sea otter",
|
||
n=2,
|
||
size="1024x1024"
|
||
)
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.createImage({
|
||
prompt: "A cute baby sea otter",
|
||
n: 2,
|
||
size: "1024x1024",
|
||
});
|
||
parameters: |
|
||
{
|
||
"prompt": "A cute baby sea otter",
|
||
"n": 2,
|
||
"size": "1024x1024"
|
||
}
|
||
response: |
|
||
{
|
||
"created": 1589478378,
|
||
"data": [
|
||
{
|
||
"url": "https://..."
|
||
},
|
||
{
|
||
"url": "https://..."
|
||
}
|
||
]
|
||
}
|
||
/images/edits:
|
||
post:
|
||
operationId: createImageEdit
|
||
tags:
|
||
- OpenAI
|
||
summary: Creates an edited or extended image given an original image and a prompt.
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
multipart/form-data:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateImageEditRequest'
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ImagesResponse'
|
||
x-oaiMeta:
|
||
name: Create image edit
|
||
group: images
|
||
path: create-edit
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/images/edits \
|
||
-H 'Authorization: Bearer YOUR_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"
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.Image.create_edit(
|
||
image=open("otter.png", "rb"),
|
||
mask=open("mask.png", "rb"),
|
||
prompt="A cute baby sea otter wearing a beret",
|
||
n=2,
|
||
size="1024x1024"
|
||
)
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.createImageEdit(
|
||
fs.createReadStream("otter.png"),
|
||
fs.createReadStream("mask.png"),
|
||
"A cute baby sea otter wearing a beret",
|
||
2,
|
||
"1024x1024"
|
||
);
|
||
response: |
|
||
{
|
||
"created": 1589478378,
|
||
"data": [
|
||
{
|
||
"url": "https://..."
|
||
},
|
||
{
|
||
"url": "https://..."
|
||
}
|
||
]
|
||
}
|
||
/images/variations:
|
||
post:
|
||
operationId: createImageVariation
|
||
tags:
|
||
- OpenAI
|
||
summary: Creates a variation of a given image.
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
multipart/form-data:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateImageVariationRequest'
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ImagesResponse'
|
||
x-oaiMeta:
|
||
name: Create image variation
|
||
group: images
|
||
path: create-variation
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/images/variations \
|
||
-H 'Authorization: Bearer YOUR_API_KEY' \
|
||
-F image='@otter.png' \
|
||
-F n=2 \
|
||
-F size="1024x1024"
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.Image.create_variation(
|
||
image=open("otter.png", "rb"),
|
||
n=2,
|
||
size="1024x1024"
|
||
)
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.createImageVariation(
|
||
fs.createReadStream("otter.png"),
|
||
2,
|
||
"1024x1024"
|
||
);
|
||
response: |
|
||
{
|
||
"created": 1589478378,
|
||
"data": [
|
||
{
|
||
"url": "https://..."
|
||
},
|
||
{
|
||
"url": "https://..."
|
||
}
|
||
]
|
||
}
|
||
/embeddings:
|
||
post:
|
||
operationId: createEmbedding
|
||
tags:
|
||
- OpenAI
|
||
summary: Creates an embedding vector representing the input text.
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateEmbeddingRequest'
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateEmbeddingResponse'
|
||
x-oaiMeta:
|
||
name: Create embeddings
|
||
group: embeddings
|
||
path: create
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/embeddings \
|
||
-X POST \
|
||
-H "Authorization: Bearer YOUR_API_KEY" \
|
||
-H "Content-Type: application/json" \
|
||
-d '{"input": "The food was delicious and the waiter...",
|
||
"model": "text-embedding-ada-002"}'
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.Embedding.create(
|
||
model="text-embedding-ada-002",
|
||
input="The food was delicious and the waiter..."
|
||
)
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.createEmbedding({
|
||
model: "text-embedding-ada-002",
|
||
input: "The food was delicious and the waiter...",
|
||
});
|
||
parameters: |
|
||
{
|
||
"model": "text-embedding-ada-002",
|
||
"input": "The food was delicious and the waiter..."
|
||
}
|
||
response: |
|
||
{
|
||
"object": "list",
|
||
"data": [
|
||
{
|
||
"object": "embedding",
|
||
"embedding": [
|
||
0.0023064255,
|
||
-0.009327292,
|
||
.... (1056 floats total for ada)
|
||
-0.0028842222,
|
||
],
|
||
"index": 0
|
||
}
|
||
],
|
||
"model": "text-embedding-ada-002",
|
||
"usage": {
|
||
"prompt_tokens": 8,
|
||
"total_tokens": 8
|
||
}
|
||
}
|
||
/engines/{engine_id}/search:
|
||
post:
|
||
operationId: createSearch
|
||
deprecated: true
|
||
tags:
|
||
- OpenAI
|
||
summary: |
|
||
The search endpoint computes similarity scores between provided query and documents. Documents can be passed directly to the API if there are no more than 200 of them.
|
||
To go beyond the 200 document limit, documents can be processed offline and then used for efficient retrieval at query time. When `file` is set, the search endpoint searches over all the documents in the given file and returns up to the `max_rerank` number of documents. These documents will be returned along with their search scores.
|
||
The similarity score is a positive score that usually ranges from 0 to 300 (but can sometimes go higher), where a score above 200 usually means the document is semantically similar to the query.
|
||
parameters:
|
||
- in: path
|
||
name: engine_id
|
||
required: true
|
||
schema:
|
||
type: string
|
||
example: davinci
|
||
description: The ID of the engine to use for this request. You can select one of `ada`, `babbage`, `curie`, or `davinci`.
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateSearchRequest'
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateSearchResponse'
|
||
x-oaiMeta:
|
||
name: Create search
|
||
group: searches
|
||
path: create
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/engines/davinci/search \
|
||
-H "Content-Type: application/json" \
|
||
-H 'Authorization: Bearer YOUR_API_KEY' \
|
||
-d '{
|
||
"documents": ["White House", "hospital", "school"],
|
||
"query": "the president"
|
||
}'
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.Engine("davinci").search(
|
||
documents=["White House", "hospital", "school"],
|
||
query="the president"
|
||
)
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.createSearch("davinci", {
|
||
documents: ["White House", "hospital", "school"],
|
||
query: "the president",
|
||
});
|
||
parameters: |
|
||
{
|
||
"documents": [
|
||
"White House",
|
||
"hospital",
|
||
"school"
|
||
],
|
||
"query": "the president"
|
||
}
|
||
response: |
|
||
{
|
||
"data": [
|
||
{
|
||
"document": 0,
|
||
"object": "search_result",
|
||
"score": 215.412
|
||
},
|
||
{
|
||
"document": 1,
|
||
"object": "search_result",
|
||
"score": 40.316
|
||
},
|
||
{
|
||
"document": 2,
|
||
"object": "search_result",
|
||
"score": 55.226
|
||
}
|
||
],
|
||
"object": "list"
|
||
}
|
||
/files:
|
||
get:
|
||
operationId: listFiles
|
||
tags:
|
||
- OpenAI
|
||
summary: Returns a list of files that belong to the user's organization.
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ListFilesResponse'
|
||
x-oaiMeta:
|
||
name: List files
|
||
group: files
|
||
path: list
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/files \
|
||
-H 'Authorization: Bearer YOUR_API_KEY'
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.File.list()
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.listFiles();
|
||
response: |
|
||
{
|
||
"data": [
|
||
{
|
||
"id": "file-ccdDZrC3iZVNiQVeEA6Z66wf",
|
||
"object": "file",
|
||
"bytes": 175,
|
||
"created_at": 1613677385,
|
||
"filename": "train.jsonl",
|
||
"purpose": "search"
|
||
},
|
||
{
|
||
"id": "file-XjGxS3KTG0uNmNOK362iJua3",
|
||
"object": "file",
|
||
"bytes": 140,
|
||
"created_at": 1613779121,
|
||
"filename": "puppy.jsonl",
|
||
"purpose": "search"
|
||
}
|
||
],
|
||
"object": "list"
|
||
}
|
||
post:
|
||
operationId: createFile
|
||
tags:
|
||
- OpenAI
|
||
summary: |
|
||
Upload a file that contains document(s) to be used across various endpoints/features. Currently, the size of all the files uploaded by one organization can be up to 1 GB. Please contact us if you need to increase the storage limit.
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
multipart/form-data:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateFileRequest'
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/OpenAIFile'
|
||
x-oaiMeta:
|
||
name: Upload file
|
||
group: files
|
||
path: upload
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/files \
|
||
-H "Authorization: Bearer YOUR_API_KEY" \
|
||
-F purpose="fine-tune" \
|
||
-F file='@mydata.jsonl'
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.File.create(
|
||
file=open("mydata.jsonl", "rb"),
|
||
purpose='fine-tune'
|
||
)
|
||
node.js: |
|
||
const fs = require("fs");
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.createFile(
|
||
fs.createReadStream("mydata.jsonl"),
|
||
"fine-tune"
|
||
);
|
||
response: |
|
||
{
|
||
"id": "file-XjGxS3KTG0uNmNOK362iJua3",
|
||
"object": "file",
|
||
"bytes": 140,
|
||
"created_at": 1613779121,
|
||
"filename": "mydata.jsonl",
|
||
"purpose": "fine-tune"
|
||
}
|
||
/files/{file_id}:
|
||
delete:
|
||
operationId: deleteFile
|
||
tags:
|
||
- OpenAI
|
||
summary: Delete a file.
|
||
parameters:
|
||
- in: path
|
||
name: file_id
|
||
required: true
|
||
schema:
|
||
type: string
|
||
description: The ID of the file to use for this request
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DeleteFileResponse'
|
||
x-oaiMeta:
|
||
name: Delete file
|
||
group: files
|
||
path: delete
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/files/file-XjGxS3KTG0uNmNOK362iJua3 \
|
||
-X DELETE \
|
||
-H 'Authorization: Bearer YOUR_API_KEY'
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.File.delete("file-XjGxS3KTG0uNmNOK362iJua3")
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.deleteFile("file-XjGxS3KTG0uNmNOK362iJua3");
|
||
response: |
|
||
{
|
||
"id": "file-XjGxS3KTG0uNmNOK362iJua3",
|
||
"object": "file",
|
||
"deleted": true
|
||
}
|
||
get:
|
||
operationId: retrieveFile
|
||
tags:
|
||
- OpenAI
|
||
summary: Returns information about a specific file.
|
||
parameters:
|
||
- in: path
|
||
name: file_id
|
||
required: true
|
||
schema:
|
||
type: string
|
||
description: The ID of the file to use for this request
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/OpenAIFile'
|
||
x-oaiMeta:
|
||
name: Retrieve file
|
||
group: files
|
||
path: retrieve
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/files/file-XjGxS3KTG0uNmNOK362iJua3 \
|
||
-H 'Authorization: Bearer YOUR_API_KEY'
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.File.retrieve("file-XjGxS3KTG0uNmNOK362iJua3")
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.retrieveFile("file-XjGxS3KTG0uNmNOK362iJua3");
|
||
response: |
|
||
{
|
||
"id": "file-XjGxS3KTG0uNmNOK362iJua3",
|
||
"object": "file",
|
||
"bytes": 140,
|
||
"created_at": 1613779657,
|
||
"filename": "mydata.jsonl",
|
||
"purpose": "fine-tune"
|
||
}
|
||
/files/{file_id}/content:
|
||
get:
|
||
operationId: downloadFile
|
||
tags:
|
||
- OpenAI
|
||
summary: Returns the contents of the specified file
|
||
parameters:
|
||
- in: path
|
||
name: file_id
|
||
required: true
|
||
schema:
|
||
type: string
|
||
description: The ID of the file to use for this request
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: string
|
||
x-oaiMeta:
|
||
name: Retrieve file content
|
||
group: files
|
||
path: retrieve-content
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/files/file-XjGxS3KTG0uNmNOK362iJua3/content \
|
||
-H 'Authorization: Bearer YOUR_API_KEY' > file.jsonl
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
content = openai.File.download("file-XjGxS3KTG0uNmNOK362iJua3")
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.downloadFile("file-XjGxS3KTG0uNmNOK362iJua3");
|
||
/answers:
|
||
post:
|
||
operationId: createAnswer
|
||
deprecated: true
|
||
tags:
|
||
- OpenAI
|
||
summary: |
|
||
Answers the specified question using the provided documents and examples.
|
||
The endpoint first [searches](/docs/api-reference/searches) over provided documents or files to find relevant context. The relevant context is combined with the provided examples and question to create the prompt for [completion](/docs/api-reference/completions).
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateAnswerRequest'
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateAnswerResponse'
|
||
x-oaiMeta:
|
||
name: Create answer
|
||
group: answers
|
||
path: create
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/answers \
|
||
-X POST \
|
||
-H "Authorization: Bearer YOUR_API_KEY" \
|
||
-H 'Content-Type: application/json' \
|
||
-d '{
|
||
"documents": ["Puppy A is happy.", "Puppy B is sad."],
|
||
"question": "which puppy is happy?",
|
||
"search_model": "ada",
|
||
"model": "curie",
|
||
"examples_context": "In 2017, U.S. life expectancy was 78.6 years.",
|
||
"examples": [["What is human life expectancy in the United States?","78 years."]],
|
||
"max_tokens": 5,
|
||
"stop": ["\n", "<|endoftext|>"]
|
||
}'
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.Answer.create(
|
||
search_model="ada",
|
||
model="curie",
|
||
question="which puppy is happy?",
|
||
documents=["Puppy A is happy.", "Puppy B is sad."],
|
||
examples_context="In 2017, U.S. life expectancy was 78.6 years.",
|
||
examples=[["What is human life expectancy in the United States?","78 years."]],
|
||
max_tokens=5,
|
||
stop=["\n", "<|endoftext|>"],
|
||
)
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.createAnswer({
|
||
search_model: "ada",
|
||
model: "curie",
|
||
question: "which puppy is happy?",
|
||
documents: ["Puppy A is happy.", "Puppy B is sad."],
|
||
examples_context: "In 2017, U.S. life expectancy was 78.6 years.",
|
||
examples: [["What is human life expectancy in the United States?","78 years."]],
|
||
max_tokens: 5,
|
||
stop: ["\n", "<|endoftext|>"],
|
||
});
|
||
parameters: |
|
||
{
|
||
"documents": ["Puppy A is happy.", "Puppy B is sad."],
|
||
"question": "which puppy is happy?",
|
||
"search_model": "ada",
|
||
"model": "curie",
|
||
"examples_context": "In 2017, U.S. life expectancy was 78.6 years.",
|
||
"examples": [["What is human life expectancy in the United States?","78 years."]],
|
||
"max_tokens": 5,
|
||
"stop": ["\n", "<|endoftext|>"]
|
||
}
|
||
response: |
|
||
{
|
||
"answers": [
|
||
"puppy A."
|
||
],
|
||
"completion": "cmpl-2euVa1kmKUuLpSX600M41125Mo9NI",
|
||
"model": "curie:2020-05-03",
|
||
"object": "answer",
|
||
"search_model": "ada",
|
||
"selected_documents": [
|
||
{
|
||
"document": 0,
|
||
"text": "Puppy A is happy. "
|
||
},
|
||
{
|
||
"document": 1,
|
||
"text": "Puppy B is sad. "
|
||
}
|
||
]
|
||
}
|
||
/classifications:
|
||
post:
|
||
operationId: createClassification
|
||
deprecated: true
|
||
tags:
|
||
- OpenAI
|
||
summary: |
|
||
Classifies the specified `query` using provided examples.
|
||
The endpoint first [searches](/docs/api-reference/searches) over the labeled examples
|
||
to select the ones most relevant for the particular query. Then, the relevant examples
|
||
are combined with the query to construct a prompt to produce the final label via the
|
||
[completions](/docs/api-reference/completions) endpoint.
|
||
Labeled examples can be provided via an uploaded `file`, or explicitly listed in the
|
||
request using the `examples` parameter for quick tests and small scale use cases.
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateClassificationRequest'
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateClassificationResponse'
|
||
x-oaiMeta:
|
||
name: Create classification
|
||
group: classifications
|
||
path: create
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/classifications \
|
||
-X POST \
|
||
-H "Authorization: Bearer YOUR_API_KEY" \
|
||
-H 'Content-Type: application/json' \
|
||
-d '{
|
||
"examples": [
|
||
["A happy moment", "Positive"],
|
||
["I am sad.", "Negative"],
|
||
["I am feeling awesome", "Positive"]],
|
||
"query": "It is a raining day :(",
|
||
"search_model": "ada",
|
||
"model": "curie",
|
||
"labels":["Positive", "Negative", "Neutral"]
|
||
}'
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.Classification.create(
|
||
search_model="ada",
|
||
model="curie",
|
||
examples=[
|
||
["A happy moment", "Positive"],
|
||
["I am sad.", "Negative"],
|
||
["I am feeling awesome", "Positive"]
|
||
],
|
||
query="It is a raining day :(",
|
||
labels=["Positive", "Negative", "Neutral"],
|
||
)
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.createClassification({
|
||
search_model: "ada",
|
||
model: "curie",
|
||
examples: [
|
||
["A happy moment", "Positive"],
|
||
["I am sad.", "Negative"],
|
||
["I am feeling awesome", "Positive"]
|
||
],
|
||
query:"It is a raining day :(",
|
||
labels: ["Positive", "Negative", "Neutral"],
|
||
});
|
||
parameters: |
|
||
{
|
||
"examples": [
|
||
["A happy moment", "Positive"],
|
||
["I am sad.", "Negative"],
|
||
["I am feeling awesome", "Positive"]
|
||
],
|
||
"labels": ["Positive", "Negative", "Neutral"],
|
||
"query": "It is a raining day :(",
|
||
"search_model": "ada",
|
||
"model": "curie"
|
||
}
|
||
response: |
|
||
{
|
||
"completion": "cmpl-2euN7lUVZ0d4RKbQqRV79IiiE6M1f",
|
||
"label": "Negative",
|
||
"model": "curie:2020-05-03",
|
||
"object": "classification",
|
||
"search_model": "ada",
|
||
"selected_examples": [
|
||
{
|
||
"document": 1,
|
||
"label": "Negative",
|
||
"text": "I am sad."
|
||
},
|
||
{
|
||
"document": 0,
|
||
"label": "Positive",
|
||
"text": "A happy moment"
|
||
},
|
||
{
|
||
"document": 2,
|
||
"label": "Positive",
|
||
"text": "I am feeling awesome"
|
||
}
|
||
]
|
||
}
|
||
/fine-tunes:
|
||
post:
|
||
operationId: createFineTune
|
||
tags:
|
||
- OpenAI
|
||
summary: |
|
||
Creates a job that fine-tunes a specified model from a given dataset.
|
||
Response includes details of the enqueued job including job status and the name of the fine-tuned models once complete.
|
||
[Learn more about Fine-tuning](/docs/guides/fine-tuning)
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateFineTuneRequest'
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/FineTune'
|
||
x-oaiMeta:
|
||
name: Create fine-tune
|
||
group: fine-tunes
|
||
path: create
|
||
beta: true
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/fine-tunes \
|
||
-X POST \
|
||
-H "Content-Type: application/json" \
|
||
-H "Authorization: Bearer YOUR_API_KEY" \
|
||
-d '{
|
||
"training_file": "file-XGinujblHPwGLSztz8cPS8XY"
|
||
}'
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.FineTune.create(training_file="file-XGinujblHPwGLSztz8cPS8XY")
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.createFineTune({
|
||
training_file: "file-XGinujblHPwGLSztz8cPS8XY",
|
||
});
|
||
response: |
|
||
{
|
||
"id": "ft-AF1WoRqd3aJAHsqc9NY7iL8F",
|
||
"object": "fine-tune",
|
||
"model": "curie",
|
||
"created_at": 1614807352,
|
||
"events": [
|
||
{
|
||
"object": "fine-tune-event",
|
||
"created_at": 1614807352,
|
||
"level": "info",
|
||
"message": "Job enqueued. Waiting for jobs ahead to complete. Queue number: 0."
|
||
}
|
||
],
|
||
"fine_tuned_model": null,
|
||
"hyperparams": {
|
||
"batch_size": 4,
|
||
"learning_rate_multiplier": 0.1,
|
||
"n_epochs": 4,
|
||
"prompt_loss_weight": 0.1,
|
||
},
|
||
"organization_id": "org-...",
|
||
"result_files": [],
|
||
"status": "pending",
|
||
"validation_files": [],
|
||
"training_files": [
|
||
{
|
||
"id": "file-XGinujblHPwGLSztz8cPS8XY",
|
||
"object": "file",
|
||
"bytes": 1547276,
|
||
"created_at": 1610062281,
|
||
"filename": "my-data-train.jsonl",
|
||
"purpose": "fine-tune-train"
|
||
}
|
||
],
|
||
"updated_at": 1614807352,
|
||
}
|
||
get:
|
||
operationId: listFineTunes
|
||
tags:
|
||
- OpenAI
|
||
summary: |
|
||
List your organization's fine-tuning jobs
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ListFineTunesResponse'
|
||
x-oaiMeta:
|
||
name: List fine-tunes
|
||
group: fine-tunes
|
||
path: list
|
||
beta: true
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/fine-tunes \
|
||
-H 'Authorization: Bearer YOUR_API_KEY'
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.FineTune.list()
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.listFineTunes();
|
||
response: |
|
||
{
|
||
"object": "list",
|
||
"data": [
|
||
{
|
||
"id": "ft-AF1WoRqd3aJAHsqc9NY7iL8F",
|
||
"object": "fine-tune",
|
||
"model": "curie",
|
||
"created_at": 1614807352,
|
||
"fine_tuned_model": null,
|
||
"hyperparams": { ... },
|
||
"organization_id": "org-...",
|
||
"result_files": [],
|
||
"status": "pending",
|
||
"validation_files": [],
|
||
"training_files": [ { ... } ],
|
||
"updated_at": 1614807352,
|
||
},
|
||
{ ... },
|
||
{ ... }
|
||
]
|
||
}
|
||
/fine-tunes/{fine_tune_id}:
|
||
get:
|
||
operationId: retrieveFineTune
|
||
tags:
|
||
- OpenAI
|
||
summary: |
|
||
Gets info about the fine-tune job.
|
||
[Learn more about Fine-tuning](/docs/guides/fine-tuning)
|
||
parameters:
|
||
- in: path
|
||
name: fine_tune_id
|
||
required: true
|
||
schema:
|
||
type: string
|
||
example:
|
||
ft-AF1WoRqd3aJAHsqc9NY7iL8F
|
||
description: |
|
||
The ID of the fine-tune job
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/FineTune'
|
||
x-oaiMeta:
|
||
name: Retrieve fine-tune
|
||
group: fine-tunes
|
||
path: retrieve
|
||
beta: true
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/fine-tunes/ft-AF1WoRqd3aJAHsqc9NY7iL8F \
|
||
-H "Authorization: Bearer YOUR_API_KEY"
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.FineTune.retrieve(id="ft-AF1WoRqd3aJAHsqc9NY7iL8F")
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.retrieveFineTune("ft-AF1WoRqd3aJAHsqc9NY7iL8F");
|
||
response: |
|
||
{
|
||
"id": "ft-AF1WoRqd3aJAHsqc9NY7iL8F",
|
||
"object": "fine-tune",
|
||
"model": "curie",
|
||
"created_at": 1614807352,
|
||
"events": [
|
||
{
|
||
"object": "fine-tune-event",
|
||
"created_at": 1614807352,
|
||
"level": "info",
|
||
"message": "Job enqueued. Waiting for jobs ahead to complete. Queue number: 0."
|
||
},
|
||
{
|
||
"object": "fine-tune-event",
|
||
"created_at": 1614807356,
|
||
"level": "info",
|
||
"message": "Job started."
|
||
},
|
||
{
|
||
"object": "fine-tune-event",
|
||
"created_at": 1614807861,
|
||
"level": "info",
|
||
"message": "Uploaded snapshot: curie:ft-acmeco-2021-03-03-21-44-20."
|
||
},
|
||
{
|
||
"object": "fine-tune-event",
|
||
"created_at": 1614807864,
|
||
"level": "info",
|
||
"message": "Uploaded result files: file-QQm6ZpqdNwAaVC3aSz5sWwLT."
|
||
},
|
||
{
|
||
"object": "fine-tune-event",
|
||
"created_at": 1614807864,
|
||
"level": "info",
|
||
"message": "Job succeeded."
|
||
}
|
||
],
|
||
"fine_tuned_model": "curie:ft-acmeco-2021-03-03-21-44-20",
|
||
"hyperparams": {
|
||
"batch_size": 4,
|
||
"learning_rate_multiplier": 0.1,
|
||
"n_epochs": 4,
|
||
"prompt_loss_weight": 0.1,
|
||
},
|
||
"organization_id": "org-...",
|
||
"result_files": [
|
||
{
|
||
"id": "file-QQm6ZpqdNwAaVC3aSz5sWwLT",
|
||
"object": "file",
|
||
"bytes": 81509,
|
||
"created_at": 1614807863,
|
||
"filename": "compiled_results.csv",
|
||
"purpose": "fine-tune-results"
|
||
}
|
||
],
|
||
"status": "succeeded",
|
||
"validation_files": [],
|
||
"training_files": [
|
||
{
|
||
"id": "file-XGinujblHPwGLSztz8cPS8XY",
|
||
"object": "file",
|
||
"bytes": 1547276,
|
||
"created_at": 1610062281,
|
||
"filename": "my-data-train.jsonl",
|
||
"purpose": "fine-tune-train"
|
||
}
|
||
],
|
||
"updated_at": 1614807865,
|
||
}
|
||
/fine-tunes/{fine_tune_id}/cancel:
|
||
post:
|
||
operationId: cancelFineTune
|
||
tags:
|
||
- OpenAI
|
||
summary: |
|
||
Immediately cancel a fine-tune job.
|
||
parameters:
|
||
- in: path
|
||
name: fine_tune_id
|
||
required: true
|
||
schema:
|
||
type: string
|
||
example:
|
||
ft-AF1WoRqd3aJAHsqc9NY7iL8F
|
||
description: |
|
||
The ID of the fine-tune job to cancel
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/FineTune'
|
||
x-oaiMeta:
|
||
name: Cancel fine-tune
|
||
group: fine-tunes
|
||
path: cancel
|
||
beta: true
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/fine-tunes/ft-AF1WoRqd3aJAHsqc9NY7iL8F/cancel \
|
||
-X POST \
|
||
-H "Authorization: Bearer YOUR_API_KEY"
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.FineTune.cancel(id="ft-AF1WoRqd3aJAHsqc9NY7iL8F")
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.cancelFineTune("ft-AF1WoRqd3aJAHsqc9NY7iL8F");
|
||
response: |
|
||
{
|
||
"id": "ft-xhrpBbvVUzYGo8oUO1FY4nI7",
|
||
"object": "fine-tune",
|
||
"model": "curie",
|
||
"created_at": 1614807770,
|
||
"events": [ { ... } ],
|
||
"fine_tuned_model": null,
|
||
"hyperparams": { ... },
|
||
"organization_id": "org-...",
|
||
"result_files": [],
|
||
"status": "cancelled",
|
||
"validation_files": [],
|
||
"training_files": [
|
||
{
|
||
"id": "file-XGinujblHPwGLSztz8cPS8XY",
|
||
"object": "file",
|
||
"bytes": 1547276,
|
||
"created_at": 1610062281,
|
||
"filename": "my-data-train.jsonl",
|
||
"purpose": "fine-tune-train"
|
||
}
|
||
],
|
||
"updated_at": 1614807789,
|
||
}
|
||
/fine-tunes/{fine_tune_id}/events:
|
||
get:
|
||
operationId: listFineTuneEvents
|
||
tags:
|
||
- OpenAI
|
||
summary: |
|
||
Get fine-grained status updates for a fine-tune job.
|
||
parameters:
|
||
- in: path
|
||
name: fine_tune_id
|
||
required: true
|
||
schema:
|
||
type: string
|
||
example:
|
||
ft-AF1WoRqd3aJAHsqc9NY7iL8F
|
||
description: |
|
||
The ID of the fine-tune job to get events for.
|
||
- in: query
|
||
name: stream
|
||
required: false
|
||
schema:
|
||
type: boolean
|
||
default: false
|
||
description: |
|
||
Whether to stream events for the fine-tune job. If set to true,
|
||
events will be sent as data-only
|
||
[server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format)
|
||
as they become available. The stream will terminate with a
|
||
`data: [DONE]` message when the job is finished (succeeded, cancelled,
|
||
or failed).
|
||
If set to false, only events generated so far will be returned.
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ListFineTuneEventsResponse'
|
||
x-oaiMeta:
|
||
name: List fine-tune events
|
||
group: fine-tunes
|
||
path: events
|
||
beta: true
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/fine-tunes/ft-AF1WoRqd3aJAHsqc9NY7iL8F/events \
|
||
-H "Authorization: Bearer YOUR_API_KEY"
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.FineTune.list_events(id="ft-AF1WoRqd3aJAHsqc9NY7iL8F")
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.listFineTuneEvents("ft-AF1WoRqd3aJAHsqc9NY7iL8F");
|
||
response: |
|
||
{
|
||
"object": "list",
|
||
"data": [
|
||
{
|
||
"object": "fine-tune-event",
|
||
"created_at": 1614807352,
|
||
"level": "info",
|
||
"message": "Job enqueued. Waiting for jobs ahead to complete. Queue number: 0."
|
||
},
|
||
{
|
||
"object": "fine-tune-event",
|
||
"created_at": 1614807356,
|
||
"level": "info",
|
||
"message": "Job started."
|
||
},
|
||
{
|
||
"object": "fine-tune-event",
|
||
"created_at": 1614807861,
|
||
"level": "info",
|
||
"message": "Uploaded snapshot: curie:ft-acmeco-2021-03-03-21-44-20."
|
||
},
|
||
{
|
||
"object": "fine-tune-event",
|
||
"created_at": 1614807864,
|
||
"level": "info",
|
||
"message": "Uploaded result files: file-QQm6ZpqdNwAaVC3aSz5sWwLT."
|
||
},
|
||
{
|
||
"object": "fine-tune-event",
|
||
"created_at": 1614807864,
|
||
"level": "info",
|
||
"message": "Job succeeded."
|
||
}
|
||
]
|
||
}
|
||
/models:
|
||
get:
|
||
operationId: listModels
|
||
tags:
|
||
- OpenAI
|
||
summary: Lists the currently available models, and provides basic information about each one such as the owner and availability.
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ListModelsResponse'
|
||
x-oaiMeta:
|
||
name: List models
|
||
group: models
|
||
path: list
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/models \
|
||
-H 'Authorization: Bearer YOUR_API_KEY'
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.Model.list()
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.listModels();
|
||
response: |
|
||
{
|
||
"data": [
|
||
{
|
||
"id": "model-id-0",
|
||
"object": "model",
|
||
"owned_by": "organization-owner",
|
||
"permission": [...]
|
||
},
|
||
{
|
||
"id": "model-id-1",
|
||
"object": "model",
|
||
"owned_by": "organization-owner",
|
||
"permission": [...]
|
||
},
|
||
{
|
||
"id": "model-id-2",
|
||
"object": "model",
|
||
"owned_by": "openai",
|
||
"permission": [...]
|
||
},
|
||
],
|
||
"object": "list"
|
||
}
|
||
/models/{model}:
|
||
get:
|
||
operationId: retrieveModel
|
||
tags:
|
||
- OpenAI
|
||
summary: Retrieves a model instance, providing basic information about the model such as the owner and permissioning.
|
||
parameters:
|
||
- in: path
|
||
name: model
|
||
required: true
|
||
schema:
|
||
type: string
|
||
# ideally this will be an actual ID, so this will always work from browser
|
||
example:
|
||
text-davinci-001
|
||
description:
|
||
The ID of the model to use for this request
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/Model'
|
||
x-oaiMeta:
|
||
name: Retrieve model
|
||
group: models
|
||
path: retrieve
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/models/VAR_model_id \
|
||
-H 'Authorization: Bearer YOUR_API_KEY'
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.Model.retrieve("VAR_model_id")
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.retrieveModel("VAR_model_id");
|
||
response: |
|
||
{
|
||
"id": "VAR_model_id",
|
||
"object": "model",
|
||
"owned_by": "openai",
|
||
"permission": [...]
|
||
}
|
||
delete:
|
||
operationId: deleteModel
|
||
tags:
|
||
- OpenAI
|
||
summary: Delete a fine-tuned model. You must have the Owner role in your organization.
|
||
parameters:
|
||
- in: path
|
||
name: model
|
||
required: true
|
||
schema:
|
||
type: string
|
||
example: curie:ft-acmeco-2021-03-03-21-44-20
|
||
description: The model to delete
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DeleteModelResponse'
|
||
x-oaiMeta:
|
||
name: Delete fine-tune model
|
||
group: fine-tunes
|
||
path: delete-model
|
||
beta: true
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/models/curie:ft-acmeco-2021-03-03-21-44-20 \
|
||
-X DELETE \
|
||
-H "Authorization: Bearer YOUR_API_KEY"
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.Model.delete("curie:ft-acmeco-2021-03-03-21-44-20")
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.deleteModel('curie:ft-acmeco-2021-03-03-21-44-20');
|
||
response: |
|
||
{
|
||
"id": "curie:ft-acmeco-2021-03-03-21-44-20",
|
||
"object": "model",
|
||
"deleted": true
|
||
}
|
||
/moderations:
|
||
post:
|
||
operationId: createModeration
|
||
tags:
|
||
- OpenAI
|
||
summary: Classifies if text violates OpenAI's Content Policy
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateModerationRequest'
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateModerationResponse'
|
||
x-oaiMeta:
|
||
name: Create moderation
|
||
group: moderations
|
||
path: create
|
||
examples:
|
||
curl: |
|
||
curl https://api.openai.com/v1/moderations \
|
||
-H 'Content-Type: application/json' \
|
||
-H 'Authorization: Bearer YOUR_API_KEY' \
|
||
-d '{
|
||
"input": "I want to kill them."
|
||
}'
|
||
python: |
|
||
import os
|
||
import openai
|
||
openai.api_key = os.getenv("OPENAI_API_KEY")
|
||
openai.Moderation.create(
|
||
input="I want to kill them.",
|
||
)
|
||
node.js: |
|
||
const { Configuration, OpenAIApi } = require("openai");
|
||
const configuration = new Configuration({
|
||
apiKey: process.env.OPENAI_API_KEY,
|
||
});
|
||
const openai = new OpenAIApi(configuration);
|
||
const response = await openai.createModeration({
|
||
input: "I want to kill them.",
|
||
});
|
||
parameters: |
|
||
{
|
||
"input": "I want to kill them."
|
||
}
|
||
response: |
|
||
{
|
||
"id": "modr-5MWoLO",
|
||
"model": "text-moderation-001",
|
||
"results": [
|
||
{
|
||
"categories": {
|
||
"hate": false,
|
||
"hate/threatening": true,
|
||
"self-harm": false,
|
||
"sexual": false,
|
||
"sexual/minors": false,
|
||
"violence": true,
|
||
"violence/graphic": false
|
||
},
|
||
"category_scores": {
|
||
"hate": 0.22714105248451233,
|
||
"hate/threatening": 0.4132447838783264,
|
||
"self-harm": 0.005232391878962517,
|
||
"sexual": 0.01407341007143259,
|
||
"sexual/minors": 0.0038522258400917053,
|
||
"violence": 0.9223177433013916,
|
||
"violence/graphic": 0.036865197122097015
|
||
},
|
||
"flagged": true
|
||
}
|
||
]
|
||
}
|
||
components:
|
||
schemas:
|
||
ListEnginesResponse:
|
||
type: object
|
||
properties:
|
||
object:
|
||
type: string
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/Engine'
|
||
required:
|
||
- object
|
||
- data
|
||
|
||
ListModelsResponse:
|
||
type: object
|
||
properties:
|
||
object:
|
||
type: string
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/Model'
|
||
required:
|
||
- object
|
||
- data
|
||
|
||
DeleteModelResponse:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
object:
|
||
type: string
|
||
deleted:
|
||
type: boolean
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
|
||
CreateCompletionRequest:
|
||
type: object
|
||
properties:
|
||
model: &model_configuration
|
||
description: ID of the model to use. You can use the [List models](/docs/api-reference/models/list) API to see all of your available models, or see our [Model overview](/docs/models/overview) for descriptions of them.
|
||
type: string
|
||
prompt:
|
||
description: &completions_prompt_description |
|
||
The prompt(s) to generate completions for, encoded as a string, array of strings, array of tokens, or array of token arrays.
|
||
|
||
Note that <|endoftext|> is the document separator that the model sees during training, so if a prompt is not specified the model will generate as if from the beginning of a new document.
|
||
default: '<|endoftext|>'
|
||
nullable: true
|
||
oneOf:
|
||
- type: string
|
||
default: ''
|
||
example: "This is a test."
|
||
- type: array
|
||
items:
|
||
type: string
|
||
default: ''
|
||
example: "This is a test."
|
||
- type: array
|
||
minItems: 1
|
||
items:
|
||
type: integer
|
||
example: "[1212, 318, 257, 1332, 13]"
|
||
- type: array
|
||
minItems: 1
|
||
items:
|
||
type: array
|
||
minItems: 1
|
||
items:
|
||
type: integer
|
||
example: "[[1212, 318, 257, 1332, 13]]"
|
||
suffix:
|
||
description:
|
||
The suffix that comes after a completion of inserted text.
|
||
default: null
|
||
nullable: true
|
||
type: string
|
||
example: "test."
|
||
max_tokens:
|
||
type: integer
|
||
minimum: 0
|
||
default: 16
|
||
example: 16
|
||
nullable: true
|
||
description: &completions_max_tokens_description |
|
||
The maximum number of [tokens](/tokenizer) to generate in the completion.
|
||
|
||
The token count of your prompt plus `max_tokens` cannot exceed the model's context length. Most models have a context length of 2048 tokens (except for the newest models, which support 4096).
|
||
temperature:
|
||
type: number
|
||
minimum: 0
|
||
maximum: 2
|
||
default: 1
|
||
example: 1
|
||
nullable: true
|
||
description: &completions_temperature_description |
|
||
What [sampling temperature](https://towardsdatascience.com/how-to-sample-from-language-models-682bceb97277) to use. Higher values means the model will take more risks. Try 0.9 for more creative applications, and 0 (argmax sampling) for ones with a well-defined answer.
|
||
|
||
We generally recommend altering this or `top_p` but not both.
|
||
top_p:
|
||
type: number
|
||
minimum: 0
|
||
maximum: 1
|
||
default: 1
|
||
example: 1
|
||
nullable: true
|
||
description: &completions_top_p_description |
|
||
An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.
|
||
|
||
We generally recommend altering this or `temperature` but not both.
|
||
n:
|
||
type: integer
|
||
minimum: 1
|
||
maximum: 128
|
||
default: 1
|
||
example: 1
|
||
nullable: true
|
||
description: &completions_completions_description |
|
||
How many completions to generate for each prompt.
|
||
|
||
**Note:** Because this parameter generates many completions, it can quickly consume your token quota. Use carefully and ensure that you have reasonable settings for `max_tokens` and `stop`.
|
||
stream:
|
||
description: >
|
||
Whether to stream back partial progress. If set, tokens will be sent as data-only [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format)
|
||
as they become available, with the stream terminated by a `data: [DONE]` message.
|
||
type: boolean
|
||
nullable: true
|
||
default: false
|
||
logprobs: &completions_logprobs_configuration
|
||
type: integer
|
||
minimum: 0
|
||
maximum: 5
|
||
default: null
|
||
nullable: true
|
||
description: &completions_logprobs_description |
|
||
Include the log probabilities on the `logprobs` most likely tokens, as well the chosen tokens. For example, if `logprobs` is 5, the API will return a list of the 5 most likely tokens. The API will always return the `logprob` of the sampled token, so there may be up to `logprobs+1` elements in the response.
|
||
|
||
The maximum value for `logprobs` is 5. If you need more than this, please contact us through our [Help center](https://help.openai.com) and describe your use case.
|
||
echo:
|
||
type: boolean
|
||
default: false
|
||
nullable: true
|
||
description: &completions_echo_description >
|
||
Echo back the prompt in addition to the completion
|
||
stop:
|
||
description: &completions_stop_description >
|
||
Up to 4 sequences where the API will stop generating further tokens. The returned text will not contain the stop sequence.
|
||
default: null
|
||
nullable: true
|
||
oneOf:
|
||
- type: string
|
||
default: <|endoftext|>
|
||
example: "\n"
|
||
nullable: true
|
||
- type: array
|
||
minItems: 1
|
||
maxItems: 4
|
||
items:
|
||
type: string
|
||
example: '["\n"]'
|
||
presence_penalty:
|
||
type: number
|
||
default: 0
|
||
minimum: -2
|
||
maximum: 2
|
||
nullable: true
|
||
description: &completions_presence_penalty_description |
|
||
Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.
|
||
|
||
[See more information about frequency and presence penalties.](/docs/api-reference/parameter-details)
|
||
frequency_penalty:
|
||
type: number
|
||
default: 0
|
||
minimum: -2
|
||
maximum: 2
|
||
nullable: true
|
||
description: &completions_frequency_penalty_description |
|
||
Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.
|
||
|
||
[See more information about frequency and presence penalties.](/docs/api-reference/parameter-details)
|
||
best_of:
|
||
type: integer
|
||
default: 1
|
||
minimum: 0
|
||
maximum: 20
|
||
nullable: true
|
||
description: &completions_best_of_description |
|
||
Generates `best_of` completions server-side and returns the "best" (the one with the highest log probability per token). Results cannot be streamed.
|
||
|
||
When used with `n`, `best_of` controls the number of candidate completions and `n` specifies how many to return – `best_of` must be greater than `n`.
|
||
|
||
**Note:** Because this parameter generates many completions, it can quickly consume your token quota. Use carefully and ensure that you have reasonable settings for `max_tokens` and `stop`.
|
||
logit_bias: &completions_logit_bias
|
||
type: object
|
||
x-oaiTypeLabel: map
|
||
default: null
|
||
nullable: true
|
||
description: &completions_logit_bias_description |
|
||
Modify the likelihood of specified tokens appearing in the completion.
|
||
|
||
Accepts a json object that maps tokens (specified by their token ID in the GPT tokenizer) to an associated bias value from -100 to 100. You can use this [tokenizer tool](/tokenizer?view=bpe) (which works for both GPT-2 and GPT-3) to convert text to token IDs. Mathematically, the bias is added to the logits generated by the model prior to sampling. The exact effect will vary per model, but values between -1 and 1 should decrease or increase likelihood of selection; values like -100 or 100 should result in a ban or exclusive selection of the relevant token.
|
||
|
||
As an example, you can pass `{"50256": -100}` to prevent the <|endoftext|> token from being generated.
|
||
user: &end_user_param_configuration
|
||
type: string
|
||
example: user-1234
|
||
description: |
|
||
A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. [Learn more](/docs/guides/safety-best-practices/end-user-ids).
|
||
required:
|
||
- model
|
||
|
||
CreateCompletionResponse:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
object:
|
||
type: string
|
||
created:
|
||
type: integer
|
||
model:
|
||
type: string
|
||
choices:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
text:
|
||
type: string
|
||
index:
|
||
type: integer
|
||
logprobs:
|
||
type: object
|
||
nullable: true
|
||
properties:
|
||
tokens:
|
||
type: array
|
||
items:
|
||
type: string
|
||
token_logprobs:
|
||
type: array
|
||
items:
|
||
type: number
|
||
top_logprobs:
|
||
type: array
|
||
items:
|
||
type: object
|
||
text_offset:
|
||
type: array
|
||
items:
|
||
type: integer
|
||
finish_reason:
|
||
type: string
|
||
usage:
|
||
type: object
|
||
properties:
|
||
prompt_tokens:
|
||
type: integer
|
||
completion_tokens:
|
||
type: integer
|
||
total_tokens:
|
||
type: integer
|
||
required:
|
||
- prompt_tokens
|
||
- completion_tokens
|
||
- total_tokens
|
||
required:
|
||
- id
|
||
- object
|
||
- created
|
||
- model
|
||
- choices
|
||
|
||
CreateEditRequest:
|
||
type: object
|
||
properties:
|
||
model: *model_configuration
|
||
input:
|
||
description:
|
||
The input text to use as a starting point for the edit.
|
||
type: string
|
||
default: ''
|
||
nullable: true
|
||
example: "What day of the wek is it?"
|
||
instruction:
|
||
description:
|
||
The instruction that tells the model how to edit the prompt.
|
||
type: string
|
||
example: "Fix the spelling mistakes."
|
||
n:
|
||
type: integer
|
||
minimum: 1
|
||
maximum: 20
|
||
default: 1
|
||
example: 1
|
||
nullable: true
|
||
description:
|
||
How many edits to generate for the input and instruction.
|
||
temperature:
|
||
type: number
|
||
minimum: 0
|
||
maximum: 2
|
||
default: 1
|
||
example: 1
|
||
nullable: true
|
||
description: *completions_temperature_description
|
||
top_p:
|
||
type: number
|
||
minimum: 0
|
||
maximum: 1
|
||
default: 1
|
||
example: 1
|
||
nullable: true
|
||
description: *completions_top_p_description
|
||
required:
|
||
- model
|
||
- instruction
|
||
|
||
CreateEditResponse:
|
||
type: object
|
||
properties:
|
||
object:
|
||
type: string
|
||
created:
|
||
type: integer
|
||
choices:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
text:
|
||
type: string
|
||
index:
|
||
type: integer
|
||
logprobs:
|
||
type: object
|
||
nullable: true
|
||
properties:
|
||
tokens:
|
||
type: array
|
||
items:
|
||
type: string
|
||
token_logprobs:
|
||
type: array
|
||
items:
|
||
type: number
|
||
top_logprobs:
|
||
type: array
|
||
items:
|
||
type: object
|
||
text_offset:
|
||
type: array
|
||
items:
|
||
type: integer
|
||
finish_reason:
|
||
type: string
|
||
usage:
|
||
type: object
|
||
properties:
|
||
prompt_tokens:
|
||
type: integer
|
||
completion_tokens:
|
||
type: integer
|
||
total_tokens:
|
||
type: integer
|
||
required:
|
||
- prompt_tokens
|
||
- completion_tokens
|
||
- total_tokens
|
||
required:
|
||
- object
|
||
- created
|
||
- choices
|
||
- usage
|
||
|
||
CreateImageRequest:
|
||
type: object
|
||
properties:
|
||
prompt:
|
||
description: A text description of the desired image(s). The maximum length is 1000 characters.
|
||
type: string
|
||
example: "A cute baby sea otter"
|
||
n: &images_n
|
||
type: integer
|
||
minimum: 1
|
||
maximum: 10
|
||
default: 1
|
||
example: 1
|
||
nullable: true
|
||
description: The number of images to generate. Must be between 1 and 10.
|
||
size: &images_size
|
||
type: string
|
||
enum: ["256x256", "512x512", "1024x1024"]
|
||
default: "1024x1024"
|
||
example: "1024x1024"
|
||
nullable: true
|
||
description: The size of the generated images. Must be one of `256x256`, `512x512`, or `1024x1024`.
|
||
response_format: &images_response_format
|
||
type: string
|
||
enum: ["url", "b64_json"]
|
||
default: "url"
|
||
example: "url"
|
||
nullable: true
|
||
description: The format in which the generated images are returned. Must be one of `url` or `b64_json`.
|
||
user: *end_user_param_configuration
|
||
required:
|
||
- prompt
|
||
|
||
ImagesResponse:
|
||
properties:
|
||
created:
|
||
type: integer
|
||
data:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
url:
|
||
type: string
|
||
b64_json:
|
||
type: string
|
||
required:
|
||
- created
|
||
- data
|
||
|
||
CreateImageEditRequest:
|
||
type: object
|
||
properties:
|
||
image:
|
||
description: The image to edit. Must be a valid PNG file, less than 4MB, and square. If mask is not provided, image must have transparency, which will be used as the mask.
|
||
type: string
|
||
format: binary
|
||
mask:
|
||
description: An additional image whose fully transparent areas (e.g. where alpha is zero) indicate where `image` should be edited. Must be a valid PNG file, less than 4MB, and have the same dimensions as `image`.
|
||
type: string
|
||
format: binary
|
||
prompt:
|
||
description: A text description of the desired image(s). The maximum length is 1000 characters.
|
||
type: string
|
||
example: "A cute baby sea otter wearing a beret"
|
||
n: *images_n
|
||
size: *images_size
|
||
response_format: *images_response_format
|
||
user: *end_user_param_configuration
|
||
required:
|
||
- prompt
|
||
- image
|
||
|
||
CreateImageVariationRequest:
|
||
type: object
|
||
properties:
|
||
image:
|
||
description: The image to use as the basis for the variation(s). Must be a valid PNG file, less than 4MB, and square.
|
||
type: string
|
||
format: binary
|
||
n: *images_n
|
||
size: *images_size
|
||
response_format: *images_response_format
|
||
user: *end_user_param_configuration
|
||
required:
|
||
- image
|
||
|
||
CreateModerationRequest:
|
||
type: object
|
||
properties:
|
||
input:
|
||
description: The input text to classify
|
||
oneOf:
|
||
- type: string
|
||
default: ''
|
||
example: "I want to kill them."
|
||
- type: array
|
||
items:
|
||
type: string
|
||
default: ''
|
||
example: "I want to kill them."
|
||
model:
|
||
description: |
|
||
Two content moderations models are available: `text-moderation-stable` and `text-moderation-latest`.
|
||
The default is `text-moderation-latest` which will be automatically upgraded over time. This ensures you are always using our most accurate model. If you use `text-moderation-stable`, we will provide advanced notice before updating the model. Accuracy of `text-moderation-stable` may be slightly lower than for `text-moderation-latest`.
|
||
type: string
|
||
nullable: false
|
||
default: "text-moderation-latest"
|
||
example: "text-moderation-stable"
|
||
required:
|
||
- input
|
||
|
||
CreateModerationResponse:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
model:
|
||
type: string
|
||
results:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
flagged:
|
||
type: boolean
|
||
categories:
|
||
type: object
|
||
properties:
|
||
hate:
|
||
type: boolean
|
||
hate/threatening:
|
||
type: boolean
|
||
self-harm:
|
||
type: boolean
|
||
sexual:
|
||
type: boolean
|
||
sexual/minors:
|
||
type: boolean
|
||
violence:
|
||
type: boolean
|
||
violence/graphic:
|
||
type: boolean
|
||
required:
|
||
- hate
|
||
- hate/threatening
|
||
- self-harm
|
||
- sexual
|
||
- sexual/minors
|
||
- violence
|
||
- violence/graphic
|
||
category_scores:
|
||
type: object
|
||
properties:
|
||
hate:
|
||
type: number
|
||
hate/threatening:
|
||
type: number
|
||
self-harm:
|
||
type: number
|
||
sexual:
|
||
type: number
|
||
sexual/minors:
|
||
type: number
|
||
violence:
|
||
type: number
|
||
violence/graphic:
|
||
type: number
|
||
required:
|
||
- hate
|
||
- hate/threatening
|
||
- self-harm
|
||
- sexual
|
||
- sexual/minors
|
||
- violence
|
||
- violence/graphic
|
||
required:
|
||
- flagged
|
||
- categories
|
||
- category_scores
|
||
required:
|
||
- id
|
||
- model
|
||
- results
|
||
|
||
CreateSearchRequest:
|
||
type: object
|
||
properties:
|
||
query:
|
||
description: Query to search against the documents.
|
||
type: string
|
||
example: "the president"
|
||
minLength: 1
|
||
documents:
|
||
description: |
|
||
Up to 200 documents to search over, provided as a list of strings.
|
||
The maximum document length (in tokens) is 2034 minus the number of tokens in the query.
|
||
You should specify either `documents` or a `file`, but not both.
|
||
type: array
|
||
minItems: 1
|
||
maxItems: 200
|
||
items:
|
||
type: string
|
||
nullable: true
|
||
example: "['White House', 'hospital', 'school']"
|
||
file:
|
||
description: |
|
||
The ID of an uploaded file that contains documents to search over.
|
||
You should specify either `documents` or a `file`, but not both.
|
||
type: string
|
||
nullable: true
|
||
max_rerank:
|
||
description: |
|
||
The maximum number of documents to be re-ranked and returned by search.
|
||
This flag only takes effect when `file` is set.
|
||
type: integer
|
||
minimum: 1
|
||
default: 200
|
||
nullable: true
|
||
return_metadata: &return_metadata_configuration
|
||
description: |
|
||
A special boolean flag for showing metadata. If set to `true`, each document entry in the returned JSON will contain a "metadata" field.
|
||
This flag only takes effect when `file` is set.
|
||
type: boolean
|
||
default: false
|
||
nullable: true
|
||
user: *end_user_param_configuration
|
||
required:
|
||
- query
|
||
|
||
CreateSearchResponse:
|
||
type: object
|
||
properties:
|
||
object:
|
||
type: string
|
||
model:
|
||
type: string
|
||
data:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
object:
|
||
type: string
|
||
document:
|
||
type: integer
|
||
score:
|
||
type: number
|
||
|
||
ListFilesResponse:
|
||
type: object
|
||
properties:
|
||
object:
|
||
type: string
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/OpenAIFile'
|
||
required:
|
||
- object
|
||
- data
|
||
|
||
CreateFileRequest:
|
||
type: object
|
||
additionalProperties: false
|
||
properties:
|
||
file:
|
||
description: |
|
||
Name of the [JSON Lines](https://jsonlines.readthedocs.io/en/latest/) file to be uploaded.
|
||
If the `purpose` is set to "fine-tune", each line is a JSON record with "prompt" and "completion" fields representing your [training examples](/docs/guides/fine-tuning/prepare-training-data).
|
||
type: string
|
||
format: binary
|
||
purpose:
|
||
description: |
|
||
The intended purpose of the uploaded documents.
|
||
Use "fine-tune" for [Fine-tuning](/docs/api-reference/fine-tunes). This allows us to validate the format of the uploaded file.
|
||
type: string
|
||
required:
|
||
- file
|
||
- purpose
|
||
|
||
DeleteFileResponse:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
object:
|
||
type: string
|
||
deleted:
|
||
type: boolean
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
|
||
CreateAnswerRequest:
|
||
type: object
|
||
additionalProperties: false
|
||
properties:
|
||
model:
|
||
description: ID of the model to use for completion. You can select one of `ada`, `babbage`, `curie`, or `davinci`.
|
||
type: string
|
||
question:
|
||
description: Question to get answered.
|
||
type: string
|
||
minLength: 1
|
||
example: "What is the capital of Japan?"
|
||
examples:
|
||
description: List of (question, answer) pairs that will help steer the model towards the tone and answer format you'd like. We recommend adding 2 to 3 examples.
|
||
type: array
|
||
minItems: 1
|
||
maxItems: 200
|
||
items:
|
||
type: array
|
||
minItems: 2
|
||
maxItems: 2
|
||
items:
|
||
type: string
|
||
minLength: 1
|
||
example: "[['What is the capital of Canada?', 'Ottawa'], ['Which province is Ottawa in?', 'Ontario']]"
|
||
examples_context:
|
||
description: A text snippet containing the contextual information used to generate the answers for the `examples` you provide.
|
||
type: string
|
||
example: "Ottawa, Canada's capital, is located in the east of southern Ontario, near the city of Montréal and the U.S. border."
|
||
documents:
|
||
description: |
|
||
List of documents from which the answer for the input `question` should be derived. If this is an empty list, the question will be answered based on the question-answer examples.
|
||
You should specify either `documents` or a `file`, but not both.
|
||
type: array
|
||
maxItems: 200
|
||
items:
|
||
type: string
|
||
example: "['Japan is an island country in East Asia, located in the northwest Pacific Ocean.', 'Tokyo is the capital and most populous prefecture of Japan.']"
|
||
nullable: true
|
||
file:
|
||
description: |
|
||
The ID of an uploaded file that contains documents to search over. See [upload file](/docs/api-reference/files/upload) for how to upload a file of the desired format and purpose.
|
||
You should specify either `documents` or a `file`, but not both.
|
||
type: string
|
||
nullable: true
|
||
search_model: &search_model_configuration
|
||
description: ID of the model to use for [Search](/docs/api-reference/searches/create). You can select one of `ada`, `babbage`, `curie`, or `davinci`.
|
||
type: string
|
||
default: ada
|
||
nullable: true
|
||
max_rerank:
|
||
description: The maximum number of documents to be ranked by [Search](/docs/api-reference/searches/create) when using `file`. Setting it to a higher value leads to improved accuracy but with increased latency and cost.
|
||
type: integer
|
||
default: 200
|
||
nullable: true
|
||
temperature:
|
||
description: What [sampling temperature](https://towardsdatascience.com/how-to-sample-from-language-models-682bceb97277) to use. Higher values mean the model will take more risks and value 0 (argmax sampling) works better for scenarios with a well-defined answer.
|
||
type: number
|
||
default: 0
|
||
nullable: true
|
||
logprobs: &context_completions_logprobs_configuration
|
||
type: integer
|
||
minimum: 0
|
||
maximum: 5
|
||
default: null
|
||
nullable: true
|
||
description: |
|
||
Include the log probabilities on the `logprobs` most likely tokens, as well the chosen tokens. For example, if `logprobs` is 5, the API will return a list of the 5 most likely tokens. The API will always return the `logprob` of the sampled token, so there may be up to `logprobs+1` elements in the response.
|
||
The maximum value for `logprobs` is 5. If you need more than this, please contact us through our [Help center](https://help.openai.com) and describe your use case.
|
||
When `logprobs` is set, `completion` will be automatically added into `expand` to get the logprobs.
|
||
max_tokens:
|
||
description: The maximum number of tokens allowed for the generated answer
|
||
type: integer
|
||
default: 16
|
||
nullable: true
|
||
stop:
|
||
description: *completions_stop_description
|
||
default: null
|
||
oneOf:
|
||
- type: string
|
||
default: <|endoftext|>
|
||
example: "\n"
|
||
- type: array
|
||
minItems: 1
|
||
maxItems: 4
|
||
items:
|
||
type: string
|
||
example: '["\n"]'
|
||
nullable: true
|
||
n:
|
||
description: How many answers to generate for each question.
|
||
type: integer
|
||
minimum: 1
|
||
maximum: 10
|
||
default: 1
|
||
nullable: true
|
||
logit_bias: *completions_logit_bias
|
||
return_metadata: *return_metadata_configuration
|
||
return_prompt: &return_prompt_configuration
|
||
description: If set to `true`, the returned JSON will include a "prompt" field containing the final prompt that was used to request a completion. This is mainly useful for debugging purposes.
|
||
type: boolean
|
||
default: false
|
||
nullable: true
|
||
expand: &expand_configuration
|
||
description: If an object name is in the list, we provide the full information of the object; otherwise, we only provide the object ID. Currently we support `completion` and `file` objects for expansion.
|
||
type: array
|
||
items: {}
|
||
nullable: true
|
||
default: []
|
||
user: *end_user_param_configuration
|
||
required:
|
||
- model
|
||
- question
|
||
- examples
|
||
- examples_context
|
||
|
||
CreateAnswerResponse:
|
||
type: object
|
||
properties:
|
||
object:
|
||
type: string
|
||
model:
|
||
type: string
|
||
search_model:
|
||
type: string
|
||
completion:
|
||
type: string
|
||
answers:
|
||
type: array
|
||
items:
|
||
type: string
|
||
selected_documents:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
document:
|
||
type: integer
|
||
text:
|
||
type: string
|
||
|
||
CreateClassificationRequest:
|
||
type: object
|
||
additionalProperties: false
|
||
properties:
|
||
model: *model_configuration
|
||
query:
|
||
description: Query to be classified.
|
||
type: string
|
||
minLength: 1
|
||
example: "The plot is not very attractive."
|
||
examples:
|
||
description: |
|
||
A list of examples with labels, in the following format:
|
||
`[["The movie is so interesting.", "Positive"], ["It is quite boring.", "Negative"], ...]`
|
||
All the label strings will be normalized to be capitalized.
|
||
You should specify either `examples` or `file`, but not both.
|
||
type: array
|
||
minItems: 2
|
||
maxItems: 200
|
||
items:
|
||
type: array
|
||
minItems: 2
|
||
maxItems: 2
|
||
items:
|
||
type: string
|
||
minLength: 1
|
||
example: "[['Do not see this film.', 'Negative'], ['Smart, provocative and blisteringly funny.', 'Positive']]"
|
||
nullable: true
|
||
file:
|
||
description: |
|
||
The ID of the uploaded file that contains training examples. See [upload file](/docs/api-reference/files/upload) for how to upload a file of the desired format and purpose.
|
||
You should specify either `examples` or `file`, but not both.
|
||
type: string
|
||
nullable: true
|
||
labels:
|
||
description: The set of categories being classified. If not specified, candidate labels will be automatically collected from the examples you provide. All the label strings will be normalized to be capitalized.
|
||
type: array
|
||
minItems: 2
|
||
maxItems: 200
|
||
default: null
|
||
items:
|
||
type: string
|
||
example: ["Positive", "Negative"]
|
||
nullable: true
|
||
search_model: *search_model_configuration
|
||
temperature:
|
||
description:
|
||
What sampling `temperature` to use. Higher values mean the model will take more risks. Try 0.9 for more creative applications, and 0 (argmax sampling) for ones with a well-defined answer.
|
||
type: number
|
||
minimum: 0
|
||
maximum: 2
|
||
default: 0
|
||
nullable: true
|
||
example: 0
|
||
logprobs: *context_completions_logprobs_configuration
|
||
max_examples:
|
||
description: The maximum number of examples to be ranked by [Search](/docs/api-reference/searches/create) when using `file`. Setting it to a higher value leads to improved accuracy but with increased latency and cost.
|
||
type: integer
|
||
default: 200
|
||
nullable: true
|
||
logit_bias: *completions_logit_bias
|
||
return_prompt: *return_prompt_configuration
|
||
return_metadata: *return_metadata_configuration
|
||
expand: *expand_configuration
|
||
user: *end_user_param_configuration
|
||
required:
|
||
- model
|
||
- query
|
||
|
||
CreateClassificationResponse:
|
||
type: object
|
||
properties:
|
||
object:
|
||
type: string
|
||
model:
|
||
type: string
|
||
search_model:
|
||
type: string
|
||
completion:
|
||
type: string
|
||
label:
|
||
type: string
|
||
selected_examples:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
document:
|
||
type: integer
|
||
text:
|
||
type: string
|
||
label:
|
||
type: string
|
||
|
||
CreateFineTuneRequest:
|
||
type: object
|
||
properties:
|
||
training_file:
|
||
description: |
|
||
The ID of an uploaded file that contains training data.
|
||
See [upload file](/docs/api-reference/files/upload) for how to upload a file.
|
||
Your dataset must be formatted as a JSONL file, where each training
|
||
example is a JSON object with the keys "prompt" and "completion".
|
||
Additionally, you must upload your file with the purpose `fine-tune`.
|
||
See the [fine-tuning guide](/docs/guides/fine-tuning/creating-training-data) for more details.
|
||
type: string
|
||
example: "file-ajSREls59WBbvgSzJSVWxMCB"
|
||
validation_file:
|
||
description: |
|
||
The ID of an uploaded file that contains validation data.
|
||
If you provide this file, the data is used to generate validation
|
||
metrics periodically during fine-tuning. These metrics can be viewed in
|
||
the [fine-tuning results file](/docs/guides/fine-tuning/analyzing-your-fine-tuned-model).
|
||
Your train and validation data should be mutually exclusive.
|
||
Your dataset must be formatted as a JSONL file, where each validation
|
||
example is a JSON object with the keys "prompt" and "completion".
|
||
Additionally, you must upload your file with the purpose `fine-tune`.
|
||
See the [fine-tuning guide](/docs/guides/fine-tuning/creating-training-data) for more details.
|
||
type: string
|
||
nullable: true
|
||
example: "file-XjSREls59WBbvgSzJSVWxMCa"
|
||
model:
|
||
description: |
|
||
The name of the base model to fine-tune. You can select one of "ada",
|
||
"babbage", "curie", "davinci", or a fine-tuned model created after 2022-04-21.
|
||
To learn more about these models, see the
|
||
[Models](https://beta.openai.com/docs/models) documentation.
|
||
default: "curie"
|
||
type: string
|
||
nullable: true
|
||
n_epochs:
|
||
description: |
|
||
The number of epochs to train the model for. An epoch refers to one
|
||
full cycle through the training dataset.
|
||
default: 4
|
||
type: integer
|
||
nullable: true
|
||
batch_size:
|
||
description: |
|
||
The batch size to use for training. The batch size is the number of
|
||
training examples used to train a single forward and backward pass.
|
||
By default, the batch size will be dynamically configured to be
|
||
~0.2% of the number of examples in the training set, capped at 256 -
|
||
in general, we've found that larger batch sizes tend to work better
|
||
for larger datasets.
|
||
default: null
|
||
type: integer
|
||
nullable: true
|
||
learning_rate_multiplier:
|
||
description: |
|
||
The learning rate multiplier to use for training.
|
||
The fine-tuning learning rate is the original learning rate used for
|
||
pretraining multiplied by this value.
|
||
By default, the learning rate multiplier is the 0.05, 0.1, or 0.2
|
||
depending on final `batch_size` (larger learning rates tend to
|
||
perform better with larger batch sizes). We recommend experimenting
|
||
with values in the range 0.02 to 0.2 to see what produces the best
|
||
results.
|
||
default: null
|
||
type: number
|
||
nullable: true
|
||
prompt_loss_weight:
|
||
description: |
|
||
The weight to use for loss on the prompt tokens. This controls how
|
||
much the model tries to learn to generate the prompt (as compared
|
||
to the completion which always has a weight of 1.0), and can add
|
||
a stabilizing effect to training when completions are short.
|
||
If prompts are extremely long (relative to completions), it may make
|
||
sense to reduce this weight so as to avoid over-prioritizing
|
||
learning the prompt.
|
||
default: 0.01
|
||
type: number
|
||
nullable: true
|
||
compute_classification_metrics:
|
||
description: |
|
||
If set, we calculate classification-specific metrics such as accuracy
|
||
and F-1 score using the validation set at the end of every epoch.
|
||
These metrics can be viewed in the [results file](/docs/guides/fine-tuning/analyzing-your-fine-tuned-model).
|
||
In order to compute classification metrics, you must provide a
|
||
`validation_file`. Additionally, you must
|
||
specify `classification_n_classes` for multiclass classification or
|
||
`classification_positive_class` for binary classification.
|
||
type: boolean
|
||
default: false
|
||
nullable: true
|
||
classification_n_classes:
|
||
description: |
|
||
The number of classes in a classification task.
|
||
This parameter is required for multiclass classification.
|
||
type: integer
|
||
default: null
|
||
nullable: true
|
||
classification_positive_class:
|
||
description: |
|
||
The positive class in binary classification.
|
||
This parameter is needed to generate precision, recall, and F1
|
||
metrics when doing binary classification.
|
||
type: string
|
||
default: null
|
||
nullable: true
|
||
classification_betas:
|
||
description: |
|
||
If this is provided, we calculate F-beta scores at the specified
|
||
beta values. The F-beta score is a generalization of F-1 score.
|
||
This is only used for binary classification.
|
||
With a beta of 1 (i.e. the F-1 score), precision and recall are
|
||
given the same weight. A larger beta score puts more weight on
|
||
recall and less on precision. A smaller beta score puts more weight
|
||
on precision and less on recall.
|
||
type: array
|
||
items:
|
||
type: number
|
||
example: [0.6, 1, 1.5, 2]
|
||
default: null
|
||
nullable: true
|
||
suffix:
|
||
description: |
|
||
A string of up to 40 characters that will be added to your fine-tuned model name.
|
||
For example, a `suffix` of "custom-model-name" would produce a model name like `ada:ft-your-org:custom-model-name-2022-02-15-04-21-04`.
|
||
type: string
|
||
minLength: 1
|
||
maxLength: 40
|
||
default: null
|
||
nullable: true
|
||
required:
|
||
- training_file
|
||
|
||
ListFineTunesResponse:
|
||
type: object
|
||
properties:
|
||
object:
|
||
type: string
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/FineTune'
|
||
required:
|
||
- object
|
||
- data
|
||
|
||
ListFineTuneEventsResponse:
|
||
type: object
|
||
properties:
|
||
object:
|
||
type: string
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/FineTuneEvent'
|
||
required:
|
||
- object
|
||
- data
|
||
|
||
CreateEmbeddingRequest:
|
||
type: object
|
||
additionalProperties: false
|
||
properties:
|
||
model: *model_configuration
|
||
input:
|
||
description: |
|
||
Input text to get embeddings for, encoded as a string or array of tokens. To get embeddings for multiple inputs in a single request, pass an array of strings or array of token arrays. Each input must not exceed 8192 tokens in length.
|
||
example: "The quick brown fox jumped over the lazy dog"
|
||
oneOf:
|
||
- type: string
|
||
default: ''
|
||
example: "This is a test."
|
||
- type: array
|
||
items:
|
||
type: string
|
||
default: ''
|
||
example: "This is a test."
|
||
- type: array
|
||
minItems: 1
|
||
items:
|
||
type: integer
|
||
example: "[1212, 318, 257, 1332, 13]"
|
||
- type: array
|
||
minItems: 1
|
||
items:
|
||
type: array
|
||
minItems: 1
|
||
items:
|
||
type: integer
|
||
example: "[[1212, 318, 257, 1332, 13]]"
|
||
user: *end_user_param_configuration
|
||
required:
|
||
- model
|
||
- input
|
||
|
||
CreateEmbeddingResponse:
|
||
type: object
|
||
properties:
|
||
object:
|
||
type: string
|
||
model:
|
||
type: string
|
||
data:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
index:
|
||
type: integer
|
||
object:
|
||
type: string
|
||
embedding:
|
||
type: array
|
||
items:
|
||
type: number
|
||
required:
|
||
- index
|
||
- object
|
||
- embedding
|
||
usage:
|
||
type: object
|
||
properties:
|
||
prompt_tokens:
|
||
type: integer
|
||
total_tokens:
|
||
type: integer
|
||
required:
|
||
- prompt_tokens
|
||
- total_tokens
|
||
required:
|
||
- object
|
||
- model
|
||
- data
|
||
- usage
|
||
|
||
Engine:
|
||
title: Engine
|
||
properties:
|
||
id:
|
||
type: string
|
||
object:
|
||
type: string
|
||
created:
|
||
type: integer
|
||
nullable: true
|
||
ready:
|
||
type: boolean
|
||
required:
|
||
- id
|
||
- object
|
||
- created
|
||
- ready
|
||
|
||
Model:
|
||
title: Model
|
||
properties:
|
||
id:
|
||
type: string
|
||
object:
|
||
type: string
|
||
created:
|
||
type: integer
|
||
owned_by:
|
||
type: string
|
||
required:
|
||
- id
|
||
- object
|
||
- created
|
||
- owned_by
|
||
|
||
OpenAIFile:
|
||
title: OpenAIFile
|
||
properties:
|
||
id:
|
||
type: string
|
||
object:
|
||
type: string
|
||
bytes:
|
||
type: integer
|
||
created_at:
|
||
type: integer
|
||
filename:
|
||
type: string
|
||
purpose:
|
||
type: string
|
||
status:
|
||
type: string
|
||
status_details:
|
||
type: object
|
||
nullable: true
|
||
required:
|
||
- id
|
||
- object
|
||
- bytes
|
||
- created_at
|
||
- filename
|
||
- purpose
|
||
|
||
FineTune:
|
||
title: FineTune
|
||
properties:
|
||
id:
|
||
type: string
|
||
object:
|
||
type: string
|
||
created_at:
|
||
type: integer
|
||
updated_at:
|
||
type: integer
|
||
model:
|
||
type: string
|
||
fine_tuned_model:
|
||
type: string
|
||
nullable: true
|
||
organization_id:
|
||
type: string
|
||
status:
|
||
type: string
|
||
hyperparams:
|
||
type: object
|
||
training_files:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/OpenAIFile'
|
||
validation_files:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/OpenAIFile'
|
||
result_files:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/OpenAIFile'
|
||
events:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/FineTuneEvent'
|
||
required:
|
||
- id
|
||
- object
|
||
- created_at
|
||
- updated_at
|
||
- model
|
||
- fine_tuned_model
|
||
- organization_id
|
||
- status
|
||
- hyperparams
|
||
- training_files
|
||
- validation_files
|
||
- result_files
|
||
|
||
FineTuneEvent:
|
||
title: FineTuneEvent
|
||
properties:
|
||
object:
|
||
type: string
|
||
created_at:
|
||
type: integer
|
||
level:
|
||
type: string
|
||
message:
|
||
type: string
|
||
required:
|
||
- object
|
||
- created_at
|
||
- level
|
||
- message
|
||
|
||
x-oaiMeta:
|
||
groups:
|
||
- id: models
|
||
title: Models
|
||
description: |
|
||
List and describe the various models available in the API. You can refer to the [Models](/docs/models) documentation to understand what models are available and the differences between them.
|
||
- id: completions
|
||
title: Completions
|
||
description: |
|
||
Given a prompt, the model will return one or more predicted completions, and can also return the probabilities of alternative tokens at each position.
|
||
- id: edits
|
||
title: Edits
|
||
description: |
|
||
Given a prompt and an instruction, the model will return an edited version of the prompt.
|
||
- id: images
|
||
title: Images
|
||
description: |
|
||
Given a prompt and/or an input image, the model will generate a new image.
|
||
Related guide: [Image generation](/docs/guides/images)
|
||
- id: embeddings
|
||
title: Embeddings
|
||
description: |
|
||
Get a vector representation of a given input that can be easily consumed by machine learning models and algorithms.
|
||
Related guide: [Embeddings](/docs/guides/embeddings)
|
||
- id: files
|
||
title: Files
|
||
description: |
|
||
Files are used to upload documents that can be used with features like [Fine-tuning](/docs/api-reference/fine-tunes).
|
||
- id: fine-tunes
|
||
title: Fine-tunes
|
||
description: |
|
||
Manage fine-tuning jobs to tailor a model to your specific training data.
|
||
Related guide: [Fine-tune models](/docs/guides/fine-tuning)
|
||
- id: moderations
|
||
title: Moderations
|
||
description: |
|
||
Given a input text, outputs if the model classifies it as violating OpenAI's content policy.
|
||
Related guide: [Moderations](/docs/guides/moderation)
|
||
- id: searches
|
||
title: Searches
|
||
warning:
|
||
title: This endpoint is deprecated and will be removed on December 3rd, 2022
|
||
message: We’ve developed new methods with better performance. [Learn more](https://help.openai.com/en/articles/6272952-search-transition-guide).
|
||
description: |
|
||
Given a query and a set of documents or labels, the model ranks each document based on its semantic similarity to the provided query.
|
||
Related guide: [Search](/docs/guides/search)
|
||
- id: classifications
|
||
title: Classifications
|
||
warning:
|
||
title: This endpoint is deprecated and will be removed on December 3rd, 2022
|
||
message: We’ve developed new methods with better performance. [Learn more](https://help.openai.com/en/articles/6272941-classifications-transition-guide).
|
||
description: |
|
||
Given a query and a set of labeled examples, the model will predict the most likely label for the query. Useful as a drop-in replacement for any ML classification or text-to-label task.
|
||
Related guide: [Classification](/docs/guides/classifications)
|
||
- id: answers
|
||
title: Answers
|
||
warning:
|
||
title: This endpoint is deprecated and will be removed on December 3rd, 2022
|
||
message: We’ve developed new methods with better performance. [Learn more](https://help.openai.com/en/articles/6233728-answers-transition-guide).
|
||
description: |
|
||
Given a question, a set of documents, and some examples, the API generates an answer to the question based on the information in the set of documents. This is useful for question-answering applications on sources of truth, like company documentation or a knowledge base.
|
||
Related guide: [Question answering](/docs/guides/answers)
|
||
- id: engines
|
||
title: Engines
|
||
description: These endpoints describe and provide access to the various engines available in the API.
|
||
warning:
|
||
title: The Engines endpoints are deprecated.
|
||
message: Please use their replacement, [Models](/docs/api-reference/models), instead. [Learn more](https://help.openai.com/TODO). |