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

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

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

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

Делиться

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

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

Поделиться
Понравилась статья? Расскажите другим
ВКонтакте
Читайте также
Архив рубрики ~Коротко из Telegram~ Нейронку БЕЗ ЦЕНЗУРЫ выпустили в открытый доступ — Gemma 4… Архив рубрики ~Коротко из Telegram~ Нашли комбайн для скачивания видео и музыки практически отовсюду —… Архив рубрики ~Коротко из Telegram~ Инструменты дня 🔍 Кьюи Перепроверяет ChatGPT, Claude и Gemini перед отправкой, потому… Архив рубрики ~Коротко из Telegram~ Kimi K3 нашла уязвимость в Redis за 27 минут Исследователь… Архив рубрики ~Коротко из Telegram~ Alibaba представила мощный движок синтеза речи Qwen-Audio-3.0-TTS Команда Qwen выпустила… Архив рубрики ~Коротко из Telegram~ Lightricks научила ИИ убирать лишних людей и машины с видео… Архив рубрики ~Коротко из Telegram~ Copilot теперь живет в «Проводнике» Windows 11 Microsoft продолжает встраивать… Архив рубрики ~Коротко из Telegram~ GitHub Copilot теперь поддерживает модель Gemini 3.6 Flash GitHub начал… Архив рубрики ~Коротко из Telegram~ Anthropic представила плагин Claude Security для поиска уязвимостей Anthropic выпустила… Архив рубрики ~Коротко из Telegram~ Cursor Router: снижение стоимости запросов к ИИ на 60% Команда… Архив рубрики ~Коротко из Telegram~ Российский разработчик СУБД Postgres Pro может сократить до 30% сотрудников…. Архив рубрики ~Коротко из Telegram~ Veon досрочно выкупил облигации на $886 млн, одновременно разместив новый… Архив рубрики ~Коротко из Telegram~ 💢 Иван Паломарес Каррaскоса (Machine Learning Mastery) разбирает пять стратегий… Архив рубрики ~Коротко из Telegram~ ✅ CEO Cloudflare Мэттью Принс на мероприятии Axios в Каннах… Архив рубрики ~Коротко из Telegram~ Нейронку БЕЗ ЦЕНЗУРЫ выпустили в открытый доступ — Gemma 4… Архив рубрики ~Коротко из Telegram~ Нашли комбайн для скачивания видео и музыки практически отовсюду —… Архив рубрики ~Коротко из Telegram~ Инструменты дня 🔍 Кьюи Перепроверяет ChatGPT, Claude и Gemini перед отправкой, потому… Архив рубрики ~Коротко из Telegram~ Kimi K3 нашла уязвимость в Redis за 27 минут Исследователь… Архив рубрики ~Коротко из Telegram~ Alibaba представила мощный движок синтеза речи Qwen-Audio-3.0-TTS Команда Qwen выпустила… Архив рубрики ~Коротко из Telegram~ Lightricks научила ИИ убирать лишних людей и машины с видео… Архив рубрики ~Коротко из Telegram~ Copilot теперь живет в «Проводнике» Windows 11 Microsoft продолжает встраивать… Архив рубрики ~Коротко из Telegram~ GitHub Copilot теперь поддерживает модель Gemini 3.6 Flash GitHub начал… Архив рубрики ~Коротко из Telegram~ Anthropic представила плагин Claude Security для поиска уязвимостей Anthropic выпустила… Архив рубрики ~Коротко из Telegram~ Cursor Router: снижение стоимости запросов к ИИ на 60% Команда… Архив рубрики ~Коротко из Telegram~ Российский разработчик СУБД Postgres Pro может сократить до 30% сотрудников…. Архив рубрики ~Коротко из Telegram~ Veon досрочно выкупил облигации на $886 млн, одновременно разместив новый… Архив рубрики ~Коротко из Telegram~ 💢 Иван Паломарес Каррaскоса (Machine Learning Mastery) разбирает пять стратегий… Архив рубрики ~Коротко из Telegram~ ✅ CEO Cloudflare Мэттью Принс на мероприятии Axios в Каннах…