Поиск информации
В данном разделе описывается использование API для выполнения поисковых запросов по документам, загруженным в систему InsightStream. После успешной индексации документов ассистент может отвечать на вопросы, используя проиндексированные данные, и предоставлять ссылки на исходные материалы.
Отправка запроса для поиска
После получения запроса ассистент выполняет поиск по базе знаний и возвращает результат с кратким ответом, а также информацией о найденных документах.
Ниже приведены примеры отправки запроса с использованием Python и cURL.
- 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)
curl -G "http://адрес_или_доменное_имя_сервера:8080/{assistant_id}/api_v1/answers" \
-H "Authorization: Bearer ваш_токен_InsightStream" \
--data-urlencode "search_query=Ваш вопрос к ассистенту" \
--data "sync=1"
Ответ на запрос
При успешном выполнении запроса сервер возвращает 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: Список вопросов, схожих с заданным, которые могут быть полезны для дальнейшего уточнения информации.