Перейти к основному содержимому

Jay Knowledge Hub public API (1.0.0)

Download OpenAPI specification:Download

ProjectsPublic

Работа с проектами.

Список проектов

Возвращает список проектов в аккаунте. Для этой операции требуется административный API-ключ.

Authorizations:
bearerAuth
query Parameters
pageNum
integer <int32> >= 0
Default: 0

Порядковый номер страницы для постраничной выборки, начиная с 0.

pageSize
integer <int32> [ 1 .. 100 ]
Default: 20

Размер страницы.

Responses

Response samples

Content type
application/json
{
  • "content": [
    ],
  • "paging": {
    }
}

Создание проекта

Создает новый проект базы знаний. Для этой операции требуется административный API-ключ.

Authorizations:
bearerAuth
Request Body schema: application/json
required
name
required
string

Название проекта.

Responses

Request samples

Content type
application/json
{
  • "name": "Справочная служба"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "status": "CREATED",
  • "resources": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Информация о проекте

Возвращает информацию о проекте базы знаний. Для этой операции требуется API-ключ проекта.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "status": "CREATED",
  • "resources": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Обновление проекта

Обновляет проект базы знаний. Для этой операции требуется административный API-ключ.

Authorizations:
bearerAuth
path Parameters
projectId
required
integer <int64> (LongId)

Идентификатор проекта базы знаний.

Request Body schema: application/json
required
name
required
string

Название проекта.

Responses

Request samples

Content type
application/json
{
  • "name": "Справочная служба"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "status": "CREATED",
  • "resources": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Удаление проекта

Удаляет проект базы знаний. Для этой операции требуется административный API-ключ.

Authorizations:
bearerAuth
path Parameters
projectId
required
integer <int64> (LongId)

Идентификатор проекта базы знаний.

Responses

Response samples

Content type
application/json
{
  • "code": "string",
  • "description": "string"
}

QueriesPublic

Одиночные запросы на поиск чанков и генерацию ответов. Дополнительно можно передать в запросе историю сообщений.

Поиск чанков (retrieving)

Получение чанков в базе знаний, релевантных для пользовательского ответа.

Authorizations:
bearerAuth
Request Body schema: application/json
required
query
required
string

Текст пользовательского запроса.

Array of objects (HistoryRecord)

История диалога. Записи отображаются в обратном хронологическом порядке (от поздних к ранним).

object (RetrievingSettings)

Настройки поиска чанков.

Responses

Request samples

Content type
application/json
{
  • "query": "string",
  • "history": [
    ],
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "chunks": [
    ]
}

Генерация ответа

Синхронный запрос на генерацию ответа на пользовательский запрос.

Учитывайте, что обработка запроса может занимать значительное время. Убедитесь, что используемый вами HTTP-клиент имеет установленный таймаут соединения более 1 минуты.

Authorizations:
bearerAuth
Request Body schema: application/json
required
query
required
string

Текст пользовательского запроса.

Array of objects (HistoryRecord)

История диалога. Записи отображаются в обратном хронологическом порядке (от поздних к ранним).

object (RagSettings)

Настройки обработки запроса.

Responses

Request samples

Content type
application/json
{
  • "query": "string",
  • "history": [
    ],
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "request": "string",
  • "response": "string",
  • "status": "READY_TO_PROCESS",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "comment": "string",
  • "relevantSources": [
    ]
}

Генерация ответа (асинхронный запрос)

Асинхронный запрос на генерацию ответа на пользовательский запрос.

Получить результат можно методом GET /api/knowledge-hub/query/{queryId}, где queryId — идентификатор запроса, полученный в текущем ответе.

Authorizations:
bearerAuth
Request Body schema: application/json
required
query
required
string

Текст пользовательского запроса.

Array of objects (HistoryRecord)

История диалога. Записи отображаются в обратном хронологическом порядке (от поздних к ранним).

object (RagSettings)

Настройки обработки запроса.

Responses

Request samples

Content type
application/json
{
  • "query": "string",
  • "history": [
    ],
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "request": "string",
  • "response": "string",
  • "status": "READY_TO_PROCESS",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "comment": "string",
  • "relevantSources": [
    ]
}

Статус обработки запроса на генерацию ответа

Возвращает текущий статус обработки запроса на генерацию ответа. Использует long-polling, если указан параметр waitTimeSeconds.

Authorizations:
bearerAuth
path Parameters
queryId
required
integer <int64> (LongId)

Идентификатор запроса на генерацию ответа.

query Parameters
waitTimeSeconds
integer <int32> [ 0 .. 30 ]
Default: 3

Время ожидания ответа в HTTP-запросе. Используется в long-polling.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "request": "string",
  • "response": "string",
  • "status": "READY_TO_PROCESS",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "comment": "string",
  • "relevantSources": [
    ]
}

Отмена обработки запроса на генерацию ответа

Authorizations:
bearerAuth
path Parameters
queryId
required
integer <int64> (LongId)

Идентификатор запроса на генерацию ответа.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "request": "string",
  • "response": "string",
  • "status": "READY_TO_PROCESS",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "comment": "string",
  • "relevantSources": [
    ]
}

ChatsPublic

Запросы на поиск чанков и генерацию ответов в рамках пользовательского чата.

Создание чата

Authorizations:
bearerAuth
Request Body schema: application/json
required
name
string

Название пользовательского чата.

object (RagSettings)

Настройки обработки запроса.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "settings": {
    }
}

Информация о пользовательском чате

Authorizations:
bearerAuth
path Parameters
chatId
required
integer <int64> (LongId)

Идентификатор чата в проекте базы знаний.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "settings": {
    }
}

Поиск чанков (retrieving)

Получение чанков в базе знаний, релевантных для пользовательского ответа в рамках чата.

Authorizations:
bearerAuth
path Parameters
chatId
required
integer <int64> (LongId)

Идентификатор чата в проекте базы знаний.

Request Body schema: application/json
required
query
required
string

Текст пользовательского запроса.

object (RetrievingSettings)

Настройки поиска чанков.

Responses

Request samples

Content type
application/json
{
  • "query": "string",
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "chunks": [
    ]
}

Генерация ответа

Синхронный запрос на генерацию ответа на пользовательский запрос. При этом учитывается история сообщений в чате.

Учитывайте, что обработка запроса может занимать значительное время. Убедитесь, что используемый вами HTTP-клиент имеет установленный таймаут соединения более 1 минуты.

Authorizations:
bearerAuth
path Parameters
chatId
required
integer <int64> (LongId)

Идентификатор чата в проекте базы знаний.

Request Body schema: application/json
required
query
required
string

Текст пользовательского запроса.

object (RagSettings)

Настройки обработки запроса.

Responses

Request samples

Content type
application/json
{
  • "query": "string",
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "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",
  • "relevantSources": [
    ]
}

Генерация ответа (асинхронный запрос)

Асинхронный запрос на генерацию ответа на пользовательский запрос. При этом учитывается история сообщений в чате.

Получить результат можно методом GET /api/knowledge-hub/chat/{chatId}/query/{queryId}, где queryId — идентификатор запроса, полученный в текущем ответе.

Authorizations:
bearerAuth
path Parameters
chatId
required
integer <int64> (LongId)

Идентификатор чата в проекте базы знаний.

Request Body schema: application/json
required
query
required
string

Текст пользовательского запроса.

object (RagSettings)

Настройки обработки запроса.

Responses

Request samples

Content type
application/json
{
  • "query": "string",
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "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",
  • "relevantSources": [
    ]
}

Статус обработки запроса на генерацию ответа

Возвращает текущий статус обработки запроса на генерацию ответа в пользовательском чате. Использует long-polling, если указан параметр waitTimeSeconds.

Authorizations:
bearerAuth
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

Content type
application/json
{
  • "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",
  • "relevantSources": [
    ]
}

Отмена обработки чат-запроса

Authorizations:
bearerAuth
path Parameters
chatId
required
integer <int64> (LongId)

Идентификатор чата в проекте базы знаний.

queryId
required
integer <int64> (LongId)

Идентификатор запроса на генерацию ответа.

Responses

Response samples

Content type
application/json
{
  • "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",
  • "relevantSources": [
    ]
}

SourcesPublic

Работа с источниками базы знаний.

Список источников

Возвращает информацию об источниках базы знаний.

Authorizations:
bearerAuth
query Parameters
createDateFrom
string <date>

Отбирать источники, добавленные начиная с указанной даты включительно.

createDateTo
string <date>

Отбирать источники, добавленные до указанной даты включительно.

sourceStatus
string

Отбирать источники с указанным статусом индексации. Возможные статусы:

  • READY_TO_INGEST — готов для индексации.
  • PROCESSING — в обработке.
  • INGESTED — проиндексирован.
  • FAILED_TO_INGEST — ошибка индексации.

Responses

Response samples

Content type
application/json
{
  • "sources": [
    ]
}

Добавление из текста

Добавляет переданный текст в качестве источника в базу знаний. После добавления источника автоматически запускается его индексация.

Authorizations:
bearerAuth
Request Body schema: application/json
required
name
string

Название источника. Должно содержать расширение файла (например, txt, md, json) и быть уникальным в рамках проекта. Если не указано, формируется автоматически.

text
required
string

Текст источника. Максимальный размер указан в требованиях к файлам.

segment
string
Deprecated

Сегмент (тег) базы знаний. Параметр устарел. Используйте segments.

segments
Array of strings

Сегменты (теги) базы знаний. Источник будет доступен при поиске по этим сегментам.

Длина названия сегмента — от 1 до 100 символов. В названиях не допускаются запятые.

Responses

Request samples

Content type
application/json
{
  • "name": "filename.txt",
  • "text": "string",
  • "segment": "string",
  • "segments": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "segments": [
    ],
  • "status": "string",
  • "lastError": "string",
  • "version": "string",
  • "sizeBytes": 0,
  • "sizeChars": 0,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "type": "FILE"
}

Обновление из текста

Заменяет источник с указанным названием на переданный текст. После обновления источника автоматически запускается его индексация.

Authorizations:
bearerAuth
Request Body schema: application/json
required
name
string

Название источника. Если в базе знаний нет источника с таким названием, возвращается ошибка.

text
required
string

Текст источника. Максимальный размер указан в требованиях к файлам.

segment
string
Deprecated

Сегмент (тег) базы знаний. Параметр устарел. Используйте segments.

segments
Array of strings

Сегменты (теги) базы знаний. Источник будет доступен при поиске по этим сегментам.

Длина названия сегмента — от 1 до 100 символов. В названиях не допускаются запятые.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "text": "string",
  • "segment": "string",
  • "segments": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "segments": [
    ],
  • "status": "string",
  • "lastError": "string",
  • "version": "string",
  • "sizeBytes": 0,
  • "sizeChars": 0,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "type": "FILE"
}

Добавление из файла

Добавляет переданный файл в качестве источника в базу знаний. После добавления источника автоматически запускается его индексация.

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required
file
required
string <binary>

Загружаемый файл. См. требования к файлам.

name
string

Название источника. Должно содержать расширение файла и быть уникальным в рамках проекта. Если не указано, формируется автоматически.

segment
string
Deprecated

Сегмент (тег) базы знаний. Параметр устарел. Используйте segments.

segments
Array of strings

Сегменты (теги) базы знаний. Источник будет доступен при поиске по этим сегментам.

Длина названия сегмента — от 1 до 100 символов. В названиях не допускаются запятые.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "segments": [
    ],
  • "status": "string",
  • "lastError": "string",
  • "version": "string",
  • "sizeBytes": 0,
  • "sizeChars": 0,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "type": "FILE"
}

Обновление из файла

Заменяет источник с указанным названием на переданный файл. После обновления источника автоматически запускается его индексация.

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required
file
required
string <binary>

Загружаемый файл. См. требования к файлам.

name
string

Название источника. Если в базе знаний нет источника с таким названием, возвращается ошибка.

segment
string
Deprecated

Сегмент (тег) базы знаний. Параметр устарел. Используйте segments.

segments
Array of strings

Сегменты (теги) базы знаний. Источник будет доступен при поиске по этим сегментам.

Длина названия сегмента — от 1 до 100 символов. В названиях не допускаются запятые.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "segments": [
    ],
  • "status": "string",
  • "lastError": "string",
  • "version": "string",
  • "sizeBytes": 0,
  • "sizeChars": 0,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "type": "FILE"
}

Информация об источнике

Возвращает информацию об источнике базы знаний.

Authorizations:
bearerAuth
path Parameters
sourceId
required
integer <int64> (LongId)

Идентификатор источника в проекте базы знаний.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "segments": [
    ],
  • "status": "string",
  • "lastError": "string",
  • "version": "string",
  • "sizeBytes": 0,
  • "sizeChars": 0,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "type": "FILE"
}

Удаление источника

Удаляет источник из базы знаний.

Authorizations:
bearerAuth
path Parameters
sourceId
required
integer <int64> (LongId)

Идентификатор источника в проекте базы знаний.

Responses

Response samples

Content type
application/json
{
  • "code": "string",
  • "description": "string"
}

Скачивание источника

Скачивает файл-источник из базы знаний.

Authorizations:
bearerAuth
path Parameters
sourceId
required
integer <int64> (LongId)

Идентификатор источника в проекте базы знаний.

Responses

Response samples

Content type
application/json
{
  • "code": "string",
  • "description": "string"
}

IntegrationsPublic

Работа с интеграциями базы знаний.

Создание интеграции

Добавление новой интеграции в базу знаний. Индексация запускается автоматически после загрузки данных при создании интеграции и при автоматической синхронизации, если она включена.

Authorizations:
bearerAuth
Request Body schema: application/json
required
name
required
string

Название интеграции.

autoSync
boolean

Признак необходимости автоматически синхронизировать данные.

downloadAttachmentFiles
boolean

Признак необходимости загружать прикрепленные к страницам файлы в допустимых форматах, см. требования к файлам. Эта настройка не влияет на загрузку изображений: они загружаются всегда.

syncIntervalMinutes
integer

Период обновления в минутах. Не менее 30 минут.

required
object (IntegrationSettings)

Настройки интеграции.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "autoSync": true,
  • "downloadAttachmentFiles": true,
  • "syncIntervalMinutes": 0,
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "autoSync": true,
  • "syncIntervalMinutes": 0,
  • "settings": {
    },
  • "status": "ACTIVE",
  • "lastError": "string"
}

Список интеграций

Возвращает список интеграций базы знаний.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "integrations": [
    ]
}

Информация об интеграции

Возвращает информацию об интеграции.

Authorizations:
bearerAuth
path Parameters
integrationId
required
integer <int64> (LongId)

Идентификатор интеграции.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "autoSync": true,
  • "syncIntervalMinutes": 0,
  • "settings": {
    },
  • "status": "ACTIVE",
  • "lastError": "string"
}

Удаление интеграции

Удаляет интеграцию из базы знаний.

Authorizations:
bearerAuth
path Parameters
integrationId
required
integer <int64> (LongId)

Идентификатор интеграции.

Responses

Response samples

Content type
application/json
{
  • "code": "string",
  • "description": "string"
}

SegmentsPublic

Работа с сегментами (тегами) базы знаний.

Список сегментов

Возвращает список всех сегментов (тегов) базы знаний.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "segments": [
    ]
}

Переименование сегмента

Меняет название сегмента (тега) во всех источниках, которые относятся к этому сегменту.

Authorizations:
bearerAuth
Request Body schema: application/json
required
oldName
required
string

Текущее название сегмента.

newName
required
string

Новое название сегмента. От 1 до 100 символов. В названии не допускаются запятые.

Responses

Request samples

Content type
application/json
{
  • "oldName": "Право",
  • "newName": "Юридические документы"
}

Response samples

Content type
application/json
{
  • "updatedFileIds": [
    ]
}

Привязка сегментов к источникам

Для каждого источника добавляет указанные сегменты (теги) в список сегментов, к которым относится источник.

Authorizations:
bearerAuth
Request Body schema: application/json
required
sourceIds
required
Array of integers <int64> (LongId) [ items <int64 > ]

Идентификаторы источников. Если не указаны, изменения будут применены ко всем источникам в базе знаний.

segments
required
Array of strings

Сегменты, которые нужно привязать к источникам. Длина названия сегмента — от 1 до 100 символов. В названиях не допускаются запятые.

Responses

Request samples

Content type
application/json
{
  • "sourceIds": [
    ],
  • "segments": [
    ]
}

Response samples

Content type
application/json
{
  • "updatedFileIds": [
    ]
}

Отвязка сегментов от источников

Для каждого источника удаляет указанные сегменты (теги) из списка сегментов, к которым относится источник. Если у источника отсутствует удаляемый сегмент, он игнорируется.

Authorizations:
bearerAuth
Request Body schema: application/json
required
sourceIds
required
Array of integers <int64> (LongId) [ items <int64 > ]

Идентификаторы источников.

segments
required
Array of strings

Сегменты, которые нужно отвязать от источников.

Responses

Request samples

Content type
application/json
{
  • "sourceIds": [
    ],
  • "segments": [
    ]
}

Response samples

Content type
application/json
{
  • "updatedFileIds": [
    ]
}

IndexingPublic

Управление индексацией.

Запуск индексации базы знаний

Запускает индексацию источников, которые не были проиндексированы после загрузки или индексация которых завершилась ошибкой.

Authorizations:
bearerAuth

Responses

Остановка индексации базы знаний

Прерывает текущую индексацию.

Authorizations:
bearerAuth

Responses

ApiKeysPublic

Работа с проектными API-ключами.

Создание API-ключа

Создает новый API-ключ для проекта базы знаний. Для этой операции требуется административный API-ключ.

Authorizations:
bearerAuth
path Parameters
projectId
required
integer <int64> (LongId)

Идентификатор проекта базы знаний.

Request Body schema: application/json
required
name
required
string

Название API-ключа.

expiredAt
string <date-time>

Дата и время окончания действия API-ключа. Если значение не указано, будет создан бессрочный ключ.

Responses

Request samples

Content type
application/json
{
  • "name": "Для сайта и приложений",
  • "expiredAt": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "projectId": 0,
  • "name": "string",
  • "key": "string",
  • "status": "string",
  • "ownerLogin": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "expiredAt": "2019-08-24T14:15:22Z",
  • "lastUsedAt": "2019-08-24T14:15:22Z"
}

Список API-ключей

Возвращает список API-ключей для проекта базы знаний. Для этой операции требуется административный API-ключ.

Authorizations:
bearerAuth
path Parameters
projectId
required
integer <int64> (LongId)

Идентификатор проекта базы знаний.

query Parameters
pageNum
integer <int32> >= 0
Default: 0

Порядковый номер страницы для постраничной выборки, начиная с 0.

pageSize
integer <int32> [ 1 .. 100 ]
Default: 20

Размер страницы.

onlyActive
boolean
Default: false

Возвращать только активные API-ключи.

Responses

Response samples

Content type
application/json
{
  • "content": [
    ],
  • "paging": {
    }
}

Деактивация API-ключа

Деактивирует API-ключ проекта базы знаний. Для этой операции требуется административный API-ключ.

Authorizations:
bearerAuth
path Parameters
projectId
required
integer <int64> (LongId)

Идентификатор проекта базы знаний.

apiKeyId
required
integer <int64> (LongId)

Идентификатор API-ключа.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "projectId": 0,
  • "name": "string",
  • "key": "string",
  • "status": "string",
  • "ownerLogin": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "expiredAt": "2019-08-24T14:15:22Z",
  • "lastUsedAt": "2019-08-24T14:15:22Z"
}