Обращение к ассистенту (вопрос-ответ)
Когда мы загрузили и обработали документы из базы знаний, мы можем задать вопрос конкретному ассистенту и получить точный ответ с указанием источника.
Основной URL для обращения к API: https://bot.insightstream.ru
Отправка вопроса для получения ответа
GET /{bot_id}/api_v1/answers
После отправки запроса ассистент выполнит поиск в проиндексированных документах и вернет ответ с указанием источников.
- Python
- cURL
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)
curl -G "https://bot.insightstream.ru/my_search_bot/api_v1/answers" \
--data-urlencode "search_query=Какие критерии оценки срочности?" \
--data "sync=1"
Параметры запроса
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
search_query | string | Да | Вопрос, который вы задаете ассистенту |
sync | integer | Нет | Если установлено значение 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_type | MIME-тип документа (например, PDF, DOCX и т.д.) |
relevant_questions | Список похожих вопросов, которые можно задать ассистенту |