📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Сделал память для агента за 10 минут: Supermemory против Supabase [S02E05]

My AI BackOffice14:29

Transcription

Теперь у меня есть суперпамять. Спасибо, шеф.

[музыка]

Пожалуйста. Тем более для меня это почти ничего не стоило. Привет, друзья. В прошлом видео про настройку долговременной памяти я получил интересный комментарий по поводу того, зачем вообще заморачиваться э с настройкой сbс, когда можно просто дать поручение агенту о самостоятельной настройке, типа сходи и сам разберись, что там к чему. Но, судя по отзывам таких агентов, это так не работает.

Сегодня мы рассмотрим такой лайтовый инструмент, который настраивается вообще на ey. Не надо возиться с таблицами, ретриверами и так далее. Всё нативно, портативно и, самое главное, бесплатно. Речь пойдёт о Superмеory контейнерной памяти, которая объединяет в себе векторную память и графы. И всё это из коробки по апе. Короче, план на серию такой: проведём небольшой обзор. Расскажу о ключевых особенностях суперпамяти, посмотрим, как и с чем можно интегрировать продукт. Накидаем пример в Night 10 и в конце оценим лимиты бесплатного юзаеджа. Погнали.

По классике. Давайте сначала определим цель. Что мы вообще хотим достичь? Цель такая: нам нужно настроить долговременную память для нашего агента. В прошлой серии мы возились с таблицей СПB, и это было, так скажем, очень заморочено. Есть и другой способ, и всё, что нужно для этого сделать, зарегаться на сайте SuperМory, взять там апи ключ и прокинуть две HTTP ноды с определёнными курлами. Первый курл на запись, второй курл на получение информации и, собственно говоря, всё. Давайте быстрее пойдём и посмотрим, что за имба этот сервис.

Адрес сайта superemory. После регистрации мы попадаем в панель управления с дашбордом и меню. В левой части панель, где можно протыкать разделы, а в основном окне приводится информация по выборному разделу. А первый раздел называется Overview, что-то типа домашней страницы. Отсюда есть ссылки на быстрый старт, демо, песочницу и документацию. Верхнее меню - только одна выподашка с организацией. Давайте создадим новую. Назовём её Home 2. И он спрашивает: "Как вы будете использовать сервис? Как плагин в агентах или по апи запросам? Я выбираю второе". Далее можно выбрать тип агента и его доменную экспертизу. Финансист, юрист, девелопер, персональный ассистент. Скорее всего, это повлияет на логику работы построения графов. Мы выбираем тип агента, а всю сложную механику организации долговременной памяти берёт на себя сервис. Наконец, мы попадаем возможность выбора типа интеграции. И он тут достаточно широкий. Мы выбираем, конечно же, N10, и он нам пишет, что просто пропиши APK, и будет тебе счастье. О'кей, организацию мы создали. Что мы можем делать далее? По аналогии Base, э, организация - это как будто мы создали проект, в котором теперь можно создавать множество разных таблиц. Только в Superмеory нет такого понятия, как таблица, а есть такое понятие, как контейнер. Все созданные контейнеры будут отражаться в меню контейнер. Так, в контейнере информация будет сохраняться в читабельном виде и в виде чанка векторной базы данных. При этом на основе имеющихся данных автоматически ветка за веткой будет прорисовываться граф. Это вообще круть. В меню Request будут появляться все наши запросы, причём с указанием типа для удобства фильтрации и сортинга.

Идём далее. Мегафича подключения коннекторов. На бесплатном тарифе можно делать коннект в Google Disk, Notion, OneDrive и GitHub. На платных можно приотчить почту, Webпоиск и даже S3 сервер. Есть возможность просто загрузить документы с компьютера драгондропом. То есть функционал просто огромный. Мы можем развернуть полноценную базу знаний из всего, что угодно: из файлов, из ссылок на сайты, из различных коннекторов, какой сервис ещё обладает подобным функционалом.

Идём далее. Давайте создадим апе ключ для работы с N1. Тут всё достаточно просто. Кстати, можно выбрать срок жизни Апи ключа. Дошли до меню Plugins. Это настройка сервиса в качестве плагина для пользователей клодкода, кода, бота. Передайте инфу этим мажорам, если что. На вкладке Билинг опубликована ценовая политика. У сервиса бесплатный юage на миллион токенов и 10к запросов в месяц. В конце видео, кстати, прикинем, хватит ли нам этого.

Вот такой вот быстрый обзор получился. Но даже на начальном этапе уже понятно, что функционал этого сервиса кратно выше обычной таблицы Subabase и что это просто must have для любого агента-строителя. Давайте же заглянем в доку и посмотрим, как устроен сервис изнутри. И первое, что мы видим, к Доке прикручен ассистент. Только за это можно поставить плюс карму. Все вопросы можно задавать внутрь ассистента. Теперь давайте по диагонали пробежимся по доке. Для этого в Яндекс-браузере правой кнопкой мыши выберу перевести на русский язык. Не погружаясь в технические детали, попробую перечислить суть. Суперпамять, в отличие от обычной векторной базы данных, обладает следующими свойствами. У неё рисуется динамический граф знаний. Информация в каждом фрактале памяти может взаимодействовать друг с другом. Эта взаимосвязь рождает новые семантические выводы и заключения. Фракталы группируются и объединяются. Звучит реально как описание действия нейронов в коре головного мозга человека. Ведь правда, какие форматы кушает суперпамять? PDF, веб-страницы, вставленный текст, изображение с текстом. Прикиньте, есть встроенный ОКР по ходу. И даже видео для транскрибации. Скорее всего, до 2 минут, но это всё равно пушка. Далее, как работает семантика? Ищутся совпадения по смыслу, по сходству, по общим связям. И при этом есть динамическое обновление состояния. Я так понимаю, что создаются некие снапшоты, которые актуализируют последний образ фрактала. Далее идёт подробное описание логики работы сервиса. Не буду вас утомлять, а отмечу лишь такую фишку, что при записи информации в контейнер её можно обогащать метод данными. Помните, мы тегировали диалоги в прошлой серии. Так вот, здесь можно делать то же самое без проблем. В документации есть тоже верхнее меню, с помощью которого можно выбирать необходимые разделы. В разделе апи приведены все возможные варианты интеграции. В разделе плагины, описание того, как подключаться к агентам, ну и так далее, и так далее. Также есть Memory Bench, Cookbook. В общем, кому интересно разобрать сервис до атомов, welcome. Документация очень понятно структурирована и ясно написана.

Давайте, наконец, посмотрим, как работает сервис. Для этого нам нужно построить pйплайн с двумя элементами. Первый этап. Сначала мы соберём ноду для записи информации. Причём записывать будем не просто вопрос-ответ, а вопрос-ответ плюс теги в качестве метаданных. А на втором этапе прицепим ноду HTTP request в качестве тула к модели. Кто помнит прошлую серию, такой способ обращения к памяти мы назвали мод. То есть агент сам решает, тянуть ему что-то с памяти или нет. По просьбам трудящихся буду показывать сборку пайплайна с нуля, но для того, чтобы сэкономить ваше время, поставлю скорость X3. Ну что, поехали соединять лапшу.

Нажимаем Tab. Справа выезжает основная функциональная панель со всеми нодами N1. Находим там чат-ттриг, через который мы будем отправлять сообщение агенту. И сразу же пробуем написать туда сообщение для того, чтобы прокинуть выполнение пайплайна. Следующая нода - это нода Edit Fields. В ней мы получаем сообщение пользователя и обозначаем его как user query, чтобы прокинуть далее на агента. Далее надо непосредственно сам агент, который должен обработать наш запрос и выдать гениальный ответ. На вход ему кидаем наш user query для обработки. По хорошему нужно написать системный промт, но пока обойдёмся дефолтом. Цепляем мозги и нажимаем выполнить. На данном этапе у нас есть user query и agent response. Не хватает только метадаты. Возьму тегр с прошлого видео и поставлю сразу после агента. Задача этого вспомогательного узла придумать три тега, характеризующие диалог. Это нужно, чтобы при будущем векторном поиске использовался поиск по тегам. Во-первых, это быстрее, во-вторых, это экономит токены. Жмакаем выполнить, и у нас формируется метаалога в виде трёх тегов. Точно не знаю, как это работает внутри Superмеemory, но по идее это должно облегчить индексацию и маркировку массива базы данных. Теперь нам надо собрать всю информацию в кучу. Для этого нам нужна нода Edit Fields, внутри которой мы сформируем два поля. Первое поле - это единый текстовый блок query и agent response. А второе поле - это поле метадата тип объект внутримассив из трёх полученных тегов. Остаётся финальная часть. Нам требуется нода HTTP request, через которую мы запишем эти два поля в контейнер Supermory. Нажимаем Tab, ищем нужную ноду. И первое, что нам нужно сделать - это настроить кре. Это можно сделать по-разному. Я делаю через beр, а, копирую апи ключ, иду в выбор способа аутентификации и выбираю метод beer. Нажимаю на карандаш, проваливаюсь в настройку апи ключа, вставляю скопированный апи ключ и сохраняю credental. Теперь нам нужно узнать, как настраивать саму ноду HTP requкст и какие поля там должны быть. Идём в документацию, раздел Quickstart и читаем. Урл здесь прописан, его можно забрать и вставить себе в N. А есть несколько полей, которые мы должны указать. Полетент должно содержать записываемую информацию. Поле контейнер название контейнера. Нужно придумать любое название. И поле метадата должно содержать массив. Сюда мы будем прокидывать теги. Если всё происходит удачно и запись в контейнер происходит, то Supermemory возвращает идентификатор записи и статус. Записано. Возвращаемся в настройку ноды и создаём нужные поля. В поле контент прокидываем диалог. В поле контейнертег пишем любое название. Я написал тест 2. И в поле мета прокидываем теги, которые мы создали с помощью тегра. Жмём выполнить. и вуаля. Видим, что возвращается идентификатор и статус. Значит, информация летела в нашу память. Через дашборд мы можем посмотреть контейнер, пока там только одна запись, и кроме записи появился первый элемент графа.

Давайте покидаем побольше информации, чтобы заполнить базу и потом придумать какой-нибудь хитрый вопрос для тестирования поиска. На первом этапе пока работаем на насыщение базы информации. И я попросил Нейронку сгенерировать последовательные сообщения с логической цепочкой рассуждений. Давайте их прочитаем. Идея заключается в том, чтобы дать Superмеory три факта, на основе которых она должна додуматься до четвёртого неподтверждённого факта. Скорее всего, идея обречена на провал. Ну давайте попробуем. Это просто тест. Итак, факт номер один. У моего соседа по кабинету у Виктора есть странная привычка. Он заваривает чай ровно 4 минуты и при этом напивает мелодию из розовой пантеры. Угу. Сообщение улетело. Второй факт. Кто-то забыл папку с секретными документами, и камера зафиксировала спину человека, который что-то напивал, пока ждал свой напиток. Тоже сообщение улетело. И третий факт. Проверил логи чайник. Кто-то запускал чайник. 14:05 ровно на 4 минуты. В это же время пропала папка. Отправим сообщение тоже на запись.

Теперь давайте прикрутим поиск по базе данных и зададим вопрос агенту. Я подготовил ноду HTP requквест в качестве тула. Давайте присоединим её и залезем в настройки. Посмотрим, какие поля там нужно настраивать. Во-первых, в поле Description нужно прописать критические правила, чтобы он обязательно пользовался тулом, а не халяевом. Далее у прописывается уже другой. Я его взял с документации. И по полям, смотрите, пробежимся. Поле Q с запросом. Поле контейнертег. Указываем тот контейнер, где будем искать информацию. Далее метод поиска гибрид. И количество возвращаемых чанков. Ну, можно указать три. Ну и момент истины. Давайте попробуем задать вопрос, кто же всё-таки мог взять нашу папку. Посмотрим, что ответит агент. В общем, не догадался агент, что папку мог взять Виктор. Он, а, описывает обстоятельства происшествия, но явно не указывает на конкретного человека. Ну, может быть, это не только от супермеory зависит, но в том числе от модели. Короче, Факир был пьяный, фокус не удался, но в данном случае к SuperМory вопросов нет. Она отработала как нужно.

Давайте посмотрим сам контейнер и граф. Каждая запись в контейнер формирует три сущности. Саму запись контента ch и memory. Memory - это такие выводы, которые, э, сервис формирует самостоятельно, некий анализ поступивших данных. И когда мы проваливаемся в граф, эти сущности обозначаются разными значками, и Superмеory может связывать их, чтобы выявлять закономерность. Короче, такой обсидиан на максималках.

В конце обещал обсудить бесплатный юзаж. Хватит ли миллион токенов в месяц? Однозначно, да. Для личного использования это просто огромный объём информации, даже если будете гонять по 300 запросов в день. Подводя итог, хочется сказать, что сервис однозначно заслуживает самых высоких оценок и с учётом своего мощного функционала обязан быть в каждом агенте. Если не в качестве основной памяти, то хотя бы вспомогательной. Ложкой дёгтя в бочке мёда является такой момент, что данные хранятся на чужих серверах. Но тут я вам не советчик. Каждый сам определяет, может ли он работать с этим.

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