📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Создаем ИИ-Агента для заполнения документов БЕСПЛАТНО + подключаем его к Телеграм боту

Direcode7:38

Transcription

Создавать и агенты мы будем в пять различных этапов, чтобы вам было понятнее.

В первом мы просто поработаем с искусственным интеллектом по AP. Во втором научим нейросеть выводить данные именно в том формате, который нам будет нужен. В третьем научимся заполнять документы с помощью Python. В четвёртом соединим нейросеть с отдельной функцией заполнения документов. И пятым этапом добавим Telegramбота для ввода и вывода информации.

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

Также, если вы хотите иметь доступ к нейросетям без ограничений, то я рекомендую использовать сервис Польза AI. Польза AI - это полностью российский сервис, который работает у нас без VPN. В нём сейчас 285 активных моделей. И, например, те же самые модели от Antropic. Есть Opus 4, Opus 4.1 и Sonet 4. Модели можно использовать как внутри самого сайта, так и через IP. Вот, например, я попросил создать Telegramбота. И вот подробная инструкция с исходным кодом. Также для разработчиков есть iдокументация и прописана она для разных языков. Помимо этого, есть описанная интеграция ENIT и курсора. Оплатить сервис можно с российской карты либо через СБП. Польза А подойдёт как для личных целей, так и для бизнеса. Ссылка будет в описании. Переходите, регистрируйтесь и тестируйте.

В первом этапе мы поработаем с нейросеть PO AP. Для этого мы будем использовать MTR. Она бесплатная и работает у нас без VPN. Сейчас нам нужно получить эпиключ. Для этого мы переходим на сайт MRI, регистрируемся. Слева есть вкладка IP Case. Здесь нажимаем create new case. Создаём его и копируем. Полученный кключ нам нужно вставить вот сюда. Затем мы указываем модель, которую будем использовать. Список моделей можно посмотреть на сайте и выбрать любую, которая вам понравится. Далее мы создаём клиента и сам запрос. В запросе мы сначала указываем модель. Вот её название. Далее мы создаём список сообщений. Он выглядит вот так. В данном случае здесь всего одно сообщение. С ролью usеer мы отправляем контент просто хай. Это сделано просто для тестирования. Теперь мы можем этот код запустить и посмотреть, что он нам ответит. Видим ответ от Нейросети. Значит, наше подключение работает и у нас всё хорошо. Идём к следующему этапу.

И я хочу, чтобы пользователь мог отправить в свободной форме любой список сообщений. И Неросеть получил оттуда нужные для нас данные. Ну, например, будет сообщение Елена, Москва и офисный стол. А в документе, который мы будем создавать, нам нужно указать имя, город и описание. Ну, в данном случае это будет товар. Чтобы получить именно структурированный вывод, мы будем использовать byден. Для этого мы создаём новый класс, называем его, ну, например, info. Три элемента, которые нам будут нужны, в данном случае это сети, то есть город, имя и описание. Далее мы также создаём клиента. Указываем наш промт, который будет передан. Пока что это просто для тестов. И создаём запрос. В Responс model мы передаём вот этот класс, который мы создали. Теперь неросеть при обращении будет понимать, что она ищет вот эти три параметра. Ей надо их найти и выдать пользователю. Далее также указываем список сообщений, одна роль пользователя, и в контент мы передаём вот эту переменную, в которой лежит тот текст, который мы написали. Также указываем температуру равнуй нулю. Этот параметр отвечает, грубо говоря, за креативность ответов нейросети. И чем он ниже, тем более точные будут ответы. В данном случае нам нужна просто информация, ровно та, которую нам отправил пользователь, без всяких придуманных вещей. С помощью print мы просто вводим ответ от нейросети. Запускаем этот код и посмотрим, как будет выглядеть наш ответ. У нас отдельно есть сити, который равен в Москве. Есть name, Елена, и есть description, который равен офисный стол. Теперь мы можем поочерёдно обращаться, например, response.city.name description. И в этой переменной, к примеру, будет лежать именно название города Москвы. То есть мы можем к нему напрямую обращаться. Теперь именно так. Второй этап у нас выполнен. Можем переходить к следующему.

В третьем этапе мы пока что работаем без нейросети. Сейчас наша задача в том, чтобы мы создали какой-то документ, также в нём указали плейсхолдеры, которые нужно поменять, и с помощью кода их поменяли пока что без нейросети. Для примера я создал вот такой вордовский документ. Сверху у нас будет параметр сити. Вот мы его указали Санкт-Петербург. Далее идёт уважаемый получатель, ваш товар, описание там или название товара уже отправлено в город. Ещё раз сити повторяется. И далее получатель - это имя человека. С помощью таких двойных скобок мы можем создавать вот эти плейсхолдеры, их называть как угодно и вот таким простым кодом их заполнять. Мы будем это делать с помощью библиотеки docp. Изначально нам нужно подгрузить сам шаблон. Он лежит у нас в корне, поэтому можем просто указать его название. Далее мы указываем его контекст. Изначально мы указываем placeйholder, который называется ровно так же, как и называется он в документе, и указываем его значение. В данном случае это Санкт-Петербург. Делаем то же самое с описанием умная колонка Pro и имя Иван Иванов. Далее мы рендерим и сохраняем результат. Можем этот код запустить и посмотреть, что мы получим. Видим, что у нас создался новый документ result.dcs. И если мы его откроем, то увидим, что документ уже заполнен. Вот так выглядит наш шаблон. И вот так выглядит готовый документ. Документ вы, естественно, можете менять под себя, делать его каким угодно. Это всё делается просто для примера. Идём далее.

И теперь нам надо интегрировать нейросеть вот к этой функции, которая заполняет документ. Я создал отдельную функцию, назвал её fдоog, и сюда мы передаём город, имя и описание товара. В этой функции выполняется всё то же самое, что мы делали в прошлый раз. Единственное изменение здесь в том, что мы в контекст передаём уже переменные, а не заготовленный заранее текст. При вызоре этой функции сюда попадает три параметра. Эти параметры встают вот сюда. И далее точно также заполняется документ, как в прошлом примере. Затем мы также указываем класс, как и делали это ранее. Создаём клиента, инструктора, указываем отдельно промт. Давайте поменяем город, например, на Казань, чтобы были хоть какие-то отличия. Далее мы делаем точно такой же запрос. Искусственный интеллект. Вызываем функцию заполнения документа. Сюда мы передаём response. То есть название города. Далее. И description. Документ с результатами мы можем сейчас удалить и запустить этот код. посмотреть, что получим в этот раз. Консоль вывелось вот такое сообщение, и документ с результатом выглядит так: Казань, офисный стол и Елена. Всё работает, можем переходить далее.

И пятый этап - это интеграция Telegram-бота с нашим её агентом. Бот написан на библиотеке Аagram 3. Из нового это обработчик команды Старт, который мы ещё не видели. Он просто отвечает вот этим сообщением. Ничего сложного. Далее идёт обработчик любого текстового сообщения. Здесь мы сразу делаем запрос в искусственный интеллект. Точно так же, как мы делали это ранее. Но есть одно отличие. В контент мы передаём message. То есть в этой переменной хранится текст того сообщения, которое вы отправили боту. Далее мы также вызываем функцию заполнения документов. В этот момент у нас создастся новый документ, который будет называться result.dcs. Вот здесь мы этот документ получаем и с помощью message answer докумен отправляем этот документ пользователю. Вот с таким описанием ваш сгенерированный документ. Сюда нам нужно вставить токен Telegramбота. А сюда пи ключ отстрал. Если вы всё это сделали, можем бота запускать и тестировать. Видим, что бот запустился, ошибок нет. Переходим в бота и отправляем ему команду старт. Видим, что он нам отвечает. И напишем, например, вот такое сообщение: "Меня зовут Елена, мне 39 лет. Я купила микрофон и надо отправить его в Москву. Попробуем это сообщение отправить и посмотреть, как неросеть отработает". Мы видим, что неросеть отобрала Сити Москва, name Елена и Description - это микрофон. То есть здесь вопросов нет, и документ нам был отправлен. Видим город Москва, тут микрофон, тут Елена. Всё отлично.

Данного агента можно развить до состояния, чтобы он из одного документа, например, получал нужные данные, вставлял его в другой документ и подготавливал его для вас. Ну, не рассеть от Misteri она, во-первых, бесплатная, у неё маленькие лимиты, во-вторых, она не особо умная, поэтому сильно на неё не рассчитывайте. По созданию сложных ей агентов у меня есть отдельный курс. Если вам интересно, перейдите ко мне в Telegramбота и смотрите об этом более подробно.