mirror of
https://github.com/mudler/LocalAI.git
synced 2024-06-07 19:40:48 +00:00
4ae4e44506
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
775 lines
24 KiB
JSON
775 lines
24 KiB
JSON
{
|
|
"swagger": "2.0",
|
|
"info": {
|
|
"description": "The LocalAI Rest API.",
|
|
"title": "LocalAI API",
|
|
"contact": {
|
|
"name": "LocalAI",
|
|
"url": "https://localai.io"
|
|
},
|
|
"license": {
|
|
"name": "MIT",
|
|
"url": "https://raw.githubusercontent.com/mudler/LocalAI/master/LICENSE"
|
|
},
|
|
"version": "2.0.0"
|
|
},
|
|
"basePath": "/",
|
|
"paths": {
|
|
"/v1/assistants": {
|
|
"post": {
|
|
"summary": "Create an assistant with a model and instructions.",
|
|
"parameters": [
|
|
{
|
|
"description": "query params",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/openai.AssistantRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Response",
|
|
"schema": {
|
|
"$ref": "#/definitions/openai.Assistant"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/audio/speech": {
|
|
"post": {
|
|
"summary": "Generates audio from the input text.",
|
|
"parameters": [
|
|
{
|
|
"description": "query params",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/schema.TTSRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Response",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/audio/transcriptions": {
|
|
"post": {
|
|
"consumes": [
|
|
"multipart/form-data"
|
|
],
|
|
"summary": "Transcribes audio into the input language.",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "model",
|
|
"name": "model",
|
|
"in": "formData",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "file",
|
|
"description": "file",
|
|
"name": "file",
|
|
"in": "formData",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Response",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/chat/completions": {
|
|
"post": {
|
|
"summary": "Generate a chat completions for a given prompt and model.",
|
|
"parameters": [
|
|
{
|
|
"description": "query params",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/schema.OpenAIRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Response",
|
|
"schema": {
|
|
"$ref": "#/definitions/schema.OpenAIResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/completions": {
|
|
"post": {
|
|
"summary": "Generate completions for a given prompt and model.",
|
|
"parameters": [
|
|
{
|
|
"description": "query params",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/schema.OpenAIRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Response",
|
|
"schema": {
|
|
"$ref": "#/definitions/schema.OpenAIResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/embeddings": {
|
|
"post": {
|
|
"summary": "Get a vector representation of a given input that can be easily consumed by machine learning models and algorithms.",
|
|
"parameters": [
|
|
{
|
|
"description": "query params",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/schema.OpenAIRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Response",
|
|
"schema": {
|
|
"$ref": "#/definitions/schema.OpenAIResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/images/generations": {
|
|
"post": {
|
|
"summary": "Creates an image given a prompt.",
|
|
"parameters": [
|
|
{
|
|
"description": "query params",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/schema.OpenAIRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Response",
|
|
"schema": {
|
|
"$ref": "#/definitions/schema.OpenAIResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/text-to-speech/{voice-id}": {
|
|
"post": {
|
|
"summary": "Generates audio from the input text.",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Account ID",
|
|
"name": "voice-id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "query params",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/schema.TTSRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Response",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"functions.Argument": {
|
|
"type": "object",
|
|
"properties": {
|
|
"properties": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"functions.Function": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"parameters": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
},
|
|
"functions.FunctionName": {
|
|
"type": "object",
|
|
"properties": {
|
|
"const": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"functions.Item": {
|
|
"type": "object",
|
|
"properties": {
|
|
"properties": {
|
|
"$ref": "#/definitions/functions.Properties"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"functions.JSONFunctionStructure": {
|
|
"type": "object",
|
|
"properties": {
|
|
"$defs": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"anyOf": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/functions.Item"
|
|
}
|
|
},
|
|
"oneOf": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/functions.Item"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"functions.Properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"arguments": {
|
|
"$ref": "#/definitions/functions.Argument"
|
|
},
|
|
"function": {
|
|
"$ref": "#/definitions/functions.FunctionName"
|
|
}
|
|
}
|
|
},
|
|
"functions.Tool": {
|
|
"type": "object",
|
|
"properties": {
|
|
"function": {
|
|
"$ref": "#/definitions/functions.Function"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"openai.Assistant": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"description": "The time at which the assistant was created.",
|
|
"type": "integer"
|
|
},
|
|
"description": {
|
|
"description": "The description of the assistant.",
|
|
"type": "string"
|
|
},
|
|
"file_ids": {
|
|
"description": "A list of file IDs attached to this assistant.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"id": {
|
|
"description": "The unique identifier of the assistant.",
|
|
"type": "string"
|
|
},
|
|
"instructions": {
|
|
"description": "The system instructions that the assistant uses.",
|
|
"type": "string"
|
|
},
|
|
"metadata": {
|
|
"description": "Set of key-value pairs attached to the assistant.",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"model": {
|
|
"description": "The model ID used by the assistant.",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "The name of the assistant.",
|
|
"type": "string"
|
|
},
|
|
"object": {
|
|
"description": "Object type, which is \"assistant\".",
|
|
"type": "string"
|
|
},
|
|
"tools": {
|
|
"description": "A list of tools enabled on the assistant.",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/openai.Tool"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"openai.AssistantRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"file_ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"instructions": {
|
|
"type": "string"
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"model": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"tools": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/openai.Tool"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"openai.Tool": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"$ref": "#/definitions/openai.ToolType"
|
|
}
|
|
}
|
|
},
|
|
"openai.ToolType": {
|
|
"type": "string",
|
|
"enum": [
|
|
"code_interpreter",
|
|
"retrieval",
|
|
"function"
|
|
],
|
|
"x-enum-varnames": [
|
|
"CodeInterpreter",
|
|
"Retrieval",
|
|
"Function"
|
|
]
|
|
},
|
|
"schema.ChatCompletionResponseFormat": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"schema.Choice": {
|
|
"type": "object",
|
|
"properties": {
|
|
"delta": {
|
|
"$ref": "#/definitions/schema.Message"
|
|
},
|
|
"finish_reason": {
|
|
"type": "string"
|
|
},
|
|
"index": {
|
|
"type": "integer"
|
|
},
|
|
"message": {
|
|
"$ref": "#/definitions/schema.Message"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"schema.FunctionCall": {
|
|
"type": "object",
|
|
"properties": {
|
|
"arguments": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"schema.Item": {
|
|
"type": "object",
|
|
"properties": {
|
|
"b64_json": {
|
|
"type": "string"
|
|
},
|
|
"embedding": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"index": {
|
|
"type": "integer"
|
|
},
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"description": "Images",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"schema.Message": {
|
|
"type": "object",
|
|
"properties": {
|
|
"content": {
|
|
"description": "The message content"
|
|
},
|
|
"function_call": {
|
|
"description": "A result of a function call"
|
|
},
|
|
"name": {
|
|
"description": "The message name (used for tools calls)",
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"description": "The message role",
|
|
"type": "string"
|
|
},
|
|
"string_content": {
|
|
"type": "string"
|
|
},
|
|
"string_images": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"tool_calls": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/schema.ToolCall"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"schema.OpenAIRequest": {
|
|
"type": "object",
|
|
"required": [
|
|
"file"
|
|
],
|
|
"properties": {
|
|
"backend": {
|
|
"type": "string"
|
|
},
|
|
"batch": {
|
|
"description": "Custom parameters - not present in the OpenAI API",
|
|
"type": "integer"
|
|
},
|
|
"clip_skip": {
|
|
"description": "Diffusers",
|
|
"type": "integer"
|
|
},
|
|
"echo": {
|
|
"type": "boolean"
|
|
},
|
|
"file": {
|
|
"description": "whisper",
|
|
"type": "string"
|
|
},
|
|
"frequency_penalty": {
|
|
"type": "number"
|
|
},
|
|
"function_call": {
|
|
"description": "might be a string or an object"
|
|
},
|
|
"functions": {
|
|
"description": "A list of available functions to call",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/functions.Function"
|
|
}
|
|
},
|
|
"grammar": {
|
|
"description": "A grammar to constrain the LLM output",
|
|
"type": "string"
|
|
},
|
|
"grammar_json_functions": {
|
|
"$ref": "#/definitions/functions.JSONFunctionStructure"
|
|
},
|
|
"ignore_eos": {
|
|
"type": "boolean"
|
|
},
|
|
"input": {},
|
|
"instruction": {
|
|
"description": "Edit endpoint",
|
|
"type": "string"
|
|
},
|
|
"language": {
|
|
"description": "Also part of the OpenAI official spec",
|
|
"type": "string"
|
|
},
|
|
"max_tokens": {
|
|
"type": "integer"
|
|
},
|
|
"messages": {
|
|
"description": "Messages is read only by chat/completion API calls",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/schema.Message"
|
|
}
|
|
},
|
|
"mode": {
|
|
"description": "Image (not supported by OpenAI)",
|
|
"type": "integer"
|
|
},
|
|
"model": {
|
|
"description": "Also part of the OpenAI official spec",
|
|
"type": "string"
|
|
},
|
|
"model_base_name": {
|
|
"description": "AutoGPTQ",
|
|
"type": "string"
|
|
},
|
|
"n": {
|
|
"description": "Also part of the OpenAI official spec. use it for returning multiple results",
|
|
"type": "integer"
|
|
},
|
|
"n_keep": {
|
|
"type": "integer"
|
|
},
|
|
"negative_prompt": {
|
|
"type": "string"
|
|
},
|
|
"negative_prompt_scale": {
|
|
"type": "number"
|
|
},
|
|
"presence_penalty": {
|
|
"type": "number"
|
|
},
|
|
"prompt": {
|
|
"description": "Prompt is read only by completion/image API calls"
|
|
},
|
|
"repeat_penalty": {
|
|
"type": "number"
|
|
},
|
|
"response_format": {
|
|
"description": "whisper/image",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/schema.ChatCompletionResponseFormat"
|
|
}
|
|
]
|
|
},
|
|
"rope_freq_base": {
|
|
"type": "number"
|
|
},
|
|
"rope_freq_scale": {
|
|
"type": "number"
|
|
},
|
|
"seed": {
|
|
"type": "integer"
|
|
},
|
|
"size": {
|
|
"description": "image",
|
|
"type": "string"
|
|
},
|
|
"step": {
|
|
"type": "integer"
|
|
},
|
|
"stop": {},
|
|
"stream": {
|
|
"type": "boolean"
|
|
},
|
|
"temperature": {
|
|
"type": "number"
|
|
},
|
|
"tfz": {
|
|
"type": "number"
|
|
},
|
|
"tokenizer": {
|
|
"description": "RWKV (?)",
|
|
"type": "string"
|
|
},
|
|
"tool_choice": {},
|
|
"tools": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/functions.Tool"
|
|
}
|
|
},
|
|
"top_k": {
|
|
"type": "integer"
|
|
},
|
|
"top_p": {
|
|
"description": "Common options between all the API calls, part of the OpenAI spec",
|
|
"type": "number"
|
|
},
|
|
"typical_p": {
|
|
"type": "number"
|
|
},
|
|
"use_fast_tokenizer": {
|
|
"description": "AutoGPTQ",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"schema.OpenAIResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"choices": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/schema.Choice"
|
|
}
|
|
},
|
|
"created": {
|
|
"type": "integer"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/schema.Item"
|
|
}
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"type": "string"
|
|
},
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"usage": {
|
|
"$ref": "#/definitions/schema.OpenAIUsage"
|
|
}
|
|
}
|
|
},
|
|
"schema.OpenAIUsage": {
|
|
"type": "object",
|
|
"properties": {
|
|
"completion_tokens": {
|
|
"type": "integer"
|
|
},
|
|
"prompt_tokens": {
|
|
"type": "integer"
|
|
},
|
|
"total_tokens": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"schema.TTSRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"backend": {
|
|
"type": "string"
|
|
},
|
|
"input": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"type": "string"
|
|
},
|
|
"voice": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"schema.ToolCall": {
|
|
"type": "object",
|
|
"properties": {
|
|
"function": {
|
|
"$ref": "#/definitions/schema.FunctionCall"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"index": {
|
|
"type": "integer"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"securityDefinitions": {
|
|
"BearerAuth": {
|
|
"type": "apiKey",
|
|
"name": "Authorization",
|
|
"in": "header"
|
|
}
|
|
}
|
|
} |