Создание ассистента (загрузка документов)
При загрузке документов запускается автоматический многоступенчатый процесс обработки файлов, включая анализ структуры, обогащение ключевыми словами и т.д. Это ключевой этап, который позволяет эффективно искать по вашей базе знаний.
Облачный 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 основных вопроса:
- Кто будет использовать умный поиск?
- Какой основной сценарий использования?
- Что самое важное в ответах / чего точно стоит избегать?
Пример пользовательской истории (рекомендуется использовать похожий формат): Я, как покупатель интернет магазина, хочу решить нестандартную проблему и обращаюсь в поддержку. Задав вопрос я хочу увидеть короткий и исчерпывающий ответ, содержащий всю необходимую информацию. Искажение фактов для меня самая серьезная проблема. В зависимости от вопроса не полное изложение фактов тоже может быть проблемой. Избыточные факты, относящиеся к делу для меня не проблема.
- Python
- cURL
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)
# при локальном запуске замените на ваш url, например http://localhost:8000//bot/{assistant_id}
# при локальном запуске вы можете не требовать токен авторизации или создать свой
curl -X PUT "http://console.insightstream.ru:8000/bot/{assistant_id}" \
-H "Authorization: Bearer ваш_токен_InsightStream" \
-F "files=@/path/to/example1.docx;type=application/vnd.openxmlformats-officedocument.wordprocessingml.document" \
-F "files=@/path/to/example2.pdf;type=application/pdf" \
-F "files=@/path/to/example3.txt;type=text/plain" \
-F "user_story=Пользовательская история"
Ответы:
- 200 OK: Процесс индексации успешно запущен.
- 422 Validation Error: Ошибка валидации.
Проверка статуса индексации
Проверяет статус процесса индексации для ассистента с указанным идентификатором.
- Python
- cURL
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)
# при локальном запуске замените на ваш url, например http://localhost:8000//bot/{assistant_id}
# при локальном запуске вы можете не требовать токен авторизации или создать свой
curl "http://console.insightstream.ru:8000/bot/{assistant_id}" \
-H "Authorization: Bearer ваш_токен_InsightStream" \
Ответы на запрос:
- 200 OK: Возвращает текущий статус процесса индексации бота.
- 422 Validation Error: Ошибка валидации запроса.