В своем коде для очистки телеграмма от ненужных каналов я использовал библиотеку gpt4free, через которую можно бесплатно взаимодействовать с API любых моделей и генерировать текст, картинки, звук или видео
В этом посте хочу подробнее рассказать про эту библиотеку и показать примеры кода. Инструмент реально полезный и подойдет для тонны задач, а больше таких приколов будет в щитпосте
🤌 Как это работает?
Простым языком — G4F это сборник неофициальных API/сайтов, которые могут бесплатно выполнить ваш запрос на создание текста или фото. Иначе такие ресурсы называются провайдерами
Сами провайдеры оформлены как классы в библиотеке и маршрутизируют запрос к уже реальной модели разными способами (через веб-интерфейс/cookie/HAR-файл/api)
Среди бесплатных провайдеров также есть и платные, в параметрах класса которых можно указать свои API-ключи и получить удобный доступ к нейронке (к тому же GPT5)
⭐ Варианты установки
В репозитории проекта для установки указана команда
pip install -U g4f[all], но с таким параметром [all] вы установите ненужные компоненты, поэтому вот описание extras по отдельности:•
[openai] — подойдет для текстовых моделей•
[api] — нужно для локальной апи•
[gui] — зависимости для Web UI•
[webdriver] — ниже расскажу•
[image] — это для создания фотоНекоторым провайдером для работы нужно открывать браузер и это не всегда удобно. Поэтому
[webdriver] не пригодится и чтобы в будущем не запускать браузер можно прописать pip uninstall undetected-chromedriver, чтобы вручную не перебирать провайдеров🌳 Использование
Основной задачей будет выбор рабочего и быстрого провайдера. Я перебирал актуальных и убирал тех, которые генерируют аудио и фото, а также для работы которых нужен API-ключ
Вот код для проверки рабочих и быстрых провайдеров — https://t.me/by_asynco/2582
Далее провайдеры (один или несколько) передаются в объект клиента, через который уже начинаются отсылаться запросы через метод
client.chat.completions.createОтвет приходит в виде JSON с тонной параметров, от времени запроса, до данных по выбранной модели. Сам ответ находится по пути
response.choices[0].message.contentЕще один важный момент — иногда провайдер может сломаться и не отвечать, для этого есть RetryProvider, который делает несколько попыток запроса. Пример кода можете найти у меня в репозитории
🌑 Если нужна память
Иногда нужно сохранять контекст диалога, для этого можно написать кастомный класс, в котором будет храниться вся история запросов и ответов. Полный код класса найдете здесь
Также стоит упомянуть ключ
role при создании запроса в параметре messages. Есть два типа значения: user если просто запрос и system, если это инструкция для нейросети✨ Ссылки для изучения
• Репозиторий проекта
• Хаб с документацией
• Доступные провайдеры и модели
• Python апи документация
• Настройка конфига для платных моделей
• Создание своего провайдера
• Запуск GPT на телефоне
• Запуск GPT локально с GUI
⚠️ Конец поста
Вот вам и альфа, а не эти ебаные криптовалютные проекты и прочая хуйня! Вообще библиотека очень полезная, благодаря ей можно бесплатно и легко анализировать любые данные, как я это сделал для чистки каналов
Если согласны, то ставьте звездочки и подписывайтесь на второй канал. И репостите тоже, не жадничайте. Связь 🤙🙂
😵💫 щитпост | все мои ссылки | плати соланой