Jay Knowledge Hub public API (1.0.0)
Download OpenAPI specification:Download
Получение информации по проекту
Получение информации по текущему проекту базы знаний.
Authorizations:
Responses
Response samples
- 200
{- "id": 0,
- "name": "string",
- "status": "CREATED",
- "resources": {
- "llmModels": [
- "string"
]
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
Поиск чанков (retrieving)
Получение чанков в базе знаний, релевантных для пользовательского ответа.
Authorizations:
Request Body schema: application/jsonrequired
query required | string Текст пользовательского запроса. |
Array of objects (HistoryRecord) История диалога. Записи отображаются в обратном хронологическом порядке (от поздних к ранним). | |
object (RetrievingSettings) Настройки поиска чанков. |
Responses
Request samples
- Payload
{- "query": "string",
- "history": [
- {
- "content": "string",
- "role": "user"
}
], - "settings": {
- "pipeline": "semantic",
- "search": {
- "similarityTopK": 5,
- "candidateRadius": 10,
- "reranker": {
- "type": "manual",
- "minScore": -10,
- "maxChunksPerDocument": 1,
- "maxChunks": 1,
- "scoreReductionLimit": 1
}, - "fullTextSearch": {
- "strategy": "hybrid",
- "semanticPortion": 10,
- "ftsPortion": 1,
- "threshold": 1,
- "useOnlyInSegment": true
}, - "rephraseUserQuery": {
- "prompt": "Прочитай историю диалога, переформулируй текущий вопрос пользователя с учетом истории, добавив ее в виде контекста. Сделай вопрос более понятным, четким и структурированным. Добавь к вопросу похожие запросы и заголовок, верни текст с заголовком."
}, - "segment": "FAQ"
}, - "llm": {
- "model": "string",
- "contextWindow": 4000,
- "maxTokens": 500,
- "temperature": 1,
- "topP": 1,
- "frequencyPenalty": -2,
- "presencePenalty": -2
}
}
}
Response samples
- 200
- 400
{- "chunks": [
- {
- "score": 0.1,
- "content": "string",
- "docId": "string",
- "metadata": {
- "sourcePath": "string",
- "sourceUrl": "string",
- "segment": "string"
}
}
]
}
Генерация ответа
Синхронный запрос на генерацию ответа на пользовательский запрос.
Учитывайте, что обработка запроса может занимать значительное время. Убедитесь, что используемый вами HTTP-клиент имеет установленный таймаут соединения более 1 минуты.
Authorizations:
Request Body schema: application/jsonrequired
query required | string Текст пользовательского запроса. |
Array of objects (HistoryRecord) История диалога. Записи отображаются в обратном хронологическом порядке (от поздних к ранним). | |
object (RagSettings) Настройки обработки запроса. |
Responses
Request samples
- Payload
{- "query": "string",
- "history": [
- {
- "content": "string",
- "role": "user"
}
], - "settings": {
- "pipeline": "semantic",
- "search": {
- "similarityTopK": 5,
- "candidateRadius": 10,
- "reranker": {
- "type": "manual",
- "minScore": -10,
- "maxChunksPerDocument": 1,
- "maxChunks": 1,
- "scoreReductionLimit": 1
}, - "fullTextSearch": {
- "strategy": "hybrid",
- "semanticPortion": 10,
- "ftsPortion": 1,
- "threshold": 1,
- "useOnlyInSegment": true
}, - "rephraseUserQuery": {
- "prompt": "Прочитай историю диалога, переформулируй текущий вопрос пользователя с учетом истории, добавив ее в виде контекста. Сделай вопрос более понятным, четким и структурированным. Добавь к вопросу похожие запросы и заголовок, верни текст с заголовком."
}, - "segment": "FAQ"
}, - "llm": {
- "model": "string",
- "contextWindow": 4000,
- "maxTokens": 500,
- "temperature": 1,
- "topP": 1,
- "frequencyPenalty": -2,
- "presencePenalty": -2
}, - "responseGeneration": {
- "prompt": "string"
}
}
}
Response samples
- 200
- 400
{- "id": 0,
- "request": "string",
- "response": "string",
- "status": "READY_TO_PROCESS",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "comment": "string"
}
Генерация ответа (асинхронный запрос)
Асинхронный запрос на генерацию ответа на пользовательский запрос.
Получить результат можно методом GET /api/knowledge-hub/query/{queryId}, где queryId
— идентификатор запроса, полученный в текущем ответе.
Authorizations:
Request Body schema: application/jsonrequired
query required | string Текст пользовательского запроса. |
Array of objects (HistoryRecord) История диалога. Записи отображаются в обратном хронологическом порядке (от поздних к ранним). | |
object (RagSettings) Настройки обработки запроса. |
Responses
Request samples
- Payload
{- "query": "string",
- "history": [
- {
- "content": "string",
- "role": "user"
}
], - "settings": {
- "pipeline": "semantic",
- "search": {
- "similarityTopK": 5,
- "candidateRadius": 10,
- "reranker": {
- "type": "manual",
- "minScore": -10,
- "maxChunksPerDocument": 1,
- "maxChunks": 1,
- "scoreReductionLimit": 1
}, - "fullTextSearch": {
- "strategy": "hybrid",
- "semanticPortion": 10,
- "ftsPortion": 1,
- "threshold": 1,
- "useOnlyInSegment": true
}, - "rephraseUserQuery": {
- "prompt": "Прочитай историю диалога, переформулируй текущий вопрос пользователя с учетом истории, добавив ее в виде контекста. Сделай вопрос более понятным, четким и структурированным. Добавь к вопросу похожие запросы и заголовок, верни текст с заголовком."
}, - "segment": "FAQ"
}, - "llm": {
- "model": "string",
- "contextWindow": 4000,
- "maxTokens": 500,
- "temperature": 1,
- "topP": 1,
- "frequencyPenalty": -2,
- "presencePenalty": -2
}, - "responseGeneration": {
- "prompt": "string"
}
}
}
Response samples
- 200
- 400
{- "id": 0,
- "request": "string",
- "response": "string",
- "status": "READY_TO_PROCESS",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "comment": "string"
}
Статус обработки запроса на генерацию ответа
Возвращает текущий статус обработки запроса на генерацию ответа.
Использует long-polling, если указан параметр waitTimeSeconds
.
Authorizations:
path Parameters
queryId required | integer <int64> (LongId) Идентификатор запроса на генерацию ответа. |
query Parameters
waitTimeSeconds | integer <int32> [ 0 .. 30 ] Default: 3 Время ожидания ответа в HTTP-запросе. Используется в long-polling. |
Responses
Response samples
- 200
{- "id": 0,
- "request": "string",
- "response": "string",
- "status": "READY_TO_PROCESS",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "comment": "string"
}
Отмена обработки запроса на генерацию ответа
Authorizations:
path Parameters
queryId required | integer <int64> (LongId) Идентификатор запроса на генерацию ответа. |
Responses
Response samples
- 200
{- "id": 0,
- "request": "string",
- "response": "string",
- "status": "READY_TO_PROCESS",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "comment": "string"
}
Создание чата
Authorizations:
Request Body schema: application/jsonrequired
name | string Название пользовательского чата. |
object (RagSettings) Настройки обработки запроса. |
Responses
Request samples
- Payload
{- "name": "string",
- "settings": {
- "pipeline": "semantic",
- "search": {
- "similarityTopK": 5,
- "candidateRadius": 10,
- "reranker": {
- "type": "manual",
- "minScore": -10,
- "maxChunksPerDocument": 1,
- "maxChunks": 1,
- "scoreReductionLimit": 1
}, - "fullTextSearch": {
- "strategy": "hybrid",
- "semanticPortion": 10,
- "ftsPortion": 1,
- "threshold": 1,
- "useOnlyInSegment": true
}, - "rephraseUserQuery": {
- "prompt": "Прочитай историю диалога, переформулируй текущий вопрос пользователя с учетом истории, добавив ее в виде контекста. Сделай вопрос более понятным, четким и структурированным. Добавь к вопросу похожие запросы и заголовок, верни текст с заголовком."
}, - "segment": "FAQ"
}, - "llm": {
- "model": "string",
- "contextWindow": 4000,
- "maxTokens": 500,
- "temperature": 1,
- "topP": 1,
- "frequencyPenalty": -2,
- "presencePenalty": -2
}, - "responseGeneration": {
- "prompt": "string"
}
}
}
Response samples
- 200
- 400
{- "id": 0,
- "name": "string",
- "settings": {
- "pipeline": "semantic",
- "search": {
- "similarityTopK": 5,
- "candidateRadius": 10,
- "reranker": {
- "type": "manual",
- "minScore": -10,
- "maxChunksPerDocument": 1,
- "maxChunks": 1,
- "scoreReductionLimit": 1
}, - "fullTextSearch": {
- "strategy": "hybrid",
- "semanticPortion": 10,
- "ftsPortion": 1,
- "threshold": 1,
- "useOnlyInSegment": true
}, - "rephraseUserQuery": {
- "prompt": "Прочитай историю диалога, переформулируй текущий вопрос пользователя с учетом истории, добавив ее в виде контекста. Сделай вопрос более понятным, четким и структурированным. Добавь к вопросу похожие запросы и заголовок, верни текст с заголовком."
}, - "segment": "FAQ"
}, - "llm": {
- "model": "string",
- "contextWindow": 4000,
- "maxTokens": 500,
- "temperature": 1,
- "topP": 1,
- "frequencyPenalty": -2,
- "presencePenalty": -2
}, - "responseGeneration": {
- "prompt": "string"
}
}
}
Информация о пользовательском чате
Authorizations:
path Parameters
chatId required | integer <int64> (LongId) Идентификатор чата в проекте базы знаний. |
Responses
Response samples
- 200
- 400
{- "id": 0,
- "name": "string",
- "settings": {
- "pipeline": "semantic",
- "search": {
- "similarityTopK": 5,
- "candidateRadius": 10,
- "reranker": {
- "type": "manual",
- "minScore": -10,
- "maxChunksPerDocument": 1,
- "maxChunks": 1,
- "scoreReductionLimit": 1
}, - "fullTextSearch": {
- "strategy": "hybrid",
- "semanticPortion": 10,
- "ftsPortion": 1,
- "threshold": 1,
- "useOnlyInSegment": true
}, - "rephraseUserQuery": {
- "prompt": "Прочитай историю диалога, переформулируй текущий вопрос пользователя с учетом истории, добавив ее в виде контекста. Сделай вопрос более понятным, четким и структурированным. Добавь к вопросу похожие запросы и заголовок, верни текст с заголовком."
}, - "segment": "FAQ"
}, - "llm": {
- "model": "string",
- "contextWindow": 4000,
- "maxTokens": 500,
- "temperature": 1,
- "topP": 1,
- "frequencyPenalty": -2,
- "presencePenalty": -2
}, - "responseGeneration": {
- "prompt": "string"
}
}
}
Поиск чанков (retrieving)
Получение чанков в базе знаний, релевантных для пользовательского ответа в рамках чата.
Authorizations:
path Parameters
chatId required | integer <int64> (LongId) Идентификатор чата в проекте базы знаний. |
Request Body schema: application/jsonrequired
query required | string Текст пользовательского запроса. |
object (RetrievingSettings) Настройки поиска чанков. |
Responses
Request samples
- Payload
{- "query": "string",
- "settings": {
- "pipeline": "semantic",
- "search": {
- "similarityTopK": 5,
- "candidateRadius": 10,
- "reranker": {
- "type": "manual",
- "minScore": -10,
- "maxChunksPerDocument": 1,
- "maxChunks": 1,
- "scoreReductionLimit": 1
}, - "fullTextSearch": {
- "strategy": "hybrid",
- "semanticPortion": 10,
- "ftsPortion": 1,
- "threshold": 1,
- "useOnlyInSegment": true
}, - "rephraseUserQuery": {
- "prompt": "Прочитай историю диалога, переформулируй текущий вопрос пользователя с учетом истории, добавив ее в виде контекста. Сделай вопрос более понятным, четким и структурированным. Добавь к вопросу похожие запросы и заголовок, верни текст с заголовком."
}, - "segment": "FAQ"
}, - "llm": {
- "model": "string",
- "contextWindow": 4000,
- "maxTokens": 500,
- "temperature": 1,
- "topP": 1,
- "frequencyPenalty": -2,
- "presencePenalty": -2
}
}
}
Response samples
- 200
- 400
{- "chunks": [
- {
- "score": 0.1,
- "content": "string",
- "docId": "string",
- "metadata": {
- "sourcePath": "string",
- "sourceUrl": "string",
- "segment": "string"
}
}
]
}
Генерация ответа
Синхронный запрос на генерацию ответа на пользовательский запрос. При этом учитывается история сообщений в чате.
Учитывайте, что обработка запроса может занимать значительное время. Убедитесь, что используемый вами HTTP-клиент имеет установленный таймаут соединения более 1 минуты.
Authorizations:
path Parameters
chatId required | integer <int64> (LongId) Идентификатор чата в проекте базы знаний. |
Request Body schema: application/jsonrequired
query required | string Текст пользовательского запроса. |
object (RagSettings) Настройки обработки запроса. |
Responses
Request samples
- Payload
{- "query": "string",
- "settings": {
- "pipeline": "semantic",
- "search": {
- "similarityTopK": 5,
- "candidateRadius": 10,
- "reranker": {
- "type": "manual",
- "minScore": -10,
- "maxChunksPerDocument": 1,
- "maxChunks": 1,
- "scoreReductionLimit": 1
}, - "fullTextSearch": {
- "strategy": "hybrid",
- "semanticPortion": 10,
- "ftsPortion": 1,
- "threshold": 1,
- "useOnlyInSegment": true
}, - "rephraseUserQuery": {
- "prompt": "Прочитай историю диалога, переформулируй текущий вопрос пользователя с учетом истории, добавив ее в виде контекста. Сделай вопрос более понятным, четким и структурированным. Добавь к вопросу похожие запросы и заголовок, верни текст с заголовком."
}, - "segment": "FAQ"
}, - "llm": {
- "model": "string",
- "contextWindow": 4000,
- "maxTokens": 500,
- "temperature": 1,
- "topP": 1,
- "frequencyPenalty": -2,
- "presencePenalty": -2
}, - "responseGeneration": {
- "prompt": "string"
}
}
}
Response samples
- 200
- 400
{- "id": 0,
- "chatId": 0,
- "request": "string",
- "response": "string",
- "status": "READY_TO_PROCESS",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "comment": "string"
}
Генерация ответа (асинхронный запрос)
Асинхронный запрос на генерацию ответа на пользовательский запрос. При этом учитывается история сообщений в чате.
Получить результат можно методом GET /api/knowledge-hub/chat/{chatId}/query/{queryId}, где queryId
— идентификатор запроса, полученный в текущем ответе.
Authorizations:
path Parameters
chatId required | integer <int64> (LongId) Идентификатор чата в проекте базы знаний. |
Request Body schema: application/jsonrequired
query required | string Текст пользовательского запроса. |
object (RagSettings) Настройки обработки запроса. |
Responses
Request samples
- Payload
{- "query": "string",
- "settings": {
- "pipeline": "semantic",
- "search": {
- "similarityTopK": 5,
- "candidateRadius": 10,
- "reranker": {
- "type": "manual",
- "minScore": -10,
- "maxChunksPerDocument": 1,
- "maxChunks": 1,
- "scoreReductionLimit": 1
}, - "fullTextSearch": {
- "strategy": "hybrid",
- "semanticPortion": 10,
- "ftsPortion": 1,
- "threshold": 1,
- "useOnlyInSegment": true
}, - "rephraseUserQuery": {
- "prompt": "Прочитай историю диалога, переформулируй текущий вопрос пользователя с учетом истории, добавив ее в виде контекста. Сделай вопрос более понятным, четким и структурированным. Добавь к вопросу похожие запросы и заголовок, верни текст с заголовком."
}, - "segment": "FAQ"
}, - "llm": {
- "model": "string",
- "contextWindow": 4000,
- "maxTokens": 500,
- "temperature": 1,
- "topP": 1,
- "frequencyPenalty": -2,
- "presencePenalty": -2
}, - "responseGeneration": {
- "prompt": "string"
}
}
}
Response samples
- 200
- 400
{- "id": 0,
- "chatId": 0,
- "request": "string",
- "response": "string",
- "status": "READY_TO_PROCESS",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "comment": "string"
}
Статус обработки запроса на генерацию ответа
Возвращает текущий статус обработки запроса на генерацию ответа в пользовательском чате.
Использует long-polling, если указан параметр waitTimeSeconds
.
Authorizations:
path Parameters
chatId required | integer <int64> (LongId) Идентификатор чата в проекте базы знаний. |
queryId required | integer <int64> (LongId) Идентификатор запроса на генерацию ответа. |
query Parameters
waitTimeSeconds | integer <int32> [ 0 .. 30 ] Default: 3 Время ожидания ответа в HTTP-запросе. Используется в long-polling. |
Responses
Response samples
- 200
{- "id": 0,
- "chatId": 0,
- "request": "string",
- "response": "string",
- "status": "READY_TO_PROCESS",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "comment": "string"
}
Отмена обработки чат-запроса
Authorizations:
path Parameters
chatId required | integer <int64> (LongId) Идентификатор чата в проекте базы знаний. |
queryId required | integer <int64> (LongId) Идентификатор запроса на генерацию ответа. |
Responses
Response samples
- 200
{- "id": 0,
- "chatId": 0,
- "request": "string",
- "response": "string",
- "status": "READY_TO_PROCESS",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "comment": "string"
}