Справочник REST API Procurize.AI#

Программный доступ к вашей базе знаний – документам, опросникам, RAG и отчетам – с помощью вашего токена API.

Применимо к: Procurize.AI API v1
Аутентификация: API‑ключ через заголовок X-API-Key (см. Токены API для управления токенами)
Базовый URL: https://api.procurize.com

Обзор#

REST API Procurize.AI предоставляет программный доступ к ключевым функциям платформы. Он позволяет интегрировать Procurize.AI с вашими внутренними системами, автоматизировать управление базой знаний и создавать пользовательские рабочие процессы.

Поддерживаемые модули (токен‑аутентификация):

  • RagArticle – управление документами
  • RagFaq – управление записями FAQ
  • RagQuery – выполнение запросов RAG

Аутентификация#

Все аутентифицированные конечные точки требуют токен API, передаваемый в заголовке запроса.

ЗаголовокЗначение
X-API-Key<YOUR_API_TOKEN>

Пример:

curl -X GET "https://api.procurize.com/v1/..." \
  -H "X-API-Key: your-api-token-here"

💡 Токены привязаны к вашей организации – вам не нужно указывать идентификатор организации в запросе.

Базовый URL#

Все конечные точки REST API находятся под:

https://api.procurize.com

Обработка ошибок#

API использует стандартные коды состояния HTTP.

КодЗначение
200 OKЗапрос выполнен успешно
201 CreatedРесурс успешно создан
204 No ContentЗапрос выполнен успешно, тело ответа отсутствует
400 Bad RequestНедопустимые параметры или некорректный запрос
401 UnauthorizedОтсутствует или недействителен токен API
403 ForbiddenТокен не имеет прав для этого действия
404 Not FoundРесурс не найден
500 Internal Server ErrorНеожиданная ошибка сервера

Ответы об ошибках включают машинно‑читаемый код ошибки и человекочитаемое сообщение.

Справочник модулей#

RagArticle#

GET /questionnaire/rag/articles/summary#

Краткое описание: Сводка для главной страницы

Параметры:

ИмяВТипОбязательноОписание
projquerystring (uuid)НетИдентификатор проекта.

Ответ (200):

{
  "active": 5
}

GET /questionnaire/rag/articles/total#

Краткое описание: Количество статей

Параметры:

ИмяВТипОбязательноОписание
qquerystringНетФильтр по названию или коду статьи.
statequeryarrayНетФильтр по статусам.
projectqueryarrayНетФильтр по проектам.
typequeryarrayНетФильтр по типам документов.

Ответ (200):

42

GET /questionnaire/rag/articles/list#

Краткое описание: Получить список статей

Параметры:

ИмяВТипОбязательноОписание
qquerystringНетФильтр по названию или коду статьи.
statequeryarrayНетФильтр по статусам.
projectqueryarrayНетФильтр по проектам.
typequeryarrayНетФильтр по типам документов.
squerystringНетПоле сортировки.
ascquerybooleanНетСортировка по возрастанию.
psqueryinteger (int32)НетРазмер страницы.
pqueryinteger (int32)НетНомер страницы (начиная с 1).

Ответ (200):

{
  "paging": {
    "pageNumber": 1,
    "pageSize": 10,
    "total": 42,
    "totalPages": 5
  },
  "items": [
    {
      "code": "ART-001",
      "org": "00000000-0000-0000-0000-000000000000",
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "Article Title",
      "description": "Article description",
      "documentTypes": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "name": "Type Name",
          "plural": "Type Names",
          "count": 5
        }
      ],
      "size": 150,
      "revision": {
        "id": "00000000-0000-0000-0000-000000000000",
        "collectionId": "00000000-0000-0000-0000-000000000000",
        "rev": 3,
        "date": "2025-01-15T10:30:00Z",
        "author": {
          "id": "user123",
          "name": "John Doe",
          "email": "john.doe@example.com",
          "login": "johndoe",
          "ra": true
        },
        "authorName": "John Doe",
        "analysisSummary": {
          "id": "00000000-0000-0000-0000-000000000000",
          "initiator": {
            "id": "user123",
            "name": "John Doe",
            "email": "john.doe@example.com",
            "login": "johndoe",
            "ra": true
          },
          "created": "2025-01-15T10:30:00Z",
          "state": "Completed",
          "stateDate": "2025-01-15T10:35:00Z",
          "stateDetails": "Analysis completed successfully",
          "operationId": "op-12345"
        }
      },
      "type": "Article",
      "state": "Active",
      "projects": [
        "00000000-0000-0000-0000-000000000000"
      ],
      "items": [
        "00000000-0000-0000-0000-000000000000"
      ],
      "isShared": false
    }
  ]
}

POST /questionnaire/rag/file-to-md#

Краткое описание: Возвращает Markdown‑контент из файла

Тело запроса (multipart/form-data):

{
  "url": "https://example.com/file.pdf",
  "file": "binary"
}

Ответ (200):

"Markdown content from file"

POST /questionnaire/rag/article/create#

Краткое описание: Создать статью

Тело запроса (multipart/form-data):

{
  "code": "ART-001",
  "name": "Article Title",
  "description": "Article description",
  "content": "# Article Content\n\nThis is the article content.",
  "url": "https://example.com/file.pdf",
  "file": "binary"
}

Ответ (200):

{
  "code": "ART-001",
  "org": "00000000-0000-0000-0000-000000000000",
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "Article Title",
  "description": "Article description",
  "documentTypes": null,
  "size": 150,
  "revision": null,
  "type": "Article",
  "state": "Active",
  "projects": null,
  "items": null,
  "isShared": false
}

GET /questionnaire/rag/article/check#

Краткое описание: Проверить существование статьи.

Параметры:

ИмяВТипОбязательноОписание
codequerystringДаКод статьи.

Ответ (200):

true

GET /questionnaire/rag/article-info#

Краткое описание: Получить информацию о статье по коду.

Параметры:

ИмяВТипОбязательноОписание
codequerystringДаКод статьи.

Ответ (200):

{
  "code": "ART-001",
  "org": "00000000-0000-0000-0000-000000000000",
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "Article Title",
  "description": "Article description",
  "documentTypes": null,
  "size": 150,
  "revision": null,
  "type": "Article",
  "state": "Active",
  "projects": null,
  "items": null,
  "isShared": false
}

GET /questionnaire/rag/article#

Краткое описание: Получить содержимое статьи по коду

Параметры:

ИмяВТипОбязательноОписание
codequerystringДаКод статьи.
formatquerystringНетЕсли true, возвращает HTML‑контент в теле ответа. Иначе — Markdown.
splitquerybooleanНетЕсли true, возвращает контент, разделённый на RAG‑элементы.
cssquerybooleanНетЕсли true, возвращает HTML/PDF с CSS.

Ответ (200):

"# Article Title\n\nThis is the article content in Markdown format."

POST /questionnaire/rag/article#

Краткое описание: Обновить метаданные статьи

Тело запроса:

{
  "code": "ART-001",
  "name": "Updated Article Title",
  "description": "Updated description",
  "projects": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "documentTypes": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "Type Name",
      "plural": "Type Names"
    }
  ],
  "isShared": true,
  "state": "Active"
}

Ответ (200):

{}

DELETE /questionnaire/rag/article#

Краткое описание: Удалить статью

Параметры:

ИмяВТипОбязательноОписание
codequerystringДаКод статьи.

GET /questionnaire/rag/article/pdf#

Краткое описание: Получить статью в формате PDF по коду

Параметры:

ИмяВТипОбязательноОписание
codequerystringДаКод статьи.

Ответ (200):

(pdf binary)

GET /questionnaire/rag/article/content#

Краткое описание: Получить содержимое статьи

Параметры:

ИмяВТипОбязательноОписание
codequerystringДаКод статьи.

Ответ (200):

{
  "content": "# Article Title\n\nContent here."
}

POST /questionnaire/rag/article/content#

Краткое описание: Обновить содержимое статьи

Тело запроса (multipart/form-data):

{
  "code": "ART-001",
  "content": "# Updated Content",
  "file": "binary"
}

POST /questionnaire/rag/plural#

Краткое описание: Получить множественную форму существительного

Параметры:

ИмяВТипОбязательноОписание
nounquerystringНетСуществительное для множественной формы.

Ответ (200):

{
  "plural": "Articles"
}

POST /questionnaire/rag/article/find-types#

Краткое описание: Проанализировать статью с помощью ИИ и вернуть их типы

Тело запроса (multipart/form-data):

{
  "code": "ART-001",
  "content": "# Article Content"
}

Ответ (200):

[
  {
    "plural": "Types"
  }
]

POST /questionnaire/rag/article/format-with-ai#

Краткое описание: Форматировать содержимое статьи с помощью ИИ

Тело запроса (multipart/form-data):

{
  "code": "ART-001",
  "content": "# Article Content"
}

Ответ (200):

{
  "formattedContent": "# Formatted Article Content"
}

POST /questionnaire/rag/article/improve-on-suggestions#

Краткое описание: Улучшить документ на основе предложений

Тело запроса (multipart/form-data):

{
  "suggestions": [
    {
      "sectionTitle": "Introduction",
      "suggestion": "Add more details here."
    }
  ],
  "code": "ART-001",
  "content": "# Article Content"
}

Ответ (200):

{
  "improvedContent": "# Improved Content"
}

GET /questionnaire/rag/article/parts#

Краткое описание: Возвращает список частей статьи

Параметры:

ИмяВТипОбязательноОписание
idqueryarrayДаСписок частей статьи.

Ответ (200):

[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "code": "part-1",
    "title": "Introduction",
    "orderNumber": 1,
    "content": "Introduction content."
  }
]

GET /questionnaire/rag/article/revisions#

Краткое описание: Возвращает список ревизий статьи

Параметры:

ИмяВТипОбязательноОписание
codequerystringДаКод статьи.

Ответ (200):

[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "collectionId": "00000000-0000-0000-0000-000000000000",
    "rev": 1,
    "date": "2025-01-15T10:30:00Z",
    "author": {
      "id": "user123",
      "name": "John Doe",
      "email": "john.doe@example.com",
      "login": "johndoe",
      "ra": true
    },
    "authorName": "John Doe",
    "analysisSummary": {
      "id": "00000000-0000-0000-0000-000000000000",
      "initiator": {
        "id": "user123",
        "name": "John Doe",
        "email": "john.doe@example.com",
        "login": "johndoe",
        "ra": true
      },
      "created": "2025-01-15T10:30:00Z",
      "state": "Completed",
      "stateDate": "2025-01-15T10:35:00Z",
      "stateDetails": "Analysis completed",
      "operationId": "op-12345"
    }
  }
]

GET /questionnaire/rag/article/revisions/info/{id}#

Краткое описание: Получить информацию о ревизии статьи

Параметры:

ИмяВТипОбязательноОписание
idpathstring (uuid)ДаИдентификатор ревизии.

Ответ (200):

{
  "id": "00000000-0000-0000-0000-000000000000",
  "collectionId": "00000000-0000-0000-0000-000000000000",
  "rev": 1,
  "date": "2025-01-15T10:30:00Z",
  "author": {
    "id": "user123",
    "name": "John Doe",
    "email": "john.doe@example.com",
    "login": "johndoe",
    "ra": true
  },
  "authorName": "John Doe",
  "analysisSummary": {
    "id": "00000000-0000-0000-0000-000000000000",
    "initiator": {
      "id": "user123",
      "name": "John Doe",
      "email": "john.doe@example.com",
      "login": "johndoe",
      "ra": true
    },
    "created": "2025-01-15T10:30:00Z",
    "state": "Completed",
    "stateDate": "2025-01-15T10:35:00Z",
    "stateDetails": "Analysis completed",
    "operationId": "op-12345"
  }
}

GET /questionnaire/rag/article/revisions/{id}#

Краткое описание: Получить содержимое ревизии статьи

Параметры:

ИмяВТипОбязательноОписание
idpathstring (uuid)ДаИдентификатор ревизии.

Ответ (200):

"# Article Revision Content\n\nPrevious version."

GET /questionnaire/rag/article/analyze#

Краткое описание: Проанализировать содержимое статьи с помощью ИИ

Параметры:

ИмяВТипОбязательноОписание
codequerystringДаКод статьи.
revqueryinteger (int32)НетНомер ревизии.
forcequerybooleanНетПринудительно создать новый анализ и удалить предыдущий незавершённый результат, если он существует.

Ответ (200):

{
  "id": "00000000-0000-0000-0000-000000000000",
  "initiator": {
    "id": "user123",
    "name": "John Doe",
    "email": "john.doe@example.com",
    "login": "johndoe",
    "ra": true
  },
  "created": "2025-01-15T10:30:00Z",
  "state": "Completed",
  "stateDate": "2025-01-15T10:35:00Z",
  "stateDetails": "Analysis completed",
  "operationId": "op-12345"
}

GET /questionnaire/rag/article/analyze/{id}#

Краткое описание: Получить результат анализа статьи

Параметры:

ИмяВТипОбязательноОписание
idpathstring (uuid)ДаИдентификатор анализа.

Ответ (200):

{
  "id": "00000000-0000-0000-0000-000000000000",
  "initiator": {
    "id": "user123",
    "name": "John Doe",
    "email": "john.doe@example.com",
    "login": "johndoe",
    "ra": true
  },
  "created": "2025-01-15T10:30:00Z",
  "state": "Completed",
  "stateDate": "2025-01-15T10:35:00Z",
  "stateDetails": "Analysis completed",
  "operationId": "op-12345",
  "fragments": [
    "fragment-1",
    "fragment-2"
  ],
  "ownInconcies": "Own inconsistencies found",
  "ragInconcies": "RAG inconsistencies found",
  "proposals": "Improvement proposals"
}

GET /questionnaire/rag/messages/list#

Краткое описание: Список всех сообщений

Параметры:

ИмяВТипОбязательноОписание
idquerystring (uuid)ДаИдентификатор коллекции RAG.
itemquerystring (uuid)НетИдентификатор элемента RAG.
messagequerystring (uuid)НетИдентификатор сообщения.
ascquerybooleanНетСортировка по возрастанию.
psqueryinteger (int32)НетРазмер страницы.
pqueryinteger (int32)НетНомер страницы (начиная с 1).

Ответ (200):

{
  "paging": {
    "pageNumber": 1,
    "pageSize": 10,
    "total": 5,
    "totalPages": 1
  },
  "items": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "replyTo": null,
      "questionnaire": null,
      "section": null,
      "question": null,
      "ragCollection": "00000000-0000-0000-0000-000000000000",
      "ragItem": "00000000-0000-0000-0000-000000000000",
      "targetId": "00000000-0000-0000-0000-000000000000",
      "targetType": "Question",
      "targetNum": 1,
      "author": {
        "id": "user123",
        "name": "John Doe",
        "email": "john.doe@example.com",
        "login": "johndoe",
        "ra": true
      },
      "text": "Message content",
      "created": "2025-01-15T10:30:00Z",
      "updated": "2025-01-15T10:30:00Z",
      "replies": 0
    }
  ]
}

POST /questionnaire/rag/messages/add#

Краткое описание: Добавить новое сообщение

Параметры:

ИмяВТипОбязательноОписание
idquerystring (uuid)ДаИдентификатор коллекции RAG.
itemquerystring (uuid)НетИдентификатор элемента RAG.
messagequerystring (uuid)НетИдентификатор сообщения‑ответа.

Тело запроса:

{
  "text": "New message content"
}

Ответ (200):

{
  "id": "00000000-0000-0000-0000-000000000000",
  "replyTo": null,
  "questionnaire": null,
  "section": null,
  "question": null,
  "ragCollection": "00000000-0000-0000-0000-000000000000",
  "ragItem": "00000000-0000-0000-0000-000000000000",
  "targetId": "00000000-0000-0000-0000-000000000000",
  "targetType": "Question",
  "targetNum": 1,
  "author": {
    "id": "user123",
    "name": "John Doe",
    "email": "john.doe@example.com",
    "login": "johndoe",
    "ra": true
  },
  "text": "New message content",
  "created": "2025-01-15T10:30:00Z",
  "updated": "2025-01-15T10:30:00Z",
  "replies": 0
}

POST /questionnaire/rag/message#

Краткое описание: Обновить существующее сообщение

Параметры:

ИмяВТипОбязательноОписание
cquerystring (uuid)ДаИдентификатор коллекции RAG.
idquerystring (uuid)ДаИдентификатор сообщения.

Тело запроса:

{
  "text": "Updated message content"
}

Ответ (200):

{
  "id": "00000000-0000-0000-0000-000000000000",
  "replyTo": null,
  "questionnaire": null,
  "section": null,
  "question": null,
  "ragCollection": "00000000-0000-0000-0000-000000000000",
  "ragItem": "00000000-0000-0000-0000-000000000000",
  "targetId": "00000000-0000-0000-0000-000000000000",
  "targetType": "Question",
  "targetNum": 1,
  "author": {
    "id": "user123",
    "name": "John Doe",
    "email": "john.doe@example.com",
    "login": "johndoe",
    "ra": true
  },
  "text": "Updated message content",
  "created": "2025-01-15T10:30:00Z",
  "updated": "2025-01-15T10:45:00Z",
  "replies": 0
}

DELETE /questionnaire/rag/message#

Краткое описание: Удалить существующее сообщение

Параметры:

ИмяВТипОбязательноОписание
idquerystring (uuid)ДаИдентификатор сообщения.

Ответ (200):

{}

RagFaq#

GET /questionnaire/rag/faq-collections/summary#

Краткое описание: Сводка для главной страницы

Параметры:

ИмяВТипОбязательноОписание
projquerystring (uuid)НетИдентификатор проекта.

Ответ (200):

{
  "active": 3
}

GET /questionnaire/rag/faq-collections/total#

Краткое описание: Количество коллекций FAQ.

Параметры:

ИмяВТипОбязательноОписание
qquerystringНетФильтр по названию или коду коллекции.
statequeryarrayНетФильтр по статусам.
projectqueryarrayНетФильтр по проектам.

Ответ (200):

3

GET /questionnaire/rag/faq-collections/list#

Краткое описание: Получить список коллекций FAQ.

Параметры:

ИмяВТипОбязательноОписание
qquerystringНетФильтр по названию или коду коллекции.
statequeryarrayНетФильтр по статусам.
projectqueryarrayНетФильтр по проектам.
squerystringНетПоле сортировки.
ascquerybooleanНетСортировка по возрастанию.
psqueryinteger (int32)НетРазмер страницы.
pqueryinteger (int32)НетНомер страницы (начиная с 1).

Ответ (200):

{
  "paging": {
    "pageNumber": 1,
    "pageSize": 10,
    "total": 3,
    "totalPages": 1
  },
  "items": [
    {
      "code": "FAQ-001",
      "org": "00000000-0000-0000-0000-000000000000",
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "FAQ Collection",
      "description": "FAQ collection description",
      "documentTypes": null,
      "size": 5,
      "revision": null,
      "type": "Faq",
      "state": "Active",
      "projects": null,
      "items": null,
      "isShared": false
    }
  ]
}

GET /questionnaire/rag/faq-collections/find-items#

Краткое описание: Найти элементы FAQ.

Параметры:

ИмяВТипОбязательноОписание
qquerystringДаФильтр по вопросу.
projectquerystring (uuid)НетФильтр по проекту.
psqueryinteger (int32)НетРазмер страницы.
pqueryinteger (int32)НетНомер страницы (начиная с 1).

Ответ (200):

{
  "paging": {
    "pageNumber": 1,
    "pageSize": 10,
    "total": 5,
    "totalPages": 1
  },
  "items": [
    {
      "index": 0,
      "question": "What is this product?",
      "answer": "This is a great product.",
      "comment": "Product FAQ",
      "state": "Active"
    }
  ]
}

POST /questionnaire/rag/faq-collection/create#

Краткое описание: Создать новую коллекцию FAQ.

Тело запроса (multipart/form-data):

{
  "code": "FAQ-001",
  "name": "FAQ Collection",
  "description": "FAQ collection description",
  "content": "Content here",
  "file": "binary"
}

Ответ (200):

{
  "code": "FAQ-001",
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "FAQ Collection",
  "description": "FAQ collection description",
  "documentTypes": null,
  "size": 5,
  "revision": null,
  "type": "Faq",
  "state": "Active",
  "projects": null,
  "items": null,
  "isShared": false
}

POST /questionnaire/rag/faq-collection#

Краткое описание: Обновить метаданные коллекции FAQ.

Тело запроса:

{
  "code": "FAQ-001",
  "name": "Updated FAQ Collection",
  "description": "Updated description",
  "projects": null,
  "documentTypes": null,
  "isShared": false,
  "state": "Active"
}

DELETE /questionnaire/rag/faq-collection#

Краткое описание: Удалить коллекцию FAQ.

Параметры:

ИмяВТипОбязательноОписание
codequerystringДаКод коллекции.

GET /questionnaire/rag/faq-collection#

Краткое описание: Получить коллекцию FAQ.

Параметры:

ИмяВТипОбязательноОписание
codequerystringДаКод коллекции.

Ответ (200):

{
  "code": "FAQ-001",
  "org": "00000000-0000-0000-0000-000000000000",
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "FAQ Collection",
  "description": "FAQ collection description",
  "documentTypes": null,
  "size": 5,
  "revision": null,
  "type": "Faq",
  "state": "Active",
  "projects": null,
  "items": null,
  "isShared": false
}

GET /questionnaire/rag/faq-collection/check#

Краткое описание: Проверить существование коллекции FAQ.

Параметры:

ИмяВТипОбязательноОписание
codequerystringДаКод коллекции.

Ответ (200):

true

GET /questionnaire/rag/faq-collection/items-total#

Краткое описание: Количество элементов FAQ.

Параметры:

ИмяВТипОбязательноОписание
codequerystringДаКод коллекции.
qquerystringНетФильтр по содержимому элемента FAQ.

Тело запроса:

["Active", "Default"]

Ответ (200):

5

GET /questionnaire/rag/faq-collection/items#

Краткое описание: Получить список элементов FAQ.

Параметры:

ИмяВТипОбязательноОписание
codequerystringДаКод коллекции.
qquerystringНетФильтр по содержимому элемента FAQ.
statequeryarrayНетФильтр по статусам.
squerystringНетПоле сортировки.
ascquerybooleanНетСортировка по возрастанию.
psqueryinteger (int32)НетРазмер страницы.
pqueryinteger (int32)НетНомер страницы (начиная с 1).

Ответ (200):

{
  "paging": {
    "pageNumber": 1,
    "pageSize": 10,
    "total": 5,
    "totalPages": 1
  },
  "items": [
    {
      "index": 0,
      "question": "What is this product?",
      "answer": "This is a great product.",
      "comment": "Product FAQ",
      "state": "Active"
    }
  ]
}

POST /questionnaire/rag/faq-collection/item/create#

Краткое описание: Создать новый элемент FAQ.

Тело запроса:

{
  "code": "FAQ-001",
  "index": 0,
  "question": "What is this product?",
  "answer": "This is a great product.",
  "comment": "Product FAQ",
  "state": "Active"
}

Ответ (200):

{
  "index": 0,
  "question": "What is this product?",
  "answer": "This is a great product.",
  "comment": "Product FAQ",
  "state": "Active"
}

GET /questionnaire/rag/faq-collection/item#

Краткое описание: Получить элемент FAQ.

Параметры:

ИмяВТипОбязательноОписание
codequerystringДаКод коллекции.
indexqueryinteger (int32)ДаНулевой индекс элемента FAQ в коллекции.

Ответ (200):

{
  "index": 0,
  "question": "What is this product?",
  "answer": "This is a great product.",
  "comment": "Product FAQ",
  "state": "Active"
}

POST /questionnaire/rag/faq-collection/item#

Краткое описание: Обновить элемент FAQ.

Тело запроса:

{
  "code": "FAQ-001",
  "index": 0,
  "newIndex": 1,
  "question": "Updated question?",
  "answer": "Updated answer.",
  "comment": "Updated comment",
  "state": "Active"
}

DELETE /questionnaire/rag/faq-collection/item#

Краткое описание: Удалить элемент FAQ.

Параметры:

ИмяВТипОбязательноОписание
codequerystringДаКод коллекции.
indexqueryinteger (int32)ДаНулевой индекс элемента FAQ в коллекции.

RagQuery#

POST /questionnaire/rag/query#

Краткое описание: Выполнить запрос в базе знаний RAG

Тело запроса:

{
  "project": "00000000-0000-0000-0000-000000000000",
  "excludeCollections": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "question": "What is this product?",
  "yourCompanyName": "Acme Corp",
  "yourCompanyAlias": "Acme",
  "customerName": "John Doe",
  "options": [
    "option1",
    "option2"
  ],
  "multiselect": false,
  "nArticles": 5,
  "nFaqs": 3,
  "threshold": 0.5,
  "debug": false,
  "withJustification": true,
  "withConfidenceLevel": true,
  "withFragments": true,
  "nAttempts": 3
}

Ответ (200):

{
  "attempt": 1,
  "preparedQuery": {
    "original": "What is this product?",
    "enhanced": "What is this product and its features?"
  },
  "ragItems": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "distance": 0.25
    }
  ],
  "question": "What is this product?",
  "generalInstructions": "Based on the knowledge base, here is the answer:",
  "text": "This product is a great solution for your needs.",
  "explanation": "The answer was found in multiple sources with high confidence."
}

POST /questionnaire/rag/query-stream#

Краткое описание: Выполнить запрос в базе знаний RAG (стрим)

Тело запроса:

{
  "project": "00000000-0000-0000-0000-000000000000",
  "excludeCollections": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "question": "What is this product?",
  "yourCompanyName": "Acme Corp",
  "yourCompanyAlias": "Acme",
  "customerName": "John Doe",
  "options": [
    "option1",
    "option2"
  ],
  "multiselect": false,
  "nArticles": 5,
  "nFaqs": 3,
  "threshold": 0.5,
  "debug": false,
  "withJustification": true,
  "withConfidenceLevel": true,
  "withFragments": true,
  "nAttempts": 3
}

Ответ (200):

[
  {
    "text": "This product is a great solution",
    "fragments": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "part": 1,
        "distance": 0.25,
        "type": "Article",
        "code": "ART-001",
        "title": "Product Title",
        "fragment": "Product content fragment"
      }
    ]
  },
  {
    "text": " for your needs.",
    "fragments": []
  }
]

POST /questionnaire/rag/query-fragments#

Краткое описание: Выполнить запрос в базе знаний RAG (фрагменты)

Тело запроса:

{
  "project": "00000000-0000-0000-0000-000000000000",
  "exclude_documents": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "query": "What is this product?",
  "top_k": 5,
  "similarity_threshold": 0.5,
  "prepare_query": true
}

Ответ (200):

{
  "results": [
    {
      "document_id": "00000000-0000-0000-0000-000000000000",
      "document_code": "ART-001",
      "document_title": "Product Title",
      "revision": 3,
      "chunk_index": 0,
      "content": "Product content fragment",
      "metadata": {
        "author": "John Doe",
        "created_at": "2025-01-15T10:30:00Z",
        "last_updated_at": "2025-01-15T10:35:00Z",
        "doc_categories": [
          "Product",
          "Information"
        ]
      },
      "similarity_score": 0.85
    }
  ]
}

Связанные статьи#

наверх
Выберите язык