В этом видео мы создадим приложение для обработки данных.
Мы создадим ИИ-агента или несколько агентов, которые будут связаны между собой, и один из них будет обучаться на нашем собственном наборе данных.
Я надеюсь, что вы уже знаете, что такое приложение для обработки данных, поэтому, пожалуйста, помните, что мы можем обучать ИИ на наших собственных данных.
Мы будем использовать векторные базы данных, нам понадобятся модели встраивания, и все это будет работать относительно неплохо.
Вы можете обучить, например, одного агента на основе вашего стиля письма, другого — на основе конкретных знаний о вашей компании, на основе любых других знаний, которые вам нужны.
В этом видео мы сделаем это относительно просто.
Большинство приложений для обработки данных можно просто загрузить в формате PDF, и готово.
Но если вам нужно, чтобы приложение для обработки данных работало немного лучше, вам нужно подготовить свои данные.
И мы подготовим наши данные в следующих двух видео, потому что мы можем использовать такие сервисы, как Firecrawl и Llama Parse, чтобы сделать наши данные намного лучше.
Реальные данные беспорядочны, и это не идеально для нашего приложения.
Большинство людей не говорят вам об этом.
Они просто говорят: "Эй, вы можете дать ссылку на PDF-файл, или на API, или на веб-сайт".
И да, это правда.
И, честно говоря, мы тоже сделаем это в этом видео, но в следующих двух видео я покажу вам, как можно сделать это лучше.
Итак, для начала давайте создадим простое приложение для обработки данных, простого агента.
Мы используем фреймворки для агентов, начинаем с Plus и, как всегда, нам нужны супервайзер и несколько рабочих.
В общем, это всегда одно и то же.
Я использую супервайзера и, скажем, бесплатных работников, затем модель чата и модель Open AI.
Мы используем модели чата и Open AI, и, конечно, до сих пор все было одинаково.
Мы подключим эти узлы, а также супервайзера, подключим супервайзера к работникам, а теперь начнем интегрировать и прямые технологии, потому что они нам понадобятся.
Но сначала, конечно, мы воспользуемся нашими учетными данными.
Мы используем модель, которая нам нравится, и зададим нужную температуру.
Я думаю, что 0,5 — это идеально, потому что этот агент должен точно понимать, чему мы его обучаем.
Теперь мы добавим кое-что для прямых технологий.
Для этого нажимаем «плюс», прокручиваем вниз, пока не найдем нужные инструменты, и в инструментах находим то, что называется инструментом поиска.
Вот он.
И вы видите, что в инструменте поиска мы можем сами указать имя.
Сделаем это.
Вы видите, что нам нужно добавить еще кое-что.
Но прежде чем это сделать, просто подключим эти инструменты вот сюда.
Мы подключили его к работнику и теперь начинаем разрабатывать подсказки.
Сначала нам нужно сохранить этот чат-поток.
Я просто назову его «Агент Recapp».
Нажму «Сохранить».
Теперь вернемся назад и, конечно, обратимся к нашей команде по разработке подсказок.
Это команда подсказок.
Нажму «Чат», удалю здесь все старое, очищу чат.
Вставлю новую подсказку и напишу что-то вроде этого.
Я хочу, чтобы были бесплатные агенты.
Первый агент должен искать в загруженных данных и использовать инструмент под названием «DocReader».
Знаете, мы можем сами указать название нашего инструмента для извлечения данных и назовем его docreader.
Затем второй агент должен написать пост в блоге и пять коротких твитов на основе загруженных данных.
Мы просто хотим опубликовать информацию из наших загруженных данных.
Третий агент должен все структурировать и обобщить, а затем использовать инструмент для сохранения моих данных локально.
И этим инструментом, конечно же, является инструмент для записи файлов.
Я могу сказать об этом прямо сейчас, но думаю, что это сработает.
Я просто отправил это, и теперь мы ждем, когда получим подсказки, и я, конечно, сделаю это, а вам не нужно смотреть на это со мной.
У меня, конечно, есть сохраненные подсказки, так что я все удалю, мы вернемся, продолжим работу с приложением Rack Agent и просто вставим их.
Исследователь данных, вот подсказка.
И, конечно, в конце всегда это указывается.
Этот отчет будет передан создателю контента.
Создатель контента, вот подсказка, и, конечно, в конце будет указано, что отчет будет передан организатору данных.
Организатор данных, вот подсказка для организатора данных, и мы нажимаем «Сохранить».
Затем руководитель, вы начинаете с исследования данных, передаете их создателю контента и, наконец, организатору данных.
И теперь мы готовы, но нам, конечно, нужно сделать еще кое-что.
Давайте просто нажмем на это первое, потому что вы видите, что мы используем инструмент под названием doc reader.
Так что нам обязательно нужно скопировать это название и назвать наш инструмент для извлечения данных doc reader.
Затем описание.
Это может быть очень просто.
Например, с помощью этого инструмента можно искать информацию о собаках.
Да, у меня есть PDF-файлы о дрессировке собак.
И да, я использую эти PDF-файлы для множества примеров, потому что мне кажется, что это забавно.
Это небольшой PDF-файл о дрессировке собак, и мы создадим ИИ-агента, который будет создавать контент о дрессировке собак и обучаться на основе этого PDF-файла.
Вот почему я говорю, что этот инструмент для поиска будет использоваться, как только мы зададим вопрос о документах.
Помните, что вам всегда нужно вставлять данные туда, где стоят эти красные звездочки.
Поэтому нам нужен инструмент для поиска.
Нажмите на плюсик, прокрутите вниз до раздела «Векторные магазины».
Вот векторные магазины, и мы можем добавить все, что захотим.
Мы можем добавить Astra, Chroma и так далее.
Некоторые из этих хранилищ векторных данных требуют ключ API.
Например, хранилище векторных данных Pinecone.
Здесь нужно вставить ключи API.
Я хочу использовать хранилище векторных данных в памяти, потому что оно уже есть в Flow, и нам даже не нужен ключ API.
И мы подключим этот инструмент для поиска к этой штуке.
И теперь мы, в принципе, готовы.
Но если вы посмотрите сюда, нам, конечно, нужны документы и вложения.
Поэтому нам нужно добавить кое-что еще.
Я хочу начать с моделей вложений.
Нажмите на плюсик, перейдите к вложениям и используйте вложения Open AI, потому что они отлично работают.
Вот вложения Open AI.
Вставьте их сюда.
Затем нам нужно указать здесь эти вложения и, конечно, название модели.
Какую модель нам использовать?
В конечном итоге мы будем использовать это текстовое вложение Ada Two.
Это удобно, это просто, это дешево.
Мы можем использовать и более крупные модели, но я думаю, что эта работает отлично.
Теперь нам нужно ввести наши учетные данные.
У нас уже есть учетные данные, поэтому мы просто вводим их.
И я надеюсь, вы уже знаете, что делают эти модели встраивания.
Они преобразуют ваши данные в числа, чтобы их можно было хранить в виде векторов в нашей векторной базе данных.
Теперь нам нужно добавить наши документы.
Для этого нам нужны загрузчики документов.
Поэтому мы нажимаем на кнопку «плюс», переходим к загрузчикам документов, и в нашем случае это PDF.
Но я хочу показать вам, что мы можем добавлять все, что захотим.
Мы можем добавлять таблицы, API-загрузчики, чтобы загружать данные из API.
Веб-сканер Apify, чтобы сканировать контент с разных сайтов.
Затем веб-скрапер, чтобы загружать данные с веб-страниц.
Если вы хотите использовать данные с обычной веб-страницы, вы можете воспользоваться этой функцией.
Затем конфеленция, файлы CSV.
Если у вас есть таблицы, используйте файлы CSV.
Пользовательские загрузчики документов, если вы хотите написать их сами, хранилище документов, файл docx, Figma, Firecrawl, чтобы вы могли загружать данные с помощью сканирования.
О Firecrawl мы поговорим в следующем видео.
Затем папка с файлами.
Если у вас есть локальная папка с множеством разных файлов, вы можете воспользоваться этой функцией.
Gitbook, GitHub, файлы JSON, файлы JSON-линии, файлы, база данных Notion, папка Notion, страница Notion, файл PDF, обычный текст, Playwright, веб-скрейпер и так далее.
Как видите, вы действительно можете добавлять все, что захотите.
Поиск в интернете с помощью API.
API Serp загружает документы, поэтому сканирует и обрабатывает веб-страницы с помощью паука. В текстовом файле. Понимаете, вы можете включить все, что захотите, но мы, конечно, начнем с простого PDF-файла.
Итак, мы просто добавляем сюда эту заметку, а затем подключаем наш узел к этому документу. Теперь мы переходим к загрузке. Нам нужно загрузить этот файл. Поэтому мы используем наш PDF-файл. И еще нам нужны текстовые разделители.
Итак, сначала я хочу загрузить свои файлы.
Мы просто нажимаем "Загрузить файлы", и я использую свой PDF-файл, который лежит у меня на рабочем столе.
Я загрузил свой PDF-файл с собакой, и теперь я хочу показать вам, что делают эти текстовые разделители.
Я рекомендую вам использовать эти текстовые разделители в следующем видео, чтобы я мог подробнее рассказать, что именно они делают.
Здесь я рекомендую использовать один документ на файл.
Теперь мы добавляем текстовый разделитель.
Это необязательно, но так результат будет лучше.
Мы нажимаем "плюс", переходим к текстовому разделителю, и мне нравится разделитель текста с рекурсивными символами.
Поэтому мы просто вставляем его сюда.
Теперь мы подключаем этот узел к текстовому разделителю.
Затем мы выбираем размер фрагмента и перекрытие фрагментов.
Я рекомендую вам использовать, это зависит от того, какой результат вы хотите получить, и я расскажу об этом подробнее в следующих видео.
Но мы просто используем размер фрагмента 100
вы уже знаете, что у LLM есть ограничение по токенам и этот разделитель текста, который просто выделяет фрагменты нашего текста.
просто представьте, что если мы загрузим большой PDF-файл, то, возможно, контекстное окно будет слишком маленьким для нашего PDF-файла.
конечно, с такими большими моделями мы в конечном итоге сможем это сделать.
а потом они, конечно, разделят это на эти векторы, и это должно сработать.
но я должен сказать тебе, что это сработает лучше, если мы будем создавать фрагменты нашего текста.
мы будем создавать фрагменты размером примерно в 1000 токенов, и у нас будет некоторое совпадение с этими фрагментами.
и тогда наши текстовые вставки будут работать лучше, а наше приложение будет лучше находить нужные нам выходные данные.
больше информации в следующих видеороликах.
так что мы просто добавим эту штуку прямо сюда.
мы оставляем значение 1000, а перекрытие - 100. это работает для нашего PDF-файла, и, как я уже сказал, я дам вам больше информации о размере хвостовика и перекрытии в следующих видеороликах.
теперь наше приложение стало относительно большим, и этот рабочий процесс завершен.
нам нужно подготовить нашего последнего работника.
и, конечно же, мы нажимаем "плюс", потому что последний работник сохранит материал локально, ты уже знаешь об этом.
так что мы прокручиваем страницу вниз, пока не найдем нужные инструменты.
итак, инструменты, мы, конечно же, используем для записи файла на диск и подключаем файл для записи к этой штуке.
и здесь нам нужно еще раз указать путь к нашей папке на нашем компьютере.
я снова использую эту папку, поэтому я просто копирую путь, мы возвращаемся в flowwise, вставляем путь сюда, и теперь также нужно выполнить этот рабочий процесс.
теперь нам нужно выполнить несколько важных шагов, чтобы это приложение заработало.
Во-первых, нам нужно сохранить это.
Для этого нажимаем "Сохранить" вот здесь, и тогда появится что-то вроде этого.
Вот здесь вы видите это, и вам нужно нажать на это.
Что это за абсурдная векторная база данных?
До сих пор наш PDF-файл не был абсурдным в нашей векторной базе данных.
Поэтому векторная база данных пуста.
Модели встраивания текста не распознали этот файл.
Поэтому мы нажимаем на это, и тогда вы увидите, что рекурсивный текстовый разделитель разделит наш текст на фрагменты.
Он разделит этот PDF-файл на фрагменты с помощью этого инструмента для работы с PDF-файлами.
Эти встраивания от Open AI будут встраивать все это в векторную базу данных в памяти.
А затем мы просто нажимаем "Абсурд", и это становится абсурдным.
И здесь вы видите, что это фрагменты текста.
Таким образом, фрагменты идеальны, и все абсурдно.
Мы добавили сюда 32 фрагмента, и, по крайней мере, насколько я вижу, это должно работать идеально.
Поэтому мы нажимаем "Закрыть".
Теперь я хочу показать вам, что делает это приложение.
Итак, мы начинаем здесь.
Модели Open AI, такие как GPT для OmniModels, управляют всеми этими рабочими процессами.
Конечно, вы можете использовать разные модели для разных рабочих процессов, вы это уже знаете.
Затем супервайзер запускает нужный порядок.
Итак, сначала идет исследователь знаний, затем создатель контента и, наконец, организатор данных.
Затем наш работник, это самый важный работник, потому что у него есть доступ к нашей частной базе данных.
Мы подключили сюда инструмент поиска.
Этот инструмент поиска будет работать как поисковый файл, чтобы наши работники могли искать с его помощью.
Этот инструмент поиска подключен к нашей векторной базе данных.
Этой векторной базе данных даже не нужен ключ API.
Эта база данных векторных данных пополняется нашими знаниями, потому что мы добавили сюда загрузчики документов, и в этот загрузчик документов мы загружаем наш PDF-файл.
Этот PDF-файл добавляется в базу данных с помощью нашей модели встраивания.
Чтобы все это работало лучше, у нас есть функция разделения текста на символы.
Поэтому, как только мы нажимаем вот сюда, мы уже все сделали.
Затем наш инструмент для поиска обучается на наших данных о дрессировке собак.
Затем следующий работник продолжит работу и, конечно же, создаст контент из всего этого.
А последний работник сделает краткое изложение и сохранит все это на нашем компьютере.
Как только вы нажмете "Сохранить", вы можете нажать "Сохранить" еще раз.
Теперь это сохранено, и мы можем это протестировать.
Чтобы протестировать это, я хочу открыть этот PDF-файл в Docker, и мы поищем что-то, чего наш ИИ, скорее всего, не знает.
Например, три категории дрессировщиков собак.
Мы можем спросить, какие три категории дрессировщиков собак существуют.
Итак, мы переходим сюда.
Я выбираю это, чтобы было лучше видно.
Какие три категории дрессировщиков собак существуют?
Я отправил запрос.
Супервайзер запускает поисковик знаний и вызывает функцию в нашей базе данных векторных данных, чтобы получить нужную информацию. Как видите, супервайзер использовал программу для чтения документов, и у нас есть информация о первой, второй и третьей категориях.
Затем супервайзер запускает программу для создания контента.
Теперь у нас есть контент, а также твиты для дальнейшего использования. Так что контент идеальный. И, наконец, супервайзер запускает программу для обработки данных, и она должна немного улучшить организацию и сохранить все в текстовом файле на нашем компьютере в указанной папке. Вот и все. Это должно быть результатом, а также твиты, которые должны быть сохранены в нашем файле.
Давайте проверим, так ли это.
Если мы перейдем к тестовому агенту, то увидим, что у нас есть старые записи о дрессировке собак и посты в блоге.
Если я перейду к посту в блоге, то вот он.
А если я перейду к твитам, то вот они: узнайте о трех основных типах дрессировщиков собак и так далее.
Так что все должно работать нормально.
Давайте проверим, правильно ли это.
Я хочу сделать это немного крупнее.
Итак, есть три разных типа дрессировщиков собак.
Первые дрессировщики собак в основном используют еду или игрушки в качестве поощрения, чтобы заставить собак выполнять команды. Второй тип — это дрессировщики, которые заставляют собак подчиняться с помощью физических наказаний. Третий тип — это сбалансированный подход.
Это баланс между первыми двумя методами. И теперь давайте перейдем к нашему PDF-файлу. У нас есть одна категория, в которой используется еда или игрушки в качестве поощрения.
Это идеально.
Вторая категория называется «Дрессировщики, которые заставляют собак подчиняться с помощью физических наказаний», как и сказал наш ИИ.
И третья категория — это что-то среднее между первыми двумя.
Это сбалансированный подход.
Я думаю, что результат получился идеальным.
И я хочу показать вам это в последний раз, чтобы вы убедились, что мы правильно использовали все инструменты.
Мы использовали инструмент «Исследователь знаний», и если мы нажмём на него, вы увидите.
Мы назвали этот инструмент «Исследователь знаний», на входе были категории документов, а на выходе, конечно, весь этот текст.
Мы искали нужные фрагменты.
Я думаю, что всё получилось идеально.
Затем супервайзер сделал свою работу, и всё было отлично, данные были сохранены локально, и у нас есть всё необходимое.
Я хочу показать вам, как работает это приложение.
Супервайзер управляет всеми этими инструментами.
Затем мы используем инструмент «Извлечение» с векторами или моделями встраивания, здесь есть загрузчик документов, и вы можете использовать любой из них, а затем инструмент «Разделение текста».
Наш работник обучается на этих знаниях, и если мы зададим ему роль, например, поиск информации о собаках, он будет использоваться, когда это необходимо.
Затем второй работник создаст контент из всех этих данных, а третий просто сохранит их локально с хорошим резюме на нашем компьютере.
Я думаю, что это идеально.
Пожалуйста, не забудьте нажать здесь, чтобы загрузить данные в вашу векторную базу.
Это сработает только в том случае, если вы это сделаете.
В этом видео мы создали простое приложение.
Мы обучили одного из наших работников с помощью технологии прямого доступа.
И я должен сказать, что это получилось идеально.
Но в следующих видео я покажу вам, как можно лучше структурировать ваши данные.
У вас есть много разных загрузчиков документов, и вы можете улучшить работу своего приложения, если правильно структурируете данные.
Вообще говоря, некоторые из этих загрузчиков документов уже используют идеальные данные, они могут обрабатывать информацию и, например, использовать данные с веб-страниц и сканировать нужные ссылки.
Но некоторые из этих загрузчиков, например, для PDF-файлов, возможно, не идеальны.
Если у вас есть PDF-файл с беспорядочными данными, вам нужно привести их в порядок.
Это очень важно, поэтому смотрите следующие видео, где я покажу вам, как улучшить работу вашего приложения.
До встречи в следующем видео.