AWS Machine Learning сообщает, что в предыдущем посте мы рассмотрели, почему инжиниринг памяти является основополагающей дисциплиной для производственных многопользовательских систем. Мы показали, как Amazon S3 Vectors, возможность Amazon Simple Storage Service (Amazon S3), соответствует архитектурным требованиям для памяти агентов: семантический поиск, богатые метаданные, высокая согласованность и эластичное масштабирование. В этом посте мы переходим от архитектуры к реализации. Мы покажем, как использовать Amazon S3 Vectors в качестве постоянного слоя памяти в NVIDIA NeMo Agent Toolkit (NAT), развернутом на Amazon Elastic Kubernetes Service (Amazon EKS) для полного операционного контроля. К концу этого поста вы поймете, как работает подсистема памяти NAT и как реализовать Amazon S3 Vectors в качестве пользовательского поставщика памяти. Вы также узнаете, как развернуть стек на Amazon EKS, используя случай использования многопользовательского инвестиционного исследования в качестве примера. NVIDIA NeMo Agent Toolkit (NAT) — это открытая платформа для создания, профилирования и оптимизации ИИ-агентов. Она не привязана к конкретным фреймворкам и работает с Strands Agents, LangChain, LlamaIndex, CrewAI и пользовательскими реализациями. NAT предоставляет четыре возможности, которые имеют значение для производственных систем агентов: оркестрация агентов, профилирование, оценка и оптимизация. Модуль памяти NAT включает в себя специализированную подсистему памяти, предназначенную для хранения и извлечения истории бесед, предпочтений пользователей и долгосрочных знаний между вызовами агентов. Модуль памяти расширяемый, и вы можете создавать пользовательские поставщики памяти, реализуя интерфейс плагина NAT. Amazon S3 Vectors имеет архитектурные преимущества, которые делают его подходящим для использования в качестве постоянного бэкенда памяти. Он обеспечивает семантический поиск, сильную согласованность записи и возможность масштабирования до 2 миллиардов векторов на индекс без необходимости в планировании емкости. Для работы с Amazon S3 Vectors вам потребуется учетная запись AWS с разрешениями на создание ресурсов Amazon S3 Vectors и кластеров Amazon EKS, а также установленные NVIDIA NeMo Agent Toolkit и Python версии 3.11 или 3.12. Реализация Amazon S3 Vectors в качестве поставщика памяти NAT включает три шага: создание инфраструктуры S3 Vectors, реализацию пользовательского плагина MemoryEditor и настройку рабочего процесса агента. После создания ведра и индекса вы можете реализовать поставщика памяти, который читает из них и записывает в них. Плагин генерирует встраивания с помощью Amazon Titan Text Embeddings V2, хранит каждую память как вектор с контекстными метаданными и переводит фильтры поиска в метаданные запросов Amazon S3 Vectors. С помощью обертки auto_memory_agent вы можете автоматически захватывать и извлекать память. Сообщения пользователей и ответы агентов хранятся, и соответствующий контекст вводится перед каждым вызовом агента. Это позволяет избежать необходимости явного вызова инструментов памяти со стороны LLM. Важно учитывать, что это решение сохраняет историю бесед и память пользователей, поэтому необходимо планировать, как эти данные будут храниться и к ним будет осуществляться доступ. В качестве примера использования данной схемы можно рассмотреть три специализированных агента, которые сотрудничают в инструменте инвестиционного исследования: Агент исследования, Агент анализа и Агент синтеза. Каждый агент использует один и тот же индекс S3 Vectors, но записывает свои данные с уникальным идентификатором агента в метаданных. Агенты извлекают общие знания, используя фильтры метаданных. Развертывание агентов на Amazon EKS позволяет командам полностью контролировать свои рабочие нагрузки. С Amazon EKS вы контролируете масштабирование, сетевое взаимодействие и управление жизненным циклом. Каждый тип агента представляет собой развертывание Kubernetes с доступом IAM, предоставляемым через IAM Roles for Service Accounts (IRSA). После сборки и публикации образа контейнера вы можете развернуть агентов и проверить их работоспособность. Оценка влияния памяти на производительность агентов может быть выполнена с помощью инструмента оценки NAT, который позволяет количественно оценить эффект памяти на производительность агентов, сравнивая результаты с включенной и отключенной памятью. Материал подготовлен нейросетью на основе оригинальной публикации. ИИ может ошибаться в деталях (цифры, имена, даты, цитаты) — для важной информации сверяйтесь с первоисточником.