QAS. Руководство пользователя: различия между версиями
Материал из Флора AI
E.Elagina (обсуждение | вклад) |
E.Elagina (обсуждение | вклад) |
||
| Строка 26: | Строка 26: | ||
|/qas/doc | |/qas/doc | ||
|POST | |POST | ||
|Метод используется для добавления нового документа в базу данных. | |Метод используется для добавления нового документа в базу данных. Загружаемый файл должен быть в формате txt | ||
| | | | ||
* '''title''' - заголовок файла. | * '''title''' - заголовок файла. | ||
* '''category''' - категория документа. | * '''category''' - категория документа. | ||
* '''text''' - поле для загрузки файла. | * '''text''' - поле для загрузки файла. | ||
|Пример: | |Успешное выполнение метода возвращает сообщение об успешном добавлении файла и присвоенном ему идентификатору. | ||
Пример: | |||
<code>{"error": 0, "message": "success", "id": "92da6b1968616db4e8d3981c62e0f71f"}</code> | <code>{"error": 0, "message": "success", "id": "92da6b1968616db4e8d3981c62e0f71f"}</code> | ||
|- | |- | ||
| Строка 38: | Строка 39: | ||
|Метод генерирует ответ на поставленный вопрос на основе информации из документов | |Метод генерирует ответ на поставленный вопрос на основе информации из документов | ||
| | | | ||
*'''text''' - | *'''text''' - текст вопроса, на основе которого будут искаться фрагменты. | ||
* '''category''' - категория документа. | * '''category''' - категория документа. | ||
| | | | ||
Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение. | |||
<code>{ "error": 0, "answer": "''ответ на вопрос''"}</code> | <code>{ "error": 0, "answer": "''ответ на вопрос''"}</code> | ||
| Строка 50: | Строка 50: | ||
|Поиск фрагмента (фрагментов) в документах указанной категории по заданному вопросу | |Поиск фрагмента (фрагментов) в документах указанной категории по заданному вопросу | ||
| | | | ||
* '''text''' - | * '''text''' - текст вопроса, на основе которого будут искаться фрагменты. | ||
* '''category''' - категория документа. | * '''category''' - категория документа. | ||
|На выходе 2 фрагмента из документа указанной категории. Поиск нужного фрагмента осуществляется с помощью векторизации: выбирается ближайшее предложение по вектору из текста, добавляются по 5 фраз до и после фразы-вопроса — это и является результатом работы метода. | |На выходе 2 фрагмента из документа указанной категории. Поиск нужного фрагмента осуществляется с помощью векторизации: выбирается ближайшее предложение по вектору из текста, добавляются по 5 фраз до и после фразы-вопроса — это и является результатом работы метода в формате JSON, его так же можно скачать. В случае ошибки возвращается информация об ошибке. | ||
|- | |- | ||
|/qas/doc/{id} | |/qas/doc/{id} | ||
|GET | |GET | ||
|Метод | |Метод получает текст документа из базы данных по его идентификатору | ||
|'''id''' - идентификатор документа. | | | ||
|На выходе полный текст документа, соответствующий указанному идентификатору. | * '''id''' - идентификатор документа. | ||
|На выходе полный текст документа, соответствующий указанному идентификатору. При успешном выполнении метода выдается тест документа в формате JSON. В случае отсутствия документа с указанным идентификатором появится сообщение об ошибке: | |||
<code>{ "error": 1, "message": "text not found"}</code> | |||
|- | |- | ||
|/qas/doc/{id} | |/qas/doc/{id} | ||
|DELETE | |DELETE | ||
| | |Метод предназначен для удаления документа из базы по его ID | ||
|'''id''' - идентификатор документа. | | | ||
* '''id''' - идентификатор документа. | |||
|<code>{"error": 0, "message": "success"}</code> | |<code>{"error": 0, "message": "success"}</code> | ||
|- | |- | ||
Версия от 12:41, 27 февраля 2024
Общее описание
Сервис предназначен для поиска ответа на заданный вопрос. Входным значением для сервиса являются данные в текстовом формате. В ответ на входящий запрос сервис возвращает данные в формате JSON.
Термины и определения
Question Answering System (QAS) – сервис ответов на вопросы.
Описание методов API
Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом QAS. По умолчанию используется порт 6187/tcp.
Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок "accept: application/json"
Ответ сервиса представляет собой JSON-документ в кодировке UTF-8 или двоичный файл. Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6187 будет отображен интерфейс swagger со всеми методами с возможностью их проверки.
| Метод | Тип | Описание | Входные параметры | Ответ |
|---|---|---|---|---|
| /qas/doc | POST | Метод используется для добавления нового документа в базу данных. Загружаемый файл должен быть в формате txt |
|
Успешное выполнение метода возвращает сообщение об успешном добавлении файла и присвоенном ему идентификатору.
Пример:
|
| /qas/doc/ask | GET | Метод генерирует ответ на поставленный вопрос на основе информации из документов |
|
Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.
|
| /qas/doc/search | GET | Поиск фрагмента (фрагментов) в документах указанной категории по заданному вопросу |
|
На выходе 2 фрагмента из документа указанной категории. Поиск нужного фрагмента осуществляется с помощью векторизации: выбирается ближайшее предложение по вектору из текста, добавляются по 5 фраз до и после фразы-вопроса — это и является результатом работы метода в формате JSON, его так же можно скачать. В случае ошибки возвращается информация об ошибке. |
| /qas/doc/{id} | GET | Метод получает текст документа из базы данных по его идентификатору |
|
На выходе полный текст документа, соответствующий указанному идентификатору. При успешном выполнении метода выдается тест документа в формате JSON. В случае отсутствия документа с указанным идентификатором появится сообщение об ошибке:
|
| /qas/doc/{id} | DELETE | Метод предназначен для удаления документа из базы по его ID |
|
{"error": 0, "message": "success"}
|
| /qas/list/ | GET | Получение списка всех документов | - | Пример:
[
{
"id": "Идентификатор документа",
"title": "Название документа",
"category": "Категория документа"
},
{
"id": "Идентификатор документа",
"title": "Название документа",
"category": "Категория документа"
}, ......
|
| /qas/reinit | GET | Метод для обновления базы данных | - | {"error": 0, "message": "success"}
|