Закажи экспресс-аудит своего дела онлайн всего за 199 ₽
и получи рекомендации по улучшению - Жми сюда !

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

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

Делиться

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

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

Нет других записей в этой рубрике.

Новости других рубрик

Архив рубрики ~Лента новостей~: Apple вносит изменения в свой спорный дизайн Liquid Glass. Архив рубрики ~Лента новостей~: ИИ уже пишет 80% кода Anthropic. Самое тревожное спрятано в цифре, которую подают как успех Архив рубрики ~Лента новостей~: Компания Aviva использует искусственный интеллект для предотвращения мошенничества в сфере страхования на сумму 230 миллионов фунтов стерлингов. Архив рубрики ~Лента новостей~: ФИФА расширяет использование ИИ на чемпионате мира, чтобы уменьшить количество оскорблений со стороны игроков. Архив рубрики ~Лента новостей~: DuckDuckGo устанавливает Spike, поскольку Google пытается заменить поиск искусственным интеллектом Архив рубрики ~Лента новостей~: AI неожиданно вернул человечество к вопросу о смысле Архив рубрики ~Лента новостей~: Рассматриваем первую фотографию контактной площадки процессоров Intel Nova Lake Архив рубрики ~Лента новостей~: 5 основных концепций Python, которые обязательно должны знать инженеры в области искусственного интеллекта.