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

Обращение к ассистенту (вопрос-ответ)

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

Основной URL для обращения к API: https://bot.insightstream.ru

Отправка вопроса для получения ответа

GET /{bot_id}/api_v1/answers

После отправки запроса ассистент выполнит поиск в проиндексированных документах и вернет ответ с указанием источников.

import requests

# Замените на ID вашего ассистента
bot_id = "my_search_bot"

# Замените на ваш вопрос
search_query = "Какие критерии оценки срочности?"

# Формируем URL для запроса
url = f"https://bot.insightstream.ru/{bot_id}/api_v1/answers"

# Параметры запроса
params = {
"search_query": search_query,
"sync": 1 # Синхронный запрос для получения ответа немедленно
}

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

# Проверка статуса ответа
if response.status_code == 200:
# Получаем JSON-ответ
answer_data = response.json()

# Выводим ответ
print(f"Ответ: {answer_data['summary']}")

# Выводим источники
print("\nИсточники:")
for doc in answer_data["documents"]:
print(f"- {doc['title']}: {doc['passage_md']}")
print(f" URL: {doc['uri']}")

# Выводим релевантные вопросы
if "relevant_questions" in answer_data:
print("\nПохожие вопросы:")
for question in answer_data["relevant_questions"]:
print(f"- {question}")
else:
print(f"Ошибка: {response.status_code}")
print(response.text)

Параметры запроса

ПараметрТипОбязательныйОписание
search_querystringДаВопрос, который вы задаете ассистенту
syncintegerНетЕсли установлено значение 1, запрос выполняется синхронно и возвращает ответ немедленно.

Коды ответов

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

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

Базово ответ возвращается в виде json.

{
"summary": "Критерии оценки срочности включают в себя приоритет задачи, влияние на бизнес-процессы, сроки выполнения и ресурсы, необходимые для решения.",
"documents": [
{
"title": "Регламент_оценки_задач.pdf",
"uri": "https://bot.insightstream.ru/documents/tmp/Регламент_оценки_задач.pdf",
"passage_md": "Критерии оценки срочности задач включают: 1) Приоритет - высокий, средний, низкий; 2) Влияние на бизнес-процессы - критическое, существенное, незначительное; 3) Сроки выполнения - немедленно, в течение дня, в течение недели; 4) Необходимые ресурсы.",
"doc_type": "application/pdf",
"loc": {
"from": 12,
"to": 13
}
}
],
"relevant_questions": [
"Как правильно оценить приоритет задачи?",
"Какие задачи относятся к критическим по влиянию на бизнес?",
"Как распределить ресурсы между задачами разной срочности?"
]
}

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

ПараметрОписание
summaryОтвет на заданный вопрос, сформированный на основе найденных документов
documentsСписок документов, которые использовались для формирования ответа
titleНазвание документа
uriСсылка на исходный документ
passage_mdРелевантный отрывок из документа, который использовался для ответа
doc_typeMIME-тип документа (например, PDF, DOCX и т.д.)
relevant_questionsСписок похожих вопросов, которые можно задать ассистенту