Signed-off-by: James <james@jan.ai> Co-authored-by: James <james@jan.ai>
This commit is contained in:
parent
4a2f5bce8d
commit
e7fcd775fb
@ -59,7 +59,7 @@ export const retrieveBuilder = async (configuration: RouteConfiguration, id: str
|
||||
const filteredData = data.filter((d: any) => d.id === id)[0]
|
||||
|
||||
if (!filteredData) {
|
||||
return {}
|
||||
return undefined
|
||||
}
|
||||
|
||||
return filteredData
|
||||
@ -75,14 +75,14 @@ export const deleteBuilder = async (configuration: RouteConfiguration, id: strin
|
||||
const directoryPath = join(path, configuration.dirName)
|
||||
try {
|
||||
const data = await retrieveBuilder(configuration, id)
|
||||
if (!data || !data.keys) {
|
||||
if (!data) {
|
||||
return {
|
||||
message: 'Not found',
|
||||
}
|
||||
}
|
||||
|
||||
const myPath = join(directoryPath, id)
|
||||
fs.rmdirSync(myPath, { recursive: true })
|
||||
const objectPath = join(directoryPath, id)
|
||||
fs.rmdirSync(objectPath, { recursive: true })
|
||||
return {
|
||||
id: id,
|
||||
object: configuration.delete.object,
|
||||
|
||||
@ -104,13 +104,23 @@ paths:
|
||||
- lang: cURL
|
||||
source: |
|
||||
curl http://localhost:1337/v1/models
|
||||
post:
|
||||
"/models/download/{model_id}":
|
||||
get:
|
||||
operationId: downloadModel
|
||||
tags:
|
||||
- Models
|
||||
summary: Download model
|
||||
summary: Download a specific model.
|
||||
description: |
|
||||
Download a model.
|
||||
parameters:
|
||||
- in: path
|
||||
name: model_id
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: mistral-ins-7b-q4
|
||||
description: |
|
||||
The ID of the model to use for this request.
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
@ -121,7 +131,7 @@ paths:
|
||||
x-codeSamples:
|
||||
- lang: cURL
|
||||
source: |
|
||||
curl -X POST http://localhost:1337/v1/models
|
||||
curl -X POST http://localhost:1337/v1/models/download/{model_id}
|
||||
"/models/{model_id}":
|
||||
get:
|
||||
operationId: retrieveModel
|
||||
@ -139,7 +149,7 @@ paths:
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: zephyr-7b
|
||||
example: mistral-ins-7b-q4
|
||||
description: |
|
||||
The ID of the model to use for this request.
|
||||
responses:
|
||||
@ -164,13 +174,13 @@ paths:
|
||||
Equivalent to OpenAI's delete model. </a>
|
||||
parameters:
|
||||
- in: path
|
||||
name: model
|
||||
name: model_id
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: zephyr-7b
|
||||
example: mistral-ins-7b-q4
|
||||
description: |
|
||||
The model to delete
|
||||
The model id to delete
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
@ -182,61 +192,6 @@ paths:
|
||||
- lang: cURL
|
||||
source: |
|
||||
curl -X DELETE http://localhost:1337/v1/models/{model_id}
|
||||
"/models/{model_id}/start":
|
||||
put:
|
||||
operationId: startModel
|
||||
tags:
|
||||
- Models
|
||||
summary: Start model
|
||||
description: |
|
||||
Starts an imported model. Loads the model into V/RAM.
|
||||
parameters:
|
||||
- in: path
|
||||
name: model
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: zephyr-7b
|
||||
description: |
|
||||
The ID of the model to use for this request
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: specs/models.yaml#/components/schemas/StartModelResponse
|
||||
x-codeSamples:
|
||||
- lang: cURL
|
||||
source: |
|
||||
curl -X PUT http://localhost:1337/v1/models/{model_id}/start
|
||||
"/models/{model_id}/stop":
|
||||
put:
|
||||
operationId: stopModel
|
||||
tags:
|
||||
- Models
|
||||
summary: Stop model
|
||||
description: |
|
||||
Stop an imported model.
|
||||
parameters:
|
||||
- in: path
|
||||
name: model
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: zephyr-7b
|
||||
description: The ID of the model to use for this request
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: specs/models.yaml#/components/schemas/StopModelResponse
|
||||
x-codeSamples:
|
||||
- lang: cURL
|
||||
source: |
|
||||
curl -X PUT http://localhost:1337/v1/models/{model_id}/stop
|
||||
/threads:
|
||||
post:
|
||||
operationId: createThread
|
||||
@ -252,13 +207,7 @@ paths:
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
messages:
|
||||
type: array
|
||||
description: Initial set of messages for the thread.
|
||||
items:
|
||||
$ref: specs/threads.yaml#/components/schemas/ThreadMessageObject
|
||||
$ref: specs/threads.yaml#/components/schemas/CreateThreadObject
|
||||
responses:
|
||||
"200":
|
||||
description: Thread created successfully
|
||||
@ -334,7 +283,6 @@ paths:
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: thread_abc123
|
||||
description: |
|
||||
The ID of the thread to retrieve.
|
||||
responses:
|
||||
@ -348,7 +296,7 @@ paths:
|
||||
- lang: cURL
|
||||
source: |
|
||||
curl http://localhost:1337/v1/threads/{thread_id}
|
||||
post:
|
||||
patch:
|
||||
operationId: modifyThread
|
||||
tags:
|
||||
- Threads
|
||||
@ -363,19 +311,18 @@ paths:
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: thread_abc123
|
||||
description: |
|
||||
The ID of the thread to be modified.
|
||||
requestBody:
|
||||
required: false
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
messages:
|
||||
type: array
|
||||
description: Set of messages to update in the thread.
|
||||
title:
|
||||
type: string
|
||||
description: Set the title of the thread
|
||||
items:
|
||||
$ref: specs/threads.yaml#/components/schemas/ThreadMessageObject
|
||||
responses:
|
||||
@ -415,7 +362,6 @@ paths:
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: thread_abc123
|
||||
description: |
|
||||
The ID of the thread to be deleted.
|
||||
responses:
|
||||
@ -429,70 +375,7 @@ paths:
|
||||
- lang: cURL
|
||||
source: |
|
||||
curl -X DELETE http://localhost:1337/v1/threads/{thread_id}
|
||||
"/threads/{thread_id}/assistants":
|
||||
get:
|
||||
operationId: getThreadAssistants
|
||||
tags:
|
||||
- Threads
|
||||
summary: Get Thread.Assistants
|
||||
description: |
|
||||
Can achieve this goal by calling Get thread API.
|
||||
parameters:
|
||||
- in: path
|
||||
name: thread_id
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: thread_abc123
|
||||
description: The ID of the thread to retrieve.
|
||||
responses:
|
||||
"200":
|
||||
description: Thread details retrieved successfully
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: specs/threads.yaml#/components/schemas/GetThreadResponse
|
||||
x-codeSamples:
|
||||
- lang: cURL
|
||||
source: |
|
||||
curl http://localhost:1337/v1/threads/{thread_id}/assistants
|
||||
"/threads/{thread_id}/assistants/{assistants_id}":
|
||||
post:
|
||||
operationId: postThreadAssistants
|
||||
tags:
|
||||
- Threads
|
||||
summary: Modify Thread.Assistants
|
||||
description: >
|
||||
Can achieve this goal by calling Modify Assistant API with
|
||||
thread.assistant[].
|
||||
"/threads/{thread_id}/":
|
||||
get:
|
||||
operationId: listThreadMessage
|
||||
tags:
|
||||
- Threads
|
||||
summary: List Thread.Messages
|
||||
description: |
|
||||
Can achieve this goal by calling Get Thread API.
|
||||
parameters:
|
||||
- in: path
|
||||
name: thread_id
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: thread_abc123
|
||||
description: The ID of the thread to retrieve.
|
||||
responses:
|
||||
"200":
|
||||
description: Thread details retrieved successfully
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: specs/threads.yaml#/components/schemas/GetThreadResponse
|
||||
x-codeSamples:
|
||||
- lang: cURL
|
||||
source: |
|
||||
curl http://localhost:1337/v1/threads/{thread_id}
|
||||
/assistants/:
|
||||
/assistants:
|
||||
get:
|
||||
operationId: listAssistants
|
||||
tags:
|
||||
@ -504,7 +387,7 @@ paths:
|
||||
Equivalent to OpenAI's list assistants. </a>
|
||||
responses:
|
||||
"200":
|
||||
description: List of threads retrieved successfully
|
||||
description: List of assistants retrieved successfully
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
@ -538,57 +421,11 @@ paths:
|
||||
in: []
|
||||
out: []
|
||||
metadata: {}
|
||||
responses: null
|
||||
x-codeSamples:
|
||||
- lang: cURL
|
||||
source: |
|
||||
curl http://localhost:1337/v1/assistants \
|
||||
-H "Content-Type: application/json" \
|
||||
post:
|
||||
operationId: createAssistant
|
||||
tags:
|
||||
- Assistants
|
||||
summary: Create assistant
|
||||
description: >
|
||||
Create an assistant with a model and instructions. <a href =
|
||||
"https://platform.openai.com/docs/api-reference/assistants/createAssistant">
|
||||
Equivalent to OpenAI's create assistants. </a>
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
models:
|
||||
type: array
|
||||
description: List of models associated with the assistant. Jan-specific
|
||||
property.
|
||||
items:
|
||||
type: object
|
||||
properties:
|
||||
model_id:
|
||||
type: string
|
||||
example: model_0
|
||||
responses:
|
||||
"200":
|
||||
description: null
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: specs/assistants.yaml#/components/schemas/CreateAssistantResponse
|
||||
x-codeSamples:
|
||||
- lang: cURL
|
||||
source: |
|
||||
curl http://localhost:1337/v1/assistants \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"models": [
|
||||
{
|
||||
"model_id": "model_0"
|
||||
}
|
||||
]
|
||||
}'
|
||||
"/assistants/{assistant_id}":
|
||||
get:
|
||||
operationId: getAssistant
|
||||
@ -605,7 +442,7 @@ paths:
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: asst_abc123
|
||||
example: jan
|
||||
description: |
|
||||
The ID of the assistant to retrieve.
|
||||
responses:
|
||||
@ -620,99 +457,6 @@ paths:
|
||||
source: |
|
||||
curl http://localhost:1337/v1/assistants/{assistant_id} \
|
||||
-H "Content-Type: application/json" \
|
||||
post:
|
||||
operationId: modifyAssistant
|
||||
tags:
|
||||
- Assistants
|
||||
summary: Modify assistant
|
||||
description: >
|
||||
Modifies an assistant. <a href =
|
||||
"https://platform.openai.com/docs/api-reference/assistants/modifyAssistant">
|
||||
Equivalent to OpenAI's modify assistant. </a>
|
||||
parameters:
|
||||
- in: path
|
||||
name: assistant_id
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: asst_abc123
|
||||
description: |
|
||||
The ID of the assistant to modify.
|
||||
requestBody:
|
||||
required: false
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
models:
|
||||
type: array
|
||||
description: List of models associated with the assistant. Jan-specific
|
||||
property.
|
||||
items:
|
||||
type: object
|
||||
properties:
|
||||
model_id:
|
||||
type: string
|
||||
example: model_0
|
||||
name:
|
||||
type: string
|
||||
description: Name of the assistant.
|
||||
example: Physics Tutor
|
||||
instructions:
|
||||
type: string
|
||||
description: A system prompt for the assistant.
|
||||
example: Be concise!
|
||||
responses:
|
||||
"200":
|
||||
description: null
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: specs/assistants.yaml#/components/schemas/ModifyAssistantResponse
|
||||
x-codeSamples:
|
||||
- lang: cURL
|
||||
source: |
|
||||
curl http://localhost:1337/v1/assistants/{assistant_id} \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"models": [
|
||||
{
|
||||
"model_id": "model_0"
|
||||
}
|
||||
],
|
||||
"name": "Physics Tutor",
|
||||
"instructions": "Be concise!",
|
||||
}'
|
||||
delete:
|
||||
operationId: deleteAssistant
|
||||
tags:
|
||||
- Assistants
|
||||
summary: Delete assistant
|
||||
description: >
|
||||
Delete an assistant. <a href =
|
||||
"https://platform.openai.com/docs/api-reference/assistants/deleteAssistant">
|
||||
Equivalent to OpenAI's delete assistant. </a>
|
||||
parameters:
|
||||
- in: path
|
||||
name: assistant_id
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: asst_abc123
|
||||
description: |
|
||||
The ID of the assistant to delete.
|
||||
responses:
|
||||
"200":
|
||||
description: Deletion status
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: specs/assistants.yaml#/components/schemas/DeleteAssistantResponse
|
||||
x-codeSamples:
|
||||
- lang: cURL
|
||||
source: |
|
||||
curl -X DELETE http://localhost:1337/v1/assistants/{assistant_id}
|
||||
"/threads/{thread_id}/messages":
|
||||
get:
|
||||
operationId: listMessages
|
||||
@ -729,7 +473,6 @@ paths:
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: thread_abc123
|
||||
description: |
|
||||
The ID of the thread from which to retrieve messages.
|
||||
responses:
|
||||
@ -759,7 +502,6 @@ paths:
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: thread_abc123
|
||||
description: |
|
||||
The ID of the thread to which the message will be posted.
|
||||
requestBody:
|
||||
@ -818,7 +560,6 @@ paths:
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: thread_abc123
|
||||
description: |
|
||||
The ID of the thread containing the message.
|
||||
- in: path
|
||||
@ -826,7 +567,6 @@ paths:
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: msg_abc123
|
||||
description: |
|
||||
The ID of the message to retrieve.
|
||||
responses:
|
||||
@ -842,98 +582,6 @@ paths:
|
||||
curl http://localhost:1337/v1/threads/{thread_id}/messages/{message_id}
|
||||
\
|
||||
-H "Content-Type: application/json"
|
||||
"/threads/{thread_id}/messages/{message_id}/files":
|
||||
get:
|
||||
operationId: listMessageFiles
|
||||
tags:
|
||||
- Messages
|
||||
summary: |
|
||||
List message files
|
||||
description: >
|
||||
Returns a list of message files. <a href =
|
||||
"https://platform.openai.com/docs/api-reference/messages/listMessageFiles">
|
||||
Equivalent to OpenAI's list message files. </a>
|
||||
parameters:
|
||||
- in: path
|
||||
name: thread_id
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: thread_abc123
|
||||
description: |
|
||||
The ID of the thread containing the message.
|
||||
- in: path
|
||||
name: message_id
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: msg_abc123
|
||||
description: |
|
||||
The ID of the message whose files are to be listed.
|
||||
responses:
|
||||
"200":
|
||||
description: List of files retrieved successfully
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: specs/messages.yaml#/components/schemas/ListMessageFilesResponse
|
||||
x-codeSamples:
|
||||
- lang: cURL
|
||||
source: >
|
||||
curl
|
||||
http://localhost:1337/v1/threads/{thread_id}/messages/{message_id}/files
|
||||
\
|
||||
-H "Content-Type: application/json"
|
||||
"/threads/{thread_id}/messages/{message_id}/files/{file_id}":
|
||||
get:
|
||||
operationId: retrieveMessageFile
|
||||
tags:
|
||||
- Messages
|
||||
summary: Retrieve message file
|
||||
description: >
|
||||
Retrieves a file associated with a specific message in a
|
||||
thread. <a href =
|
||||
"https://platform.openai.com/docs/api-reference/messages/getMessageFile">
|
||||
Equivalent to OpenAI's retrieve message file. </a>
|
||||
parameters:
|
||||
- in: path
|
||||
name: thread_id
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: thread_abc123
|
||||
description: |
|
||||
The ID of the thread containing the message.
|
||||
- in: path
|
||||
name: message_id
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: msg_abc123
|
||||
description: |
|
||||
The ID of the message associated with the file.
|
||||
- in: path
|
||||
name: file_id
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: file-abc123
|
||||
description: |
|
||||
The ID of the file to retrieve.
|
||||
responses:
|
||||
"200":
|
||||
description: File retrieved successfully
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: specs/messages.yaml#/components/schemas/MessageFileObject
|
||||
x-codeSamples:
|
||||
- lang: cURL
|
||||
source: >
|
||||
curl
|
||||
http://localhost:1337/v1/threads/{thread_id}/messages/{message_id}/files/{file_id}
|
||||
\
|
||||
-H "Content-Type: application/json"
|
||||
x-webhooks:
|
||||
ModelObject:
|
||||
post:
|
||||
|
||||
@ -377,15 +377,7 @@ components:
|
||||
DownloadModelResponse:
|
||||
type: object
|
||||
properties:
|
||||
id:
|
||||
message:
|
||||
type: string
|
||||
description: The identifier of the model that was started.
|
||||
example: model-zephyr-7B
|
||||
object:
|
||||
type: string
|
||||
description: Type of the object, indicating it's a model.
|
||||
default: model
|
||||
state:
|
||||
type: string
|
||||
description: The current state of the model after the start operation.
|
||||
example: downloaded
|
||||
description: Message indicates Jan starting download corresponding model.
|
||||
example: Starting download mistral-ins-7b-q4
|
||||
|
||||
@ -112,6 +112,63 @@ components:
|
||||
type: object
|
||||
description: Metadata associated with the newly created thread.
|
||||
example: {}
|
||||
CreateThreadObject:
|
||||
type: object
|
||||
properties:
|
||||
object:
|
||||
type: string
|
||||
description: Type of the object, indicating it's a thread.
|
||||
example: thread
|
||||
title:
|
||||
type: string
|
||||
description: >
|
||||
A brief summary or description of the thread, defaults to an empty
|
||||
string.
|
||||
example: funny physics joke
|
||||
assistants:
|
||||
type: array
|
||||
description: assistant involved in the thread
|
||||
items:
|
||||
properties:
|
||||
assistant_id:
|
||||
type: string
|
||||
description: |
|
||||
The identifier of assistant, defaults to "jan"
|
||||
example: jan
|
||||
assistant_name:
|
||||
type: string
|
||||
description: |
|
||||
The name of assistant, defaults to "Jan"
|
||||
example: Jan
|
||||
instructions:
|
||||
type: string
|
||||
description: |
|
||||
The instruction of assistant, defaults to "Be my grammar corrector"
|
||||
model:
|
||||
type: object
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
description: Model id
|
||||
example: mistral-ins-7b-q4
|
||||
settings:
|
||||
type: object
|
||||
description: >
|
||||
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")
|
||||
engine:
|
||||
type: string
|
||||
description: Engine id
|
||||
example: nitro
|
||||
metadata:
|
||||
type: object
|
||||
description: |
|
||||
Metadata associated with the thread, defaults to an empty object.
|
||||
ThreadMessageObject:
|
||||
type: object
|
||||
properties:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user