Для ЛЛ: Продолжение поста о том как сделал полезную для себя утилиту на Python не зная ни одного языка программирования при помощи ChatGPT.
В прошлом посте высказал мнение, что используя ChatGPT вполне себе можно решить свою небольшую цифровую проблемку, делюсь новостями по реализации задуманного.
Напомню, задача была перенаправлять трафик к определенным доменам через VPN. Сложность заключалась в том, что заворачивать в туннель нужно было трафик к доменам, а не IP адресам т.е. именно к DNS именам IP адреса которых постоянно меняются, что делает практически бесполезным их добавление в статические маршруты или VPN конфиг. Но основной проблемой был относительно слабый роутер Keenetic Air использовать на котором готовые решения было затруднительно или скорее даже невозможно в силу отсутствия USB порта и очень малого количества ROM, которого с трудом хватает даже для свежих родных прошивок.
Итак, благодаря тому, что OpenAI пусть и ограниченно но для всех желающих открыла доступ к ChatGPT Plus удалось сдвинутся с места и решить практически все имевшиеся проблемы.
С новой языковой моделью стало проще договориться, хотя правильнее наверное будет сказать, что она стала лучше понимать что я от нее хочу и в результате утилита была доработана. Основные изменения: - аптайм работы увеличен с нескольких минут до 100% времени. - повышена скорость работы. - убраны задержки при выполнении операций по SSH. - лог консоли стал более информативным.
Для тех кто дочитал до этого места, опишу логику работы: Программа запущена на VPS который одновременно является VPN сервером. На домашнем роутере основным DNS установлен IP адрес сервера с запущенной программой. Программа принимает DNS запрос от хоста, используя вышестоящий DNS сервер разрешает его в IP адрес и дает ответ хосту, после чего проверяет DNS имя (совпадения по первым октетам) на наличие в пользовательском списке и в случае совпадения через SSH отправляет роутеру команду на добавление IP адресов этого DNS имени в статические маршруты, указывая в качестве шлюза для этих IP адресов настроенное в роутере VPN соединение.
Что не получается решить: отправка всех команд за одну SSH сессию, сейчас для каждой команды инициируется отдельное подключение. Никак этот момент победить не получается. Что хочется добавить: работу с несколькими рекурсивными DNS серверами. Сейчас используется один вышестоящий DNS и очень редко, но бывает, он вылетает в таймаут по количеству запросов в секунду.
Однако производительности и текущей конфигурации хватает для обслуживания всех домашних устройств без каких-либо значительных задержек.
Пост запилил себе на память, но, если кто чего подскажет - будет хорошо, а если кому-то окажется полезным так и вообще - восторг. Код доступен на GitHub.
С момента выхода ChatGPT 4, будучи гиком по природе и энтузиастом всякого интересного в IT, я - в начале из любопытства, затем по работе и в итоге с головой погрузился в данную нейросеть, от месяца к месяцу открывая для себя всё новые и новые возможности этого уникального и удивительного творения рук человеческих.
Как обобщить полезность и суть данного явления? Наверное самое простое и ёмкое объяснение будет звучать так:
"Представьте, что у вас круглосуточно на связи взрослый, эрудированный специалист, компетентный во всех сферах человеческого знания и готовый без устали отвечать на любые ваши вопросы".
Что я реализую с помощью GPT4:
Программирование: Я не являюсь программистом, но с помощью ChatGPT мне удалось разработать и написать множество программных комплексов. Например, я создал скраппер для сбора данных из интернет-магазинов, торгового бота, бота-бэктестера торговых параметров и Telegram чат-бота, который имитирует поведение реальных людей.
Создание уникального контента: на основе выявленных предпочтений аудитории, а также любой вводной информации, ChatGPT может предложить набор тематик для контента или даже написать его по заданной тематической сетке. При совместной работе можно создавать большие объёмы уникальных текстовых материалов, а степень вашего участия определит их уникальность и востребованность. Также GhatGPT - прекрасный рерайтер, умело повторяющий стилистику заданного текста.
Обучение любому навыку: программирование, языки, институтские и школьные дисциплины. ChatGPT может поэтапно обучить большинству известных учебных дисциплин и навыков, предоставляя и объясняя материал, создавая уникальные задачи и помогая с их решением.
Обработка текстов: Использую ChatGPT для обработки больших массивов текста и выделения закономерностей. Например, могу делать выборку юзернеймов и определять, принадлежат ли они мужчинам или женщинам.
Психология и коучинг: Обладая энциклопедическими знаниями в области психологии, ChatGPT способен разобраться в сложных и противоречивых ситуациях, найти слова поддержки и предложить пути самостоятельного решения различных психологических проблем и задач.
Медиация: ChatGPT выступает в роли квалифицированного психолога, помогая подобрать и сформулировать нужные слова, речевые обороты и фразы. Это значительно повышает мою эффективность в текстовых переговорах.
Медицина: ChatGPT помогает формулировать терапевтические протоколы для лёгких заболеваний, которые не требуют сиюминутной врачебной помощи.
Решение задач: ChatGPT решает математические, логические, технические и прочие задачи практически любой сложности.
Неформальное общение: На философские, культурные и любые другие темы ChatGPT является замечательным собеседником.
И это далеко не всё. Для полного описания возможностей ChatGPT мне потребовалось бы написать нечто вроде книги или методического пособия. При необходимости я мог бы привести пруфы, промты и любые другие подтверждения по любому из вышеописанных пунктов. Обобщая вышесказанное, ChatGPT стал полноценным компаньоном, сотрудником, другом и помощником.
Если какой-то из вышеописанных пунктов нужно раскрыть подробнее - пишите, с радостью отвечу в комментариях.
Если вам интересно, вы можете попробовать повторить мой опыт — первым шагом может быть использование моего бота.
Пользуясь выходом нового, прогрессивного движка GPT-4o, я перезапустил своего GPT-4 бота на новой модели. Это позволило мне наглядно продемонстрировать мир будущего, который строится уже сейчас, буквально на наших глазах.
Я практикуюсь в создании Telegram ботов на Python. Это один из моих первых ботов, который изначально был создан для себя, а именно для быстрого доступа к хорошему ИИ в кармане без коммерческой выгоды.
Но истинную пользу данному аналогу гпт я нашел только проверив его в ситуации. Расскажу небольшую предысторию, вернувшись с академического отпуска, во время которого я много работал на фрилансе с Python - мне вновь предстояло столкнуться с WEB разработкой и в первый же день была проверочная работа на которой проводился анализ знаний студентов в данной области, я же в свою очередь ничего не помнил и знал лишь базовые основы web, но у меня была своя нейронка в кармане, которой я смог быстро и незаметно скормить все вопросы как итог - 6/6 верно и троица студентов группы кто сдал на отлично.
Далее я начал его распространять и смотреть как он может помогать людям в моем ближайшем окружении учебного заведения - она была полезна как психолог, программист, кулинар, учитель английского, инженер и механик авто.
В общем ее польза была мне очевидна и мой принцип в данном случае - это именно бесплатная и доступная для всех людей технология которая может реально помочь даже в трудной казалось бы ситуации, достаточно корректно задать вопрос и самому подумать верно ли то что ты хочешь получить или нужно направить ии по другому пути генерации ответа.
Основной мой посыл - это просьба протестировать нейросеть и оставить отзыв о том был ли мой продукт полезен вам и смог ли я стать небольшой частичкой вашей жизни?)
Есть юзкейс, который надо решить, и хочется быстро собрать под него команду автономных агентов? Сейчас расскажу, как это сделать.
Данный пост применим к фреймворку CrewAI. Ребята из CrewAI сделали не просто классный фреймворк, но они еще и позаботились о нас, создав GPT-приложение для ChatGPT, в котором загружена вся документация фреймворка. Что значительно облегчает нам жизнь!
1) Заходим в Explore GPTs и находим CrewAI Assistant.
2) В диалоге жмакаем на Help me create a crew for a use case.
3) Чат делает уточнение про Objective, Roles, Tools, Processes. Даем больше деталей по каждому пункту. Достаточно просто прописать Objective.
4) Чат выдает структуру команды, и мы просто просим его: Please provide the complete Python script for this.
5) Вуаля! Наш сетап команды в виде юзабельного Python-скрипта готов. Берем и докручиваем при необходимости.
5 минут и команда автономных профи у вас под рукой.
ChatGPT — виртуальный помощник на базе ИИ. Он генерирует текст по запросу, ведет диалог и понимает контекст, решает математические задачи, умеет писать стихи и код.
Что такое нейросеть ChatGPT простыми словами
ChatGPT это чат-бот, который выглядит как текстовый диалог с реальным человеком. В его основе — нейронная сеть, которая обучалась на огромных массивах текстовой информации: статьях из интернета, книгах, переписках в соцсетях и блогах, энциклопедиях.
В ChatGPT загружено множество разных источников информации, поэтому чат-бот умеет генерировать результат и выдавать ответы по любым областям знаний: решить задачу по линейной алгебре, проанализировать последствия Брестского мира или придумать детскую сказку, героями которой предстанут депутаты британского парламента.
Что умеет ChatGPT
ChatGPT — не просто чат-бот, а настоящий интеллектуальный помощник. Он может адаптироваться к разнообразным задачам и запросам: от генерации текста до анализа информации и перефразирования. Возможности нейросети ограничиваются лишь воображением пользователя.
Давать глубоко проработанные ответы на вопросы. В отличие от поисковых систем, ChatGPT не ограничивается простым копированием текстовых фрагментов, а формирует ответы, учитывая контекст запроса. С чат-ботом можно вести диалог, в ходе которого подстраивать свои вопросы для получения нужного результата.
Я не программист. Наверняка эту задачу можно было решить одной строчкой кода и гораздо проще, чем получилось. Задача была проверить можно ли заставить ChatGPT написать работающий код, не вникая в него и не правя его руками.
Получился длинный пост. Если вы как и я не программист - пропускайте куски кода и читайте только комментарии Chat GPT к этому коду. Так же можно для интереса посмотреть комментарии в коде, начинающиеся с "#" там он описывает что выполняет каждая строчка этого кода.
Так же с chatgpt я имел дело впервые и запросы к нему могли быть не оптимальными.
Прелюдия
Итак, недавно попалась мне на глаза статейка, что ChatGPT спокойно прорешивает задачки по программированию с сайта leetcode, где выкладывают разного уровня сложности задачки для прогеров. Попалась и запала где то в закуток создания. А еще новость прошла, что недавно ЧатЖПТ версии 3,5 открыли всем желающим в пользование без регистраций и смс.
Сам я поигрываю порой в Battlefield 4 и люблю побегать в особый режим "Hardcore" на одной определенной карте "Operation Locker". Есть один сервер, где гоняют эту карту с этим режимом и присутствует достаточное количество игроков. Но на беду когда я захожу на страницу сервера, либо матч уже заканчивается либо идет другая карта. И вот подумалось мне: а как бы вот так сделать, чтобы мне приходило уведомление, мол карта ваша началась и народу - тьма. Заходите будьте любезны.
Вот тут и вспомнил я про волшебную коробчонку, что за любую задачу возьмется и размотает на раз-два. Стало мне интересно, а сможет ли обычный непрограммист по запросу получить рабочий продукт? Терять нам нечего, давай думаю поковыряю я его, авось и накодит мне что-нибудь!
К действию!
Для начала нужно было подключиться к чату и проверить что он действительно работает.
https://chat.openai.com - открылся (не без впн) и к моему удивлению начал мне отвечать без всяких регистраций.
С этой страницы нам нужно получить данные о текущей карте и количестве игроков.
Опа. Оказывается в этой свободной версии Чатик не может ни обращаться по сторонним адресам, ни открывать файлы. Поразмыслив пришел к решению, что нужно скормить ему текст веб страницы прямо в чат. Заходим на страницу сервера, жамкаем правой кнопкой мыши и выбираем - "Показать код страницы". Получаем нехилый кусок HTML кода:
И такого еще страниц на 10.
Копируем текст в чат. Получаем результат:
Чатик подавился.
Лимит у него. Не переваривает длинный текст.
Начинаю вводить по кусочкам. Он начинает на основе каждого кусочка пытаться что то сообразить и долго писать мне про них. Пришлось приструнить:
Ожидаемо я несколько раз скормил ему слишком крупный кусок кода и он опять выдавал ошибку о переполнении. И данную ошибку нельзя отменить. Чат зависает и нужно начинать все с начала!
Когда в пятый раз запарываешь простую операцию по копированию кода.
В итоге я плюнул на огромный кусок кода на JavaScript, который не влезал целиком и решил оставить только HTML код, идущий до него. На удивление, этого хватило чатику чтобы сделать правильные выводы:
Кажись нашел.
Далее я попросил его проверить остальные части кода и убедиться, что более нигде упоминание текущей карты не встречается. Он начал показывать мне куски кода, где могло быть это описание и заявлять что тут его тоже нет. В итоге выдал:
Штош, круг подозреваемых сужен до единственного. Можно брать тепленьким.
А вот и код пошел!
Идем качаем питон, ставим. Для того чтобы записать код используем блокнот Notepad++.
Копируем код в блокнот, сохраняем в формате питоновского скрипта. Запускаем - шиш! Не установлены библиотеки для обращений к HTML страницам. Спрашиваем у Чатика как поставить библиотеки:
Открываем командную строку Windows, вставляем туда строчку.
Кажись поставилось.
Запускаем скрипт
Все что выдает скрипт - надпись Operation Locker. Не смотря на то, какая карта сейчас на сервере. Очевидно, чатик забыл, что надо пойти по ссылке и узнать какая все таки карта сейчас запущена. Да и в тексте кода что-то никакой ссылки не видно. Ладно, попробуем починить:
Уже интереснее.
Код ожидаемо не запустился потому что появилась новая библиотека requests, которую мы тоже устанавливаем с помощью PIP.
Скриптик показывает имя текущей карты. Это уже успех ящитаю. Идем пить чай, лечим нервы и думаем о тожестве технологий.
Поразмыслив о высоком вспоминаем, что помимо карты нас еще интересует сколько же бедолаг на ней сейчас подвергают друг друга избиению, ведь бегать втроем на сервере контрпродуктивно. Возвращаемся к чатику и требуем дополнительных данных:
Сразу не отходя от кассы просим сделать один скрипт из двух:
Итак, скрипт с определенной периодичностью обращается на страницу сервера и сообщает какая карта и сколько игроков там играют.
Лимиты поста ограничивают мой творческий фонтан. Если кому-нибудь будет интересно что тут написано, то сделаю вторую часть о том, как я прикручивал эту трихомудию к Телеграм-боту.
Первые выводы:
Можно ли заставить ChatGPT написать нужный вам код?
- Да, можно.
Сможет ли это сделать любая блондинка без логического мышления?
- Если ей сильно повезет и она укажет чату во всех подробностях и условиях что и как она хочет. У меня лично не получилось. Пришлось тыкать его палкой на каждом повороте.
Говорят, что версия 4.0 гораздо умнее, но она стоит 20$ в месяц, посему тестировать ея пока не желаю.
Midjourney приняла решение отказаться от использования Discord и представила свой новый веб-сайт для генерации изображений. Теперь пользователи больше не будут привязаны к использованию Discord и смогут наслаждаться новым удобным интерфейсом прямо на сайте Midjourney.
Это обновление приветствуется теми, кто предпочитает не использовать Discord для генерации изображений. Теперь пользователи смогут более свободно выбирать платформу, которую им удобно использовать для работы с Midjourney.
Однако, следует отметить, что генерация изображений на новом веб-сайте доступна только для платных пользователей, которые сгенерировали более 10 000 изображений. Это ограничение введено для технических и организационных целей, и об этом сообщил сам Дэвид Хольц, создатель Midjourney.
Переход Midjourney на собственный веб-сайт для генерации изображений является важным шагом в развитии этой платформы. Новый интерфейс на сайте предоставляет больше гибкости и удобства для пользователей, а также открывает новые возможности для улучшения сервиса.
Вы можете создать свою картинку при помощи нашего телеграмм бота "ТУТ"
Devin AI отличается от обычных программистов. Этот инновационный ИИ разработан стартапом Cognition и считается первым в мире инженером-программистом ИИ. Но какие именно преимущества это дает и как оно повлияет на будущее кодирования? Как он изменет игру...
Devin AI отличается от обычных программистов. Этот инновационный ИИ разработан стартапом Cognition и считается первым в мире инженером-программистом ИИ. Но какие именно преимущества это дает и как оно повлияет на будущее кодирования?
Devin AI, проект стартапа Cognition, вызвал настоящий шок в технологическом мире. Этот ИИ - не просто еще один помощник по программированию, он создан с целью стать полноценным инженером-программистом, способным управлять проектом от идеи до реализации. Но что стоит за ним? Давайте взглянем на его возможности и изучим потенциальную технологию, которая лежит в его основе.
Что способен делать Devin?
В отличие от традиционных помощников по программированию на базе искусственного интеллекта, таких как GitHub Copilot, которые предлагают фрагменты кода и предложения, Devin работает на совершенно новом уровне.
Вот его главные отличия:
1. Независимое выполнение проектов: Если вы дадите Devin четкую цель, например, создание платформы электронной коммерции, он способен взять на себя полный цикл разработки. Он пишет чистый код, исправляет ошибки и даже разворачивает готовый продукт.
2. Превосходное планирование и предотвращение проблем: Говорят, что Devin обладает удивительной способностью предвидеть потенциальные проблемы и организовывать процесс разработки таким образом, чтобы обеспечить максимальную эффективность.
3. Самообучение и совершенствование: Постоянно обновляясь и развиваясь, Devin учится на своем опыте, улучшая свои навыки программирования и способность решать проблемы.
4. Отладка на профессиональном уровне: Devin способен находить и исправлять ошибки в своем собственном коде, что экономит драгоценное время разработчиков на отладку.
И многое другое...
Тестирование Devin:
Devin успешно прошел тестирование на площадке SWE-Bench, где агенты решают реальные проблемы GitHub, обнаруженные в проектах с открытым исходным кодом, таких как Django и Scikit-learn.
Devin правильно решает 13,86%* сложных проблем, что значительно превышает предыдущий результат в 1,96%. Даже при предоставлении точных файлов для редактирования лучшие предыдущие модели справляются только с 4,80% проблем.
Потенциальное влияние Devin: волна изменений в технологической отрасли
Появление Devin в качестве первого в мире инженера-программиста ИИ вызвало необычайный резонанс в технологической отрасли. Его возможности могут потенциально революционизировать различные аспекты разработки программного обеспечения и оказать воздействие на бизнес, разработчиков и даже пользователей. Рассмотрим некоторые значимые последствия:
Повышение производительности разработчиков:
- Освобождение от рутинных задач: Devin способен автоматизировать повторяющиеся задачи кодирования, такие как создание шаблонного кода или базовых функций. Это позволяет разработчикам сконцентрироваться на стратегическом мышлении, творческом решении проблем и инновациях.
- Ускорение циклов разработки: Скорость и эффективность, которые обеспечивает Devin, могут значительно сократить время разработки. Это может привести к более быстрому запуску продукта и более частым итерациям на основе обратной связи пользователей.
- Уменьшение размера команды: В некоторых проектах возможность Devin выполнять значительную часть процесса разработки позволяет компаниям работать с более компактными командами разработчиков.
Демократизация разработки программного обеспечения:
- Снижение барьера вхождения: Удобный интерфейс Devin и его способность генерировать код на основе простых инструкций могут поставить на поток даже тех, у кого ограниченные знания в области программирования, и позволить им создавать базовые приложения.
- Рост гражданских разработчиков: Люди в компаниях без технического образования, например, менеджеры продукта или маркетологи, смогут использовать Devin для создания прототипов своих идей или простых инструментов для оптимизации рабочих процессов.
- Появление инноваций из неожиданных источников: Сделав разработку приложений более доступной, Devin стимулирует инновации со стороны более широкого круга людей и команд, что приводит к более разнообразному спектру программных решений.
Преимущества для бизнеса и потенциальные риски:
- Ускорение выхода на рынок: Благодаря Devin компании могут быстрее представлять свои продукты и услуги на рынок, что потенциально дает им конкурентное преимущество.
- Снижение затрат на разработку: Более быстрые циклы разработки и более компактные команды могут привести к существенной экономии затрат для бизнеса.
- Изменение набора навыков разработчиков: Поскольку Devin берет на себя многие рутинные задачи, разработчикам приходится адаптироваться и развивать новые навыки, уделяя больше внимания таким областям, как дизайн-мышление, пользовательский опыт и сложное решение проблем.
Воздействие на технологическую сферу:
- Наблюдается стремительное развитие программного обеспечения: Благодаря эффективности Devin, возможно значительное увеличение количества разработанных программных приложений, что приведет к созданию насыщенного и конкурентоспособного рынка.
- Фокус на пользовательском опыте: Благодаря ускоренным циклам разработки компании могут уделять более приоритетное внимание тестированию и итерации пользовательского опыта, чтобы выделиться на перегруженном рынке.
- Эволюция роли разработчиков: С развитием искусственного интеллекта, такого как Devin, роль разработчиков может эволюционировать в направлении управления этими инструментами, управления сложными проектами и обеспечения общего качества и безопасности программного обеспечения.
Возможные потери рабочих мест:
- Автоматизация повторяющихся задач:
Способность Devin выполнять рутинные задачи кодирования, такие как написание шаблонного кода или базовых функций, может сделать некоторые задачи начинающих программистов устаревшими.
- Уменьшение размера команд: В случае менее сложных проектов эффективность Devin может позволить компаниям работать с более компактными командами разработчиков, что потенциально может привести к сокращению рабочих мест.
- Изменение набора навыков: По мере того, как искусственный интеллект берет на себя рутинные задачи по кодированию, спрос на разработчиков с такими специфическими навыками может снизиться.
Важно помнить, что это лишь потенциальные последствия. Как Devin окончательно сформирует технологическую индустрию, будет зависеть от его дальнейшего развития, его интеграции в существующие рабочие процессы и от того, как заинтересованные стороны будут адаптироваться к этому меняющемуся ландшафту.
Является ли Devin ИИ будущим?
Разработка Devin представляет собой значительный прогресс в области использования искусственного интеллекта в кодировании. Но важно помнить, что он все еще находится в стадии разработки. Несмотря на то, что Devin может справиться с многими задачами, сложные проекты все равно могут требовать человеческого опыта.
Будущее разработки программного обеспечения, вероятно, связано с сотрудничеством, при котором инструменты искусственного интеллекта, такие как Devin, расширяют возможности человека. Это может привести к созданию более эффективной и инновационной среды разработки, приносящей пользу как предприятиям, так и пользователям.