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

Поиск информации

В данном разделе описывается использование API для выполнения поисковых запросов по документам, загруженным в систему InsightStream. После успешной индексации документов ассистент может отвечать на вопросы, используя проиндексированные данные, и предоставлять ссылки на исходные материалы.

Отправка запроса для поиска

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

Ниже приведены примеры отправки запроса с использованием Python и cURL.

import requests

# Замените на ваш assistant_id и токен
assistant_id = "1234"
token = "ваш_токен_InsightStream"

# Текст вопроса к ассистенту
search_query = "Ваш вопрос к ассистенту"

# Определение URL
url = f"http://адрес_или_доменное_имя_сервера:8080/{assistant_id}/api_v1/answers"

headers = {
"Authorization": f"Bearer {token}"
}

params = {
"search_query": search_query,
"sync": 1
}

# Выполнение GET-запроса
response = requests.get(url, headers=headers, params=params)

# Вывод статуса и ответа
print(response.status_code, response.text)

Ответ на запрос

При успешном выполнении запроса сервер возвращает HTTP статус 200 OK и JSON-объект с результатом поиска. Возможные коды ответа:

  • 200 OK: Запрос выполнен успешно.
  • 400 Bad Request: Некорректные входные данные.
  • 404 Not Found: Ассистент не найден или индексация не завершена.
  • 429 Too Many Requests: Превышен лимит запросов.

Пример ответа

{
"summary": "Суточные выплачиваются в течение установленного срока после проверки документов через 5 дней.",
"documents": [
{
"title": "example_1.pdf",
"uri": "https://bot.insightstream.ru/documents/tmp/example_1.pdf",
"passage_md": "Контроль за соблюдением данных правил возлагается на HR-отдел и бухгалтерию.",
"doc_type": "application/pdf",
"loc": {
"from": 0,
"to": 1
}
}
],
"relevant_questions": [
"Что делать, если обнаружены ошибки в отчете о командировке?",
"Каков срок подачи отчета о командировке для получения суточных?",
"Какие документы необходимо предоставить для получения суточных?"
]
}

Объяснение параметров ответа

  • summary: Основной ответ на заданный вопрос.
  • documents: Массив объектов с информацией о документах, использованных для формирования ответа:
    • title: Название документа.
    • uri: Прямая ссылка для доступа к документу.
    • passage_md: Фрагмент документа, использованный при формировании ответа.
    • doc_type: MIME-тип документа (например, application/pdf).
    • loc: Диапазон символов, указывающий, с какого по какой символ взят фрагмент.
  • relevant_questions: Список вопросов, схожих с заданным, которые могут быть полезны для дальнейшего уточнения информации.