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

Создание ассистента (загрузка документов)

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

Облачный URL сервера console.insightstream.ru:8000

Если вы используете локальную версию платформы Compressa, замените на ваш URL сервера InsightStream RAG.

Важно! Для использования облачной версии на наших серверах вам необходимо запросить отдельный токен авторизации у команды Compressa. Токен модуля InsightStream не совпадает с вашим основным токеном от платформы Compressа.

Запуск создания ассистента

Запускает процесс индексации документов (создания ассистента) с указанным вами id. Например, assistant_technical_docs_295.

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

  • files (array, обязательный): Список файлов для индексации (формат multipart/form-data). Доступные форматы - .pdf, .docx, .txt. Ограничения для облачной версии - не более 10 документов для 1 ассистента, объемом не более 50МБ

  • user_story (string, обязательный): Пользовательская история для ассистента (кто и зачем его будет использовать)

примечание

Пользовательская история напрямую влияет на качество индексации и качество ответов для конечного пользователя. Она должна отвечать на 3 основных вопроса:

  • Кто будет использовать умный поиск?
  • Какой основной сценарий использования?
  • Что самое важное в ответах / чего точно стоит избегать?

Пример пользовательской истории (рекомендуется использовать похожий формат): Я, как покупатель интернет магазина, хочу решить нестандартную проблему и обращаюсь в поддержку. Задав вопрос я хочу увидеть короткий и исчерпывающий ответ, содержащий всю необходимую информацию. Искажение фактов для меня самая серьезная проблема. В зависимости от вопроса не полное изложение фактов тоже может быть проблемой. Избыточные факты, относящиеся к делу для меня не проблема.

import requests

# Замените на ваш assistant_id и токен InsightStream
assistant_id = id_вашего_ассистента
token = "ваш_токен_InsightStream" #при локальном запуске вы можете не требовать ключ или создать свой

# Определение URL и заголовков
url = f"http://console.insightstream.ru:8000/bot/{assistant_id}" #при локальном запуске замените на ваш url, например http://localhost:8000//bot/{assistant_id}
headers = {
"Authorization": f"Bearer {token}"
}

# Определение множества файлов для загрузки с примерами для разных форматов
files = [
('files', ('example1.docx', open('/path/to/example1.docx', 'rb'), 'application/vnd.openxmlformats-officedocument.wordprocessingml.document')),
('files', ('example2.pdf', open('/path/to/example2.pdf', 'rb'), 'application/pdf')),
('files', ('example3.txt', open('/path/to/example3.txt', 'rb'), 'text/plain'))
]

data = {
'user_story': 'Пользовательская история'
}

# Выполнение PUT-запроса для загрузки файлов и запуска индексации
response = requests.put(url, headers=headers, files=files, data=data)

# Печать ответа
print(response.status_code, response.text)

Ответы:

  • 200 OK: Процесс индексации успешно запущен.
  • 422 Validation Error: Ошибка валидации.

Проверка статуса индексации

Проверяет статус процесса индексации для ассистента с указанным идентификатором.

import requests

# Замените на ваш assistant_id и токен InsightStream
assistant_id = id_вашего_ассистента
token = "ваш_токен_InsightStream" #при локальном запуске вы можете не требовать ключ или создать свой

# Определение URL и заголовков
url = f"http://console.insightstream.ru:8000/bot/{assistant_id}" #при локальном запуске замените на ваш url, например http://localhost:8000//bot/{assistant_id}
headers = {
"Authorization": f"Bearer {token}"
}

# Выполнение GET-запроса для проверки статуса индексации
response = requests.get(url, headers=headers)

# Печать ответа
print(response.status_code, response.text)

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

  • 200 OK: Возвращает текущий статус процесса индексации бота.
  • 422 Validation Error: Ошибка валидации запроса.