diff --git a/docs/openapi/jan.yaml b/docs/openapi/jan.yaml
index b7b6bd3c17..fc3e7ccc8e 100644
--- a/docs/openapi/jan.yaml
+++ b/docs/openapi/jan.yaml
@@ -1,31 +1,31 @@
+---
openapi: 3.0.0
info:
title: API Reference
description: >
# Introduction
- Jan API is compatible with the [OpenAI
- API](https://platform.openai.com/docs/api-reference).
+ Jan API is compatible with the [OpenAI API](https://platform.openai.com/docs/api-reference).
version: 0.1.8
contact:
name: Jan Discord
- url: "https://discord.gg/7EcEz7MrvA"
+ url: https://discord.gg/7EcEz7MrvA
license:
name: AGPLv3
- url: "https://github.com/janhq/nitro/blob/main/LICENSE"
+ url: https://github.com/janhq/nitro/blob/main/LICENSE
servers:
- - url: "http://localhost:1337/v1/"
+ - url: http://localhost:1337/v1/
tags:
- name: Models
description: List and describe the various models available in the API.
- name: Chat
description: >
- Given a list of messages comprising a conversation, the model will return
- a response.
+ Given a list of messages comprising a conversation, the model will
+ return a response.
- name: Messages
description: >
- Messages capture a conversation's content. This can include the content
- from LLM responses and other metadata from [chat
+ Messages capture a conversation's content. This can include the
+ content from LLM responses and other metadata from [chat
completions](/specs/chats).
- name: Threads
- name: Assistants
@@ -49,36 +49,39 @@ paths:
summary: |
Create chat completion
description: >
- Creates a model response for the given chat conversation. Equivalent
- to OpenAI's create chat completion.
+ Creates a model response for the given chat conversation.
+ Equivalent to OpenAI's create chat completion.
requestBody:
content:
application/json:
schema:
- $ref: "specs/chat.yaml#/components/schemas/ChatCompletionRequest"
+ $ref: specs/chat.yaml#/components/schemas/ChatCompletionRequest
responses:
"200":
description: OK
content:
application/json:
schema:
- $ref: "specs/chat.yaml#/components/schemas/ChatCompletionResponse"
+ $ref: specs/chat.yaml#/components/schemas/ChatCompletionResponse
x-codeSamples:
- lang: cURL
- source: >
- curl -X POST
- 'http://localhost:3982/inferences/llamacpp/chat_completion' \
- -H "Content-Type: application/json" \
- -d '{
- "llama_model_path": "/path/to/your/model.gguf",
- "messages": [
- {
- "role": "user",
- "content": "hello"
- },
- ]
- }'
+ source: |
+ curl http://localhost:1337/v1/chat/completions \
+ -H "Content-Type: application/json" \
+ -d '{
+ "model": "tinyllama-1.1b",
+ "messages": [
+ {
+ "role": "system",
+ "content": "You are a helpful assistant."
+ },
+ {
+ "role": "user",
+ "content": "Hello!"
+ }
+ ]
+ }'
/models:
get:
operationId: listModels
@@ -86,17 +89,17 @@ paths:
- Models
summary: List models
description: >
- Lists the currently available models, and provides basic information
- about each one such as the owner and availability. Equivalent
- to OpenAI's list model.
+ Lists the currently available models, and provides basic
+ information about each one such as the owner and availability.
+ Equivalent to OpenAI's list model.
responses:
"200":
description: OK
content:
application/json:
schema:
- $ref: "specs/models.yaml#/components/schemas/ListModelsResponse"
+ $ref: specs/models.yaml#/components/schemas/ListModelsResponse
x-codeSamples:
- lang: cURL
source: |
@@ -114,7 +117,7 @@ paths:
content:
application/json:
schema:
- $ref: "specs/models.yaml#/components/schemas/DownloadModelResponse"
+ $ref: specs/models.yaml#/components/schemas/DownloadModelResponse
x-codeSamples:
- lang: cURL
source: |
@@ -126,8 +129,8 @@ paths:
- Models
summary: Retrieve model
description: >
- Get a model instance, providing basic information about the model such
- as the owner and permissioning.
Equivalent to OpenAI's retrieve model.
parameters:
@@ -145,7 +148,7 @@ paths:
content:
application/json:
schema:
- $ref: "specs/models.yaml#/components/schemas/GetModelResponse"
+ $ref: specs/models.yaml#/components/schemas/GetModelResponse
x-codeSamples:
- lang: cURL
source: |
@@ -174,7 +177,7 @@ paths:
content:
application/json:
schema:
- $ref: "specs/models.yaml#/components/schemas/DeleteModelResponse"
+ $ref: specs/models.yaml#/components/schemas/DeleteModelResponse
x-codeSamples:
- lang: cURL
source: |
@@ -202,7 +205,7 @@ paths:
content:
application/json:
schema:
- $ref: "specs/models.yaml#/components/schemas/StartModelResponse"
+ $ref: specs/models.yaml#/components/schemas/StartModelResponse
x-codeSamples:
- lang: cURL
source: |
@@ -229,7 +232,7 @@ paths:
content:
application/json:
schema:
- $ref: "specs/models.yaml#/components/schemas/StopModelResponse"
+ $ref: specs/models.yaml#/components/schemas/StopModelResponse
x-codeSamples:
- lang: cURL
source: |
@@ -255,14 +258,14 @@ paths:
type: array
description: Initial set of messages for the thread.
items:
- $ref: "specs/threads.yaml#/components/schemas/ThreadMessageObject"
+ $ref: specs/threads.yaml#/components/schemas/ThreadMessageObject
responses:
"200":
description: Thread created successfully
content:
application/json:
schema:
- $ref: "specs/threads.yaml#/components/schemas/CreateThreadResponse"
+ $ref: specs/threads.yaml#/components/schemas/CreateThreadResponse
x-codeSamples:
- lang: cURL
source: |
@@ -293,7 +296,7 @@ paths:
schema:
type: array
items:
- $ref: "specs/threads.yaml#/components/schemas/ThreadObject"
+ $ref: specs/threads.yaml#/components/schemas/ThreadObject
example:
- id: thread_abc123
object: thread
@@ -340,7 +343,7 @@ paths:
content:
application/json:
schema:
- $ref: "specs/threads.yaml#/components/schemas/GetThreadResponse"
+ $ref: specs/threads.yaml#/components/schemas/GetThreadResponse
x-codeSamples:
- lang: cURL
source: |
@@ -374,14 +377,14 @@ paths:
type: array
description: Set of messages to update in the thread.
items:
- $ref: "specs/threads.yaml#/components/schemas/ThreadMessageObject"
+ $ref: specs/threads.yaml#/components/schemas/ThreadMessageObject
responses:
"200":
description: Thread modified successfully
content:
application/json:
schema:
- $ref: "specs/threads.yaml#/components/schemas/ModifyThreadResponse"
+ $ref: specs/threads.yaml#/components/schemas/ModifyThreadResponse
x-codeSamples:
- lang: cURL
source: |
@@ -421,7 +424,7 @@ paths:
content:
application/json:
schema:
- $ref: "specs/threads.yaml#/components/schemas/DeleteThreadResponse"
+ $ref: specs/threads.yaml#/components/schemas/DeleteThreadResponse
x-codeSamples:
- lang: cURL
source: |
@@ -448,7 +451,7 @@ paths:
content:
application/json:
schema:
- $ref: "specs/threads.yaml#/components/schemas/GetThreadResponse"
+ $ref: specs/threads.yaml#/components/schemas/GetThreadResponse
x-codeSamples:
- lang: cURL
source: |
@@ -484,7 +487,7 @@ paths:
content:
application/json:
schema:
- $ref: "specs/threads.yaml#/components/schemas/GetThreadResponse"
+ $ref: specs/threads.yaml#/components/schemas/GetThreadResponse
x-codeSamples:
- lang: cURL
source: |
@@ -513,7 +516,7 @@ paths:
created_at: 1698984975
name: Math Tutor
description: null
- avatar: "https://pic.png"
+ avatar: https://pic.png
models:
- model_id: model_0
instructions: Be concise
@@ -527,7 +530,7 @@ paths:
created_at: 1698984975
name: Physics Tutor
description: null
- avatar: "https://pic.png"
+ avatar: https://pic.png
models:
- model_id: model_1
instructions: Be concise!
@@ -559,8 +562,7 @@ paths:
properties:
models:
type: array
- description: >-
- List of models associated with the assistant. Jan-specific
+ description: List of models associated with the assistant. Jan-specific
property.
items:
type: object
@@ -574,8 +576,7 @@ paths:
content:
application/json:
schema:
- $ref: >-
- specs/assistants.yaml#/components/schemas/CreateAssistantResponse
+ $ref: specs/assistants.yaml#/components/schemas/CreateAssistantResponse
x-codeSamples:
- lang: cURL
source: |
@@ -613,8 +614,7 @@ paths:
content:
application/json:
schema:
- $ref: >-
- specs/assistants.yaml#/components/schemas/RetrieveAssistantResponse
+ $ref: specs/assistants.yaml#/components/schemas/RetrieveAssistantResponse
x-codeSamples:
- lang: cURL
source: |
@@ -647,8 +647,7 @@ paths:
properties:
models:
type: array
- description: >-
- List of models associated with the assistant. Jan-specific
+ description: List of models associated with the assistant. Jan-specific
property.
items:
type: object
@@ -670,8 +669,7 @@ paths:
content:
application/json:
schema:
- $ref: >-
- specs/assistants.yaml#/components/schemas/ModifyAssistantResponse
+ $ref: specs/assistants.yaml#/components/schemas/ModifyAssistantResponse
x-codeSamples:
- lang: cURL
source: |
@@ -710,8 +708,7 @@ paths:
content:
application/json:
schema:
- $ref: >-
- specs/assistants.yaml#/components/schemas/DeleteAssistantResponse
+ $ref: specs/assistants.yaml#/components/schemas/DeleteAssistantResponse
x-codeSamples:
- lang: cURL
source: |
@@ -741,7 +738,7 @@ paths:
content:
application/json:
schema:
- $ref: "specs/messages.yaml#/components/schemas/ListMessagesResponse"
+ $ref: specs/messages.yaml#/components/schemas/ListMessagesResponse
x-codeSamples:
- lang: cURL
source: |
@@ -794,7 +791,7 @@ paths:
content:
application/json:
schema:
- $ref: "specs/messages.yaml#/components/schemas/CreateMessageResponse"
+ $ref: specs/messages.yaml#/components/schemas/CreateMessageResponse
x-codeSamples:
- lang: cURL
source: |
@@ -838,12 +835,12 @@ paths:
content:
application/json:
schema:
- $ref: "specs/messages.yaml#/components/schemas/GetMessageResponse"
+ $ref: specs/messages.yaml#/components/schemas/GetMessageResponse
x-codeSamples:
- lang: cURL
source: >
- curl
- http://localhost:1337/v1/threads/{thread_id}/messages/{message_id} \
+ curl http://localhost:1337/v1/threads/{thread_id}/messages/{message_id}
+ \
-H "Content-Type: application/json"
"/threads/{thread_id}/messages/{message_id}/files":
get:
@@ -879,8 +876,7 @@ paths:
content:
application/json:
schema:
- $ref: >-
- specs/messages.yaml#/components/schemas/ListMessageFilesResponse
+ $ref: specs/messages.yaml#/components/schemas/ListMessageFilesResponse
x-codeSamples:
- lang: cURL
source: >
@@ -895,8 +891,8 @@ paths:
- Messages
summary: Retrieve message file
description: >
- Retrieves a file associated with a specific message in a thread.
Equivalent to OpenAI's retrieve message file.
parameters:
@@ -930,7 +926,7 @@ paths:
content:
application/json:
schema:
- $ref: "specs/messages.yaml#/components/schemas/MessageFileObject"
+ $ref: specs/messages.yaml#/components/schemas/MessageFileObject
x-codeSamples:
- lang: cURL
source: >
@@ -953,14 +949,15 @@ x-webhooks:
content:
application/json:
schema:
- $ref: "specs/models.yaml#/components/schemas/ModelObject"
+ $ref: specs/models.yaml#/components/schemas/ModelObject
AssistantObject:
post:
summary: The assistant object
description: >
- Build assistants that can call models and use tools to perform tasks.
-
- Equivalent to OpenAI's assistants object.
+ Build assistants that can call models and use tools to perform
+ tasks. Equivalent
+ to OpenAI's assistants object.
operationId: AssistantObjects
tags:
- Assistants
@@ -968,7 +965,7 @@ x-webhooks:
content:
application/json:
schema:
- $ref: "specs/assistants.yaml#/components/schemas/AssistantObject"
+ $ref: specs/assistants.yaml#/components/schemas/AssistantObject
MessageObject:
post:
summary: The message object
@@ -983,12 +980,11 @@ x-webhooks:
content:
application/json:
schema:
- $ref: "specs/messages.yaml#/components/schemas/MessageObject"
+ $ref: specs/messages.yaml#/components/schemas/MessageObject
ThreadObject:
post:
summary: The thread object
- description: >-
- Represents a thread that contains messages.
Equivalent to OpenAI's thread object.
operationId: ThreadObject
@@ -998,4 +994,4 @@ x-webhooks:
content:
application/json:
schema:
- $ref: "specs/threads.yaml#/components/schemas/ThreadObject"
+ $ref: specs/threads.yaml#/components/schemas/ThreadObject
\ No newline at end of file
diff --git a/docs/openapi/specs/assistants.yaml b/docs/openapi/specs/assistants.yaml
index 7579f35aec..d784c315a6 100644
--- a/docs/openapi/specs/assistants.yaml
+++ b/docs/openapi/specs/assistants.yaml
@@ -1,3 +1,4 @@
+---
components:
schemas:
AssistantObject:
@@ -9,7 +10,7 @@ components:
example: asst_abc123
object:
type: string
- description: "Type of the object, indicating it's an assistant."
+ description: Type of the object, indicating it's an assistant.
default: assistant
version:
type: integer
@@ -31,7 +32,7 @@ components:
avatar:
type: string
description: URL of the assistant's avatar. Jan-specific property.
- example: "https://pic.png"
+ example: https://pic.png
models:
type: array
description: List of models associated with the assistant. Jan-specific property.
@@ -70,7 +71,7 @@ components:
example: asst_abc123
object:
type: string
- description: "Type of the object, indicating it's an assistant."
+ description: Type of the object, indicating it's an assistant.
default: assistant
version:
type: integer
@@ -92,7 +93,7 @@ components:
avatar:
type: string
description: URL of the assistant's avatar. Jan-specific property.
- example: "https://pic.png"
+ example: https://pic.png
models:
type: array
description: List of models associated with the assistant. Jan-specific property.
@@ -130,7 +131,7 @@ components:
example: asst_abc123
object:
type: string
- description: "Type of the object, indicating it's an assistant."
+ description: Type of the object, indicating it's an assistant.
default: assistant
version:
type: integer
@@ -152,7 +153,7 @@ components:
avatar:
type: string
description: URL of the assistant's avatar. Jan-specific property.
- example: "https://pic.png"
+ example: https://pic.png
models:
type: array
description: List of models associated with the assistant. Jan-specific property.
@@ -190,7 +191,7 @@ components:
example: asst_abc123
object:
type: string
- description: "Type of the object, indicating it's an assistant."
+ description: Type of the object, indicating it's an assistant.
default: assistant
version:
type: integer
@@ -212,7 +213,7 @@ components:
avatar:
type: string
description: URL of the assistant's avatar. Jan-specific property.
- example: "https://pic.png"
+ example: https://pic.png
models:
type: array
description: List of models associated with the assistant. Jan-specific property.
@@ -250,7 +251,7 @@ components:
example: asst_abc123
object:
type: string
- description: "Type of the object, indicating it's an assistant."
+ description: Type of the object, indicating it's an assistant.
default: assistant
version:
type: integer
@@ -272,7 +273,7 @@ components:
avatar:
type: string
description: URL of the assistant's avatar. Jan-specific property.
- example: "https://pic.png"
+ example: https://pic.png
models:
type: array
description: List of models associated with the assistant. Jan-specific property.
@@ -310,9 +311,9 @@ components:
example: asst_abc123
object:
type: string
- description: "Type of the object, indicating the assistant has been deleted."
+ description: Type of the object, indicating the assistant has been deleted.
example: assistant.deleted
deleted:
type: boolean
description: Indicates whether the assistant was successfully deleted.
- example: true
+ example: true
\ No newline at end of file
diff --git a/docs/openapi/specs/chat.yaml b/docs/openapi/specs/chat.yaml
index 9303e9713a..b324501a86 100644
--- a/docs/openapi/specs/chat.yaml
+++ b/docs/openapi/specs/chat.yaml
@@ -1,3 +1,4 @@
+---
components:
schemas:
ChatObject:
@@ -15,8 +16,7 @@ components:
stream:
type: boolean
default: true
- description: >-
- Enables continuous output generation, allowing for streaming of
+ description: Enables continuous output generation, allowing for streaming of
model responses.
model:
type: string
@@ -25,27 +25,23 @@ components:
max_tokens:
type: number
default: 2048
- description: >-
- The maximum number of tokens the model will generate in a single
+ description: The maximum number of tokens the model will generate in a single
response.
stop:
type: arrays
example:
- hello
- description: >-
- Defines specific tokens or phrases at which the model will stop
+ description: Defines specific tokens or phrases at which the model will stop
generating further output/
frequency_penalty:
type: number
default: 0
- description: >-
- Adjusts the likelihood of the model repeating words or phrases in
+ description: Adjusts the likelihood of the model repeating words or phrases in
its output.
presence_penalty:
type: number
default: 0
- description: >-
- Influences the generation of new and varied concepts in the model's
+ description: Influences the generation of new and varied concepts in the model's
output.
temperature:
type: number
@@ -71,13 +67,13 @@ components:
description: |
Contains input data or prompts for the model to process.
example:
- - content: "Hello there :wave:"
- role: assistant
- - content: Can you write a long story
+ - content: You are a helpful assistant.
+ role: system
+ - content: Hello!
role: user
model:
type: string
- example: model-zephyr-7B
+ example: tinyllama-1.1b
description: |
Specifies the model being used for inference or processing tasks.
stream:
@@ -139,7 +135,7 @@ components:
type: string
nullable: true
example: null
- description: "Reason for finishing the response, if applicable"
+ description: Reason for finishing the response, if applicable
index:
type: integer
example: 0
@@ -192,4 +188,4 @@ components:
total_tokens:
type: integer
example: 533
- description: Total number of tokens used
+ description: Total number of tokens used
\ No newline at end of file
diff --git a/docs/openapi/specs/messages.yaml b/docs/openapi/specs/messages.yaml
index 9a0799f6a1..d9d7d87a40 100644
--- a/docs/openapi/specs/messages.yaml
+++ b/docs/openapi/specs/messages.yaml
@@ -309,4 +309,4 @@ components:
data:
type: array
items:
- $ref: "#/components/schemas/MessageFileObject"
+ $ref: "#/components/schemas/MessageFileObject"
\ No newline at end of file
diff --git a/docs/openapi/specs/models.yaml b/docs/openapi/specs/models.yaml
index 374f733333..3bf524f792 100644
--- a/docs/openapi/specs/models.yaml
+++ b/docs/openapi/specs/models.yaml
@@ -1,3 +1,4 @@
+---
components:
schemas:
ListModelsResponse:
@@ -27,8 +28,7 @@ components:
description: The version number of the model.
id:
type: string
- description: >-
- Unique identifier used in chat-completions model_name, matches
+ description: Unique identifier used in chat-completions model_name, matches
folder name.
example: zephyr-7b
name:
@@ -57,14 +57,13 @@ components:
description: Current state of the model.
format:
type: string
- description: "State format of the model, distinct from the engine."
+ description: State format of the model, distinct from the engine.
example: ggufv3
source_url:
type: string
format: uri
description: URL to the source of the model.
- example: >-
- https://huggingface.co/TheBloke/zephyr-7B-beta-GGUF/blob/main/zephyr-7b-beta.Q4_K_M.gguf
+ example: https://huggingface.co/TheBloke/zephyr-7B-beta-GGUF/blob/main/zephyr-7b-beta.Q4_K_M.gguf
settings:
type: object
properties:
@@ -152,7 +151,7 @@ components:
example: zephyr-7b
object:
type: string
- description: "Type of the object, indicating it's a model."
+ description: Type of the object, indicating it's a model.
default: model
created:
type: integer
@@ -174,8 +173,7 @@ components:
type: string
format: uri
description: URL to the source of the model.
- example: >-
- https://huggingface.co/TheBloke/zephyr-7B-beta-GGUF/blob/main/zephyr-7b-beta.Q4_K_M.gguf
+ example: https://huggingface.co/TheBloke/zephyr-7B-beta-GGUF/blob/main/zephyr-7b-beta.Q4_K_M.gguf
engine_parameters:
type: object
properties:
@@ -198,8 +196,7 @@ components:
default: "ASSISTANT: "
ngl:
type: integer
- description: >-
- Number of neural network layers loaded onto the GPU for
+ description: Number of neural network layers loaded onto the GPU for
acceleration.
minimum: 0
maximum: 100
@@ -207,18 +204,16 @@ components:
example: 100
ctx_len:
type: integer
- description: >-
- Context length for model operations, varies based on the
- specific model.
+ description: Context length for model operations, varies based on the specific
+ model.
minimum: 128
maximum: 4096
default: 2048
example: 2048
n_parallel:
type: integer
- description: >-
- Number of parallel operations, relevant when continuous batching
- is enabled.
+ description: Number of parallel operations, relevant when continuous batching is
+ enabled.
minimum: 1
maximum: 10
default: 1
@@ -269,8 +264,7 @@ components:
example: 4
temperature:
type: number
- description: >-
- Controls randomness in model's responses. Higher values lead to
+ description: Controls randomness in model's responses. Higher values lead to
more random responses.
minimum: 0
maximum: 2
@@ -278,8 +272,7 @@ components:
example: 0.7
token_limit:
type: integer
- description: >-
- Maximum number of tokens the model can generate in a single
+ description: Maximum number of tokens the model can generate in a single
response.
minimum: 1
maximum: 4096
@@ -287,18 +280,16 @@ components:
example: 2048
top_k:
type: integer
- description: >-
- Limits the model to consider only the top k most likely next
- tokens at each step.
+ description: Limits the model to consider only the top k most likely next tokens
+ at each step.
minimum: 0
maximum: 100
default: 0
example: 0
top_p:
type: number
- description: >-
- Nucleus sampling parameter. The model considers the smallest set
- of tokens whose cumulative probability exceeds the top_p value.
+ description: Nucleus sampling parameter. The model considers the smallest set of
+ tokens whose cumulative probability exceeds the top_p value.
minimum: 0
maximum: 1
default: 1
@@ -397,4 +388,4 @@ components:
state:
type: string
description: The current state of the model after the start operation.
- example: downloaded
+ example: downloaded
\ No newline at end of file
diff --git a/docs/openapi/specs/threads.yaml b/docs/openapi/specs/threads.yaml
index f432b56fff..b04839cc61 100644
--- a/docs/openapi/specs/threads.yaml
+++ b/docs/openapi/specs/threads.yaml
@@ -1,3 +1,4 @@
+---
components:
schemas:
ThreadObject:
@@ -39,13 +40,13 @@ components:
settings:
type: object
description: >
- Defaults to and overrides assistant.json's "settings" (and
- if none, then model.json "settings")
+ Defaults to and overrides assistant.json's "settings" (and if none,
+ then model.json "settings")
parameters:
type: object
description: >
- Defaults to and overrides assistant.json's "parameters"
- (and if none, then model.json "parameters")
+ Defaults to and overrides assistant.json's "parameters" (and if
+ none, then model.json "parameters")
created:
type: integer
format: int64
@@ -141,7 +142,7 @@ components:
example: thread_abc123
object:
type: string
- description: "Type of the object, indicating it's a thread."
+ description: Type of the object, indicating it's a thread.
example: thread
created_at:
type: integer
@@ -161,9 +162,9 @@ components:
example: thread_abc123
object:
type: string
- description: "Type of the object, indicating the thread has been deleted."
+ description: Type of the object, indicating the thread has been deleted.
example: thread.deleted
deleted:
type: boolean
description: Indicates whether the thread was successfully deleted.
- example: true
+ example: true
\ No newline at end of file