6e07c3e8f07a281fd6a5faaf567360ab.jpg

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

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

Делиться

6e07c3e8f07a281fd6a5faaf567360ab

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

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

Вступление

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

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

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

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

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

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

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

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

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

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

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

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

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

3d2145e9614ae170b3276e5bd84b0cc1

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

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

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

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

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

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

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

✅ Найденные теги: Агентские, новости, Персональные, Помощники, Хостинг, Чат-бот

ОСТАВЬТЕ СВОЙ КОММЕНТАРИЙ

Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Человек спит в кровати под красным пледом, солнечный свет падает на подушку.
Человек в смокинге держит планеты Земля и Марс, символизируя космические достижения.
Твердотельный аккумулятор Donut на выставке, показывает замещающий литий-ион стоимость.
Человек рядом с изображением двойной спирали ДНК на фоне природы.
Залитый солнцем лес с деревьями и болотистой водой, покрытой зелёной растительностью.
Пленка NeoFilm 100 на деревянном столе в окружении упаковок.
Деревянный минималистичный сундук с подсветкой в интерьере.
Обложка отчета о преодолении разрыва в операционном ИИ от MIT Technology Review.
Твит о разработке в 2026: выполнение сложных задач до пробуждения США, чтобы избежать проблем с ИИ.
Image Not Found
Человек в смокинге держит планеты Земля и Марс, символизируя космические достижения.

Почему SpaceX может выйти на биржу и с чем это может быть связано

Мы ведь явно не воспринимаем всерьез центры обработки данных в космосе? Элизабет Лопатто, старший репортер. Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной странице вашего сайта. Все…

Мар 5, 2026
Твердотельный аккумулятор Donut на выставке, показывает замещающий литий-ион стоимость.

Согласно результатам испытаний, твердотельная батарея Donut Lab способна выдерживать (экстремальные) температуры.

Разработанная финским стартапом батарея не только выдержала экстремальные условия высокой температуры, но и фактически увеличила свою емкость. Эндрю Дж. Хокинс, редактор раздела «Транспорт». Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в…

Мар 5, 2026
Пленка NeoFilm 100 на деревянном столе в окружении упаковок.

Цифровая камера OPT NeoFilm 100 в формате плёнки

Компактная камера OPT NeoFilm 100 выполнена в виде классической 35-мм плёнки, но внутри скрывается не аналоговый механизм, а цифровая «начинка», способная снимать фото и видео.  Камера оснащена 1-мегапиксельным сенсором, который позволяет получать изображения с разрешением до 3…

Мар 5, 2026
Деревянный минималистичный сундук с подсветкой в интерьере.

«Умная» кровать-трансформер Roll

Хорватский дизайнер Лука Булян разработал проект складной кровати Roll, которая по нажатию кнопки сворачивается в аккуратный деревянный шкаф. Главная идея строится на принципе ежедневного скручивания матраса без потери его свойств. Конструкция оснащена тихим электродвигателем и плавным механизмом…

Мар 5, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых