Архив рубрики ~Лента новостей~

Персональные агентские помощники: практический план создания безопасного многопользовательского чат-бота с собственным хостингом

Персональные агентские помощники: практический план создания безопасного многопользовательского чат-бота с собственным хостингом

Создайте самостоятельную, комплексную платформу, которая предоставит каждому пользователю персонального агентского чат-бота, способного автономно выполнять векторный поиск по файлам, к которым пользователь явно разрешил ему доступ.

Делиться

NOVOSTI

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

Другими словами: полный контроль, 100% конфиденциальность, все преимущества LLM без утечек конфиденциальной информации, затрат на токены или внешних зависимостей.

Вступление

На прошлой неделе я поставил перед собой задачу воплотить в жизнь то, о чем я думал уже некоторое время:

Как можно наделить LLM своими персональными данными, не жертвуя при этом конфиденциальностью в пользу крупных технологических компаний?

Это привело к заданию этой недели:

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

В качестве дополнительной задачи я хотел, чтобы система поддерживала нескольких пользователей. Не общего помощника, а личного агента для каждого пользователя , который мог бы полностью контролировать, какие файлы его агент может читать и о каких файлах он может делать выводы.

Мы построим систему в следующие этапы:

  1. Архитектура
  2. Как создать агента и снабдить его инструментами?
  3. Поток 1: Управление файлами пользователей: что происходит, когда мы отправляем файл?
  4. Поток 2: Как встраивать документы и хранить файлы?
  5. Поток 3: Что происходит, когда мы общаемся с нашим помощником-агентом?
  6. Демонстрация

1) Архитектура

Я определил три основных «потока», которые должна допускать система:

А) Управление файлами пользователей
Пользователи проходят аутентификацию через интерфейс, загружают или удаляют файлы и назначают каждый файл определенным группам, которые определяют, какие агенты пользователей могут получить к нему доступ.

Б) Внедрение и хранение файлов
Загружаемые файлы группируются, встраиваются и хранятся в базе данных таким образом, что только авторизованные пользователи могут извлекать или искать эти встраивания.

В) Чат
Пользователь общается со своим агентом. Агент оснащён инструментами, включая инструмент семантического векторного поиска, и может искать только те документы, к которым у пользователя есть разрешение на доступ.

Для поддержки этих потоков система состоит из шести ключевых компонентов:

Приложение
Приложение Python, являющееся сердцем системы. Оно предоставляет конечные точки API для фронтенда и прослушивает сообщения, поступающие из очереди сообщений.

Внешний интерфейс
Обычно я использую Angular, но для этого прототипа я выбрал Streamlit. Он очень быстрый и простой в разработке. Конечно, эта простота использования имела и свои недостатки: я не мог реализовать всё, что хотел. Я планирую заменить этот компонент на свой любимый Angluar, но, на мой взгляд, Streamlit очень хорошо подошёл для прототипирования.

Хранилище BLOB-объектов
Этот контейнер использует Minio — высокопроизводительную распределённую систему хранения объектов с открытым исходным кодом. Конечно, это излишество для моего прототипа, но он очень прост в использовании и хорошо интегрируется с Python, так что я ни о чём не жалею.

(Векторная) База данных
Postgres обрабатывает все реляционные данные, такие как метаданные документа, пользователи, группы пользователей и текстовые фрагменты. Кроме того, Postgres предлагает расширение, которое я использую для сохранения векторных данных, таких как вложения, которые мы хотим создать. Это очень удобно для моего случая, поскольку я могу разрешить поиск по вектору в таблице, соединив её с таблицей пользователей, гарантируя, что каждый пользователь будет видеть только свои данные.

Оллама
Ollama предлагает две локальные модели: одну для встраивания и одну для чата. Модели довольно лёгкие, но их можно легко модернизировать в зависимости от доступного оборудования.

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

Источник: towardsdatascience.com

Оцените материал:

Поделиться
Понравилась статья? Расскажите другим
ВКонтакте
Читайте также
Новости робототехники Почему команды робототехники переосмысливают каждый этап своего производства дорожной карты Архив рубрики ~Обо всем~ Первый эпизод серии Inside Microsoft Foundry: Quickstart отвечает на… Архив рубрики ~Коротко из Telegram~ Liberté, égalité, fraternité… majorité numérique Президент Франции Эммануэль Макрон призвал… Архив рубрики ~Коротко из Telegram~ Обратный квантовый скачок Компания NEC, стоявшая у истоков сверхпроводниковых квантовых… Архив рубрики ~Коротко из Telegram~ Смартфоны ждёт беспамятство  Смартфоны по всему миру подорожали в среднем… Архив рубрики ~Коротко из Telegram~ Не биткоины надо было покупать Биткоин больше не самый безумный… Архив рубрики ~Коротко из Telegram~ Genspark запустила бесплатный GenOffice — офисный пакет со встроенным ИИ… Архив рубрики ~Коротко из Telegram~ Ослепший художник снова создаёт иллюстрации с помощью ИИ Джон Пол… Архив рубрики ~Коротко из Telegram~ В мае 2026 года группа автономных агентов OpenAI получила доступ… Архив рубрики ~Коротко из Telegram~ Длинные цепочки рассуждений раздувают KV-кеш модели, съедая память. Все… Архив рубрики ~Полезное~ Превращаем что угодно в ИИ-агентов DeepSeek показал Harness – среду,… Архив рубрики ~Полезное~ Тренируемся с личным ИИ тренером Нашли сервис, который бесплатно… Архив рубрики ~Коротко из Telegram~ Похоже, на подходе ещё две задачи тысячелетия. По слухам, OpenAI… Архив рубрики ~Полезное~ DeepSeek выкатили V4.1-Flash с пониманием картинок и контекстом на миллион… Новости робототехники Почему команды робототехники переосмысливают каждый этап своего производства дорожной карты Архив рубрики ~Обо всем~ Первый эпизод серии Inside Microsoft Foundry: Quickstart отвечает на… Архив рубрики ~Коротко из Telegram~ Liberté, égalité, fraternité… majorité numérique Президент Франции Эммануэль Макрон призвал… Архив рубрики ~Коротко из Telegram~ Обратный квантовый скачок Компания NEC, стоявшая у истоков сверхпроводниковых квантовых… Архив рубрики ~Коротко из Telegram~ Смартфоны ждёт беспамятство  Смартфоны по всему миру подорожали в среднем… Архив рубрики ~Коротко из Telegram~ Не биткоины надо было покупать Биткоин больше не самый безумный… Архив рубрики ~Коротко из Telegram~ Genspark запустила бесплатный GenOffice — офисный пакет со встроенным ИИ… Архив рубрики ~Коротко из Telegram~ Ослепший художник снова создаёт иллюстрации с помощью ИИ Джон Пол… Архив рубрики ~Коротко из Telegram~ В мае 2026 года группа автономных агентов OpenAI получила доступ… Архив рубрики ~Коротко из Telegram~ Длинные цепочки рассуждений раздувают KV-кеш модели, съедая память. Все… Архив рубрики ~Полезное~ Превращаем что угодно в ИИ-агентов DeepSeek показал Harness – среду,… Архив рубрики ~Полезное~ Тренируемся с личным ИИ тренером Нашли сервис, который бесплатно… Архив рубрики ~Коротко из Telegram~ Похоже, на подходе ещё две задачи тысячелетия. По слухам, OpenAI… Архив рубрики ~Полезное~ DeepSeek выкатили V4.1-Flash с пониманием картинок и контекстом на миллион…