Тема как написать телеграм бота уже довольно тривиальная, статей в интернете полно, поэтому тут я затронул это дело не так глубоко, ниже выложу ссылки на исходный код, разобраться будет не сложно.
Основным мотивом написания статьи послужил тот факт, что ChatGPT не доступен в ряде стран, в том числе в России, и хотелось сделать его по настоящему общедоступным.
Готовый/работающий телеграм бот ChatGPT доступен тут.
На вопрос "Кто ты?" сама нейросеть отвечает примерно следующее "Я - ChatGPT, крупнейшая языковая модель, созданная OpenAI. Я разработана для обработки естественного языка и могу помочь вам ответить на вопросы, обсудить темы или предоставить информацию на различные темы".
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Мы можем только догадываться, что происходило в рождественские выходные 1989 года, когда Гвидо ван Россум приступил к своему хобби-проекту. Что можно сказать о Python, чего ещё не было сказано? Это один из самых популярных языков в мире, первый язык, на котором я учился программировать по-настоящему, и одно из самых громких имён в сфере машинного обучения. Судя по всему, он ни за что не должен был получить всю ту популярность, которой добился. Его на несколько лет опережал Perl: релиз 1.0 вышел в 1987 году и пустил глубокие корни в мире Unix, компьютерной графики и биоинформатики.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Переменные являются неотъемлемой частью языка Python. Они позволяют нам легко сохранять данные, работать с ними и ссылаться на них в наших проектах. Эта статья даст вам полное представление о переменных Python, необходимое для их эффективного использования в ваших проектах.
Переменные необходимы для хранения значений и ссылок на них в нашем приложении. Сохраняя значение в переменной, вы можете использовать его сколько угодно раз и каким угодно образом в вашем проекте.
Переменные являются неотъемлемой частью языка Python. Они позволяют нам легко сохранять данные, работать с ними и ссылаться на них в наших проектах. Эта статья даст вам полное представление о переменных Python, необходимое для их эффективного использования в ваших проектах.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вас заинтересовал заголовок этой статьи, значит, вас интересует создание телеграм-ботов, и вы стремитесь к совершенству в этом. Разработка телеграм-ботов требует не только креативности, но и правильной архитектуры. В этой статье мы рассмотрим 9 архитектурных антипаттернов, которые могут стать серьезными преградами на вашем пути к созданию бота.
Для многих начинающих разработчиков создание Телеграм бота может показаться достаточно простой задачей. Однако опытные знают, что успех в этой области зависит от многих факторов, включая архитектуру вашего приложения. Архитектурные решения могут определить, насколько ваш бот будет масштабируемым, надежным и легко поддерживаемым в будущем.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Пишем GPT в 60 строк NumPy (часть 1 из 2)
GPT расшифровывается как Generative Pre-trained Transformer. Этот тип архитектуры нейросети основан на трансформере. Статья How GPT3 Works Джея Аламмара — прекрасное высокоуровневое введение в GPT, которое вкратце можно изложить так:
⏺ Generative: GPT генерирует текст.
⏺ Pre-trained: GPT обучается на множестве текстов из книг, Интернета и так далее
⏺ Transformer: GPT — это нейронная сеть, содержащая в себе только декодирующий трансформер.
Большие языковые модели (Large Language Model, LLM) наподобие GPT-3 компании OpenAI, LaMDA компании Google и Command XLarge компании Cohere по своему строению являются всего лишь GPT. Особенными их делает то, что они:
1) очень большие (миллиарды параметров)
2) обучены на множестве данных (сотни гигабайтов текста).
В этом посте мы начнём реализацию с нуля GPT всего в
🧠 Читать статью
Просто Python
GPT расшифровывается как Generative Pre-trained Transformer. Этот тип архитектуры нейросети основан на трансформере. Статья How GPT3 Works Джея Аламмара — прекрасное высокоуровневое введение в GPT, которое вкратце можно изложить так:
Большие языковые модели (Large Language Model, LLM) наподобие GPT-3 компании OpenAI, LaMDA компании Google и Command XLarge компании Cohere по своему строению являются всего лишь GPT. Особенными их делает то, что они:
1) очень большие (миллиарды параметров)
2) обучены на множестве данных (сотни гигабайтов текста).
В этом посте мы начнём реализацию с нуля GPT всего в
60 строках numpy. Во второй части статьи мы загрузим в нашу реализацию опубликованные OpenAI веса обученной модели GPT-2 и сгенерируем текст.Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Пишем GPT в 60 строк NumPy (окончание, 2/2)
В первой части поста мы начали реализацию с нуля GPT всего в 60 строках numpy.
Во завершающей части мы загрузим в нашу реализацию опубликованные OpenAI веса обученной модели GPT-2 и сгенерируем текст.
Если не вдаваться в подробности, архитектура GPT состоит из трёх частей:
⏺ Текстовые + позиционные эмбеддинги
⏺ Стек декодера трансформера
⏺ Этап проецирования на вокабулярий
🧠 Читать статью
Просто Python
В первой части поста мы начали реализацию с нуля GPT всего в 60 строках numpy.
Во завершающей части мы загрузим в нашу реализацию опубликованные OpenAI веса обученной модели GPT-2 и сгенерируем текст.
Если не вдаваться в подробности, архитектура GPT состоит из трёх частей:
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Чат‑бот в Telegram может работать в одном из двух режимов.
Один из них называется polling — это когда код, непосредственно реализующий механику бота, опрашивает сервера Telegram с определенной периодичностью («не появилось ли чего новенького»). А если обнаружена активность в чате — реализуется определенная механика взаимодействия (общения).
Второй режим работы ботов, webhook, подразумевает, что Telegram сам вызывает обработчик события/сообщения, когда в боте происходит какая‑то активность. Другими словами, код, реализующий механику бота, срабатывает по инициативе человека, который «общается» с ботом. Самый главный плюс от такого режима работы — ответ бота на действие человека происходит мгновенно: человек написал что‑то боту, Telegram тут же вызвал webhook, написанный код сразу «ответил» человеку.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Обработка данных в реальном времени стала важной составной частью современного мира. Бизнес, исследователи, разработчики и многие другие специалисты сталкиваются с необходимостью обрабатывать потоки данных в реальном времени, чтобы принимать решения быстрее и более точно.
Обработка данных в реальном времени позволяет:
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Тест-драйв PyTorch 2.0 и заглядываем под капот «двушки»
Новейший метод для ускорения кода в PyTorch 2.0 — torch.compile(), который позволяет JIT‑компилировать код PyTorch в оптимизированные ядра, требуя минимальных изменений кода.
JIT‑компиляция (Just‑In‑Time compilation) — это процесс, при котором код на высокоуровневом языке преобразуется в код на низкоуровневом языке, который может быть быстрее и эффективнее исполнен процессором или графическим ускорителем. torch.compile() использует TorchDynamo и заданный бэкенд для JIT‑компиляции кода PyTorch.
В посте мы рассмотрим, насколько эффективен torch.compile() на практике, заглянем под капот «двушки» PyTorch 2.0, чтобы узнать, как работает этот метод и какие преимущества он дает. Разработчики PyTorch заявляют, что torch.compile() может дать прирост производительности до 50% по сравнению с обычным кодом PyTorch. Для проверки этого заявления мы проведем ряд экспериментов на разных моделях и данных, выясним, есть ли реальная выгода от использования torch.compile().
💬 Читать подробнее
Просто Python
Новейший метод для ускорения кода в PyTorch 2.0 — torch.compile(), который позволяет JIT‑компилировать код PyTorch в оптимизированные ядра, требуя минимальных изменений кода.
JIT‑компиляция (Just‑In‑Time compilation) — это процесс, при котором код на высокоуровневом языке преобразуется в код на низкоуровневом языке, который может быть быстрее и эффективнее исполнен процессором или графическим ускорителем. torch.compile() использует TorchDynamo и заданный бэкенд для JIT‑компиляции кода PyTorch.
В посте мы рассмотрим, насколько эффективен torch.compile() на практике, заглянем под капот «двушки» PyTorch 2.0, чтобы узнать, как работает этот метод и какие преимущества он дает. Разработчики PyTorch заявляют, что torch.compile() может дать прирост производительности до 50% по сравнению с обычным кодом PyTorch. Для проверки этого заявления мы проведем ряд экспериментов на разных моделях и данных, выясним, есть ли реальная выгода от использования torch.compile().
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Многопоточность в Python: очевидное и невероятное
Уровень сложности
Средний
В данной статье я покажу на практическом примере как устроена многопоточность в Python, расскажу про потоки, примитивы синхронизации и о том зачем они нужны.
Изначально я планировал что это будет простая и короткая заметка, но пока готовил и тестировал код нашел интересный неочевидный момент связанный с внутренностями CPython, так что не спешите закрывать вкладку, даже если уверены что знаете о потоках в Python всё:)
🧠 Читать статью
Просто Python
Уровень сложности
Средний
В данной статье я покажу на практическом примере как устроена многопоточность в Python, расскажу про потоки, примитивы синхронизации и о том зачем они нужны.
Изначально я планировал что это будет простая и короткая заметка, но пока готовил и тестировал код нашел интересный неочевидный момент связанный с внутренностями CPython, так что не спешите закрывать вкладку, даже если уверены что знаете о потоках в Python всё:)
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Для каких проектов лучше всего подходит Flask, а для каких — Django? Какие особенности Flask можно использовать при разработке веб-приложений наиболее эффективно? Я Алексей Некрасов, лидер направления Python в МТС, автор форка библиотеки flask-combo-jsonapi, программный директор курсов по Python в Skillbox, СЕО Forkway и автор канала Python — учим и работаем.
Сегодня, пожалуй, уже никто не пишет веб-приложения на Python. Я имею в виду «чистый» Python: в арсенале разработчиков имеются удобные веб-фреймворки, значительно ускоряющие и упрощающие этот процесс. Один из них — Flask.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Я не программист и Python не знаю. Сегодня ChatGPT написал мне скрипт, который выбирает из кучи папок картинки, собирает их в одну, при этом масштабирует по нужному алгоритму, добавляет тень, потом кладёт их на фон, сверху водяной знак и потом ещё сортирует по нужным папкам.
С некоторых пор стал активно использовать ChatGPT для написания простых скриптов для автоматизации действий. Это не руководство к действию и не «волшебные промпты», лишь описываю свой опыт.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Рассказали, зачем нужны протоколы в Python, почему о них так мало говорят и зачем нужен статический анализатор mypy.
Когда новички изучают Python, очень много внимания выделено на языковые конструкции и концепции. К примеру, рекурсия или ООП. Но никто не замечает, что речь о типизации в этом языке программирования, если заходит, то сильно вскользь? И, как правило, это фразы в стиле: “Python – это язык с динамической типизацией”. Это понятно, но что это означает?
Итак, это случай типизации в языках программирования, когда тип присваивается переменной во время присваивания ей значения. Такая типизация дает языку гибкость, но при этом допускает возникновение ошибок, связанных с типами переменных, параметров функций и так далее.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вы разрабатываете на Python, наверняка задумывались о том, как ускорить код. В статье разбираем три способа, которые помогут в этом.
Python — это мощный и гибкий язык программирования. Однако из-за динамической типизации и интерпретируемости его производительность оставляет желать лучшего. И наверное, каждый, кто разрабатывает на нём продолжительное время, задавался вопросом, как ускорить код на Python. В этой статье рассмотрим три способа на примере одного кейса.
Рассмотрим простую функцию, которая вычисляет сумму квадратов элементов большого списка чисел.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Проверка кода – важная часть функционала разработчика, этот процесс помогает выявить ошибки, пропуски, уязвимости и стилистические недочеты.
Хотите научиться правильно проводить ревью, чтобы повысить качество своих конечных результатов?
Приходите на бесплатный открытый урок «Code-review онлайн» от OTUS.
✅ Преподаватель курса «С# Developer Professional» Антон Герасименко, .net developer + lead с опытом в разработке более 10 лет:
— проведет code-review нескольких учебных проектов;
— расскажет о сode-review в целом: стоит ли его проводить, кому и когда он полезен.
https://otus.pw/wUJO/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, ERID: LjN8KaZCv, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Попросили коллег порекомендовать книги по изучению Python. Сохраняйте подборку в избранное: пригодится и начинающим, и опытным специалистам.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Pandas уже давно является неотъемлемым инструментом в арсенале любого специалиста, работающего с данными на языке Python. Ровно также неотъемлемым навыком является знание языка SQL, предназначенного для извлечения, хранения и модификации данных из реляционных баз.
В данной статье будет рассмотрена еще одна python-библиотека PandaSQL, которая позволяет использовать язык запросов SQL для обработки табличных данных pandas (DataFrame).
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Игра №1. Арканоид
Цель этой игры, отбивать мяч от платформы и не упустить его.
Игра №2. Тетрис.
Эту игру знают все! Главная задача игрока не дать разным, геометрическим фигурам достигнуть "ФИНИША".
Игра №3. Танки.
Для создания данной игры нам потребуется всего ода библиотека, random.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Новую версию Python многие разработчики ожидали с нетерпением. Кто-то и не ждал, поскольку вполне достаточно было возможностей прежней версии. Но Python 3.12 все таки выпустили, сейчас стало известно, что эту ветку будут поддерживать полтора года, а потом для нее станут формировать исправления для устранения уязвимостей — в течение еще трех с половиной лет.
Кроме того, запущен процесс альфа-тестирования Python 3.13, где заявлен режим сборки CPython без глобальной блокировки интерпретатора (GIL, Global Interpreter Lock). Тестировать ветку будут в течение семи месяцев, исправляя ошибки и добавляя новые возможности. Затем еще три месяца — тестирование бета-версий и еще через два месяца появится пред-финальная версия. Но будет потом, а сейчас поговорим о том, что уже есть в руках — о Python 3.12.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM