Неофициальный Python-клиент для gpt4free.pro (текст, изображения, async/sync интерфейсы)
Project description
⚠️ Важное предупреждение
Я НЕ РЕКОМЕНДУЮ использовать эту библиотеку в продакшн-среде или для важных задач по следующим причинам:
- Низкое качество кода - Библиотека была написана неопытным разработчиком ("рукожопом") и содержит множество потенциальных проблем
- Нестабильность сервиса - gpt4free.pro может быть крайне нестабильным, закрыться в любой момент или иметь дополнительные недокументированные ограничения
- Отсутствие документации API - Официальной документации по API нет, поэтому поведение может быть непредсказуемым
- Частые ошибки - Сервис может возвращать непонятные ошибки без внятного описания
📋 О проекте
Эта библиотека предоставляет Python-интерфейс для бесплатного использования различных AI-моделей через сервис gpt4free.pro. Она позволяет генерировать текст и изображения без необходимости API-ключей.
Поддерживаемые возможности:
- ✅ Текстовая генерация (чат)
- ✅ Генерация изображений
- ✅ Стриминг ответов
- ✅ Синхронный и асинхронный интерфейсы
- ✅ Поддержка мультимодальных сообщений
⚠️ Ограничения сервиса
Важные ограничения, о которых нужно знать:
- Текстовая генерация: ~5 запросов в минуту
- Генерация изображений: ~1 запрос в 30 секунд
- Нестабильность: Сервис может быть недоступен в любое время
- Непредсказуемые ошибки: Могут возникать без очевидных причин
🚀 Быстрый старт
Установка
# Установите библиотеку (если она доступна через pip)
pip install g4fpro
Базовое использование
from g4fpro import Chat, AsyncChat, ImageGenerator, Messages
# Инициализация чата
chat = Chat()
# Простой текстовый запрос
response = chat.generate("Привет, как дела?")
print(response['choices'][0]['message']['content'])
📖 Детальная документация
Класс Chat (синхронный)
Основной класс для синхронной текстовой генерации.
chat = Chat()
response = chat.generate(
message="Расскажи о космосе",
model="gpt-4o-mini",
# Следующие параметры МОГУТ НЕ РАБОТАТЬ из-за ограничений gpt4free.pro:
temperature=0.7, # Может игнорироваться
top_p=0.9, # Может игнорироваться
max_tokens=500, # Может игнорироваться
presence_penalty=0.1, # Может игнорироваться
frequency_penalty=0.1, # Может игнорироваться
stop=["\n", "###"] # Может игнорироваться
)
Класс AsyncChat (асинхронный)
Асинхронная версия для текстовой генерации.
async_chat = AsyncChat()
# Асинхронная генерация
response = await async_chat.generate("Привет!")
# Стриминг
async for chunk in async_chat.generate_stream("Расскажи историю:"):
print(chunk, end="", flush=True)
Класс ImageGenerator
Генерация изображений по текстовому описанию.
image_gen = ImageGenerator()
# Получить URL изображений
urls = image_gen.generate_urls("Красивый закат над морем", model="sdxl")
# Сохранить изображения
paths = image_gen.save_images(
prompt="Кот в шляпе",
save_path="images/cat",
n=2 # количество изображений
)
Класс AsyncImageGenerator
Асинхронная генерация изображений.
async_image_gen = AsyncImageGenerator()
# Асинхронная генерация
urls = await async_image_gen.generate_urls("Город будущего")
Класс Messages
Утилита для работы с мультимодальными сообщениями.
messages = Messages()
# Текстовое сообщение
messages.add_text_message("user", "Привет!")
# Сообщение с изображением по URL
messages.add_url_image_message(
"user",
"https://example.com/image.jpg",
"Что изображено на этой картинке?"
)
# Сообщение с локальным изображением
messages.add_file_image_message(
"user",
"path/to/image.png",
"Проанализируй это изображение"
)
# Использование с чатом
response = chat.generate(messages)
Класс Models
Получение информации о доступных моделях.
# Все модели
all_models = Models.get_all_models()
# Только чат-модели
chat_models = Models.get_chat_models()
# Только модели для генерации изображений
image_models = Models.get_image_models()
# Асинхронные методы
chat_models = await Models.get_chat_models_async()
📝 Важные замечания
По параметрам генерации:
Следующие параметры могут не работать или игнорироваться сервисом gpt4free.pro:
temperature- контроль случайностиtop_p- nucleus samplingmax_tokens- ограничение длины ответаpresence_penalty- штраф за повторение темfrequency_penalty- штраф за частоту токеновstop- стоп-последовательности
Рекомендация: Используйте только обязательные параметры (message, model), так как остальные могут не поддерживаться.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file g4fpro-0.1.3.tar.gz.
File metadata
- Download URL: g4fpro-0.1.3.tar.gz
- Upload date:
- Size: 19.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b633f20be60d780a0c8499752efcbf3b8a53f83bdf3363532a90f20c31fa72fd
|
|
| MD5 |
cca63ff93aca760bf0f850565bb1bf46
|
|
| BLAKE2b-256 |
677cbb35301f82c049b107c990251ef23619b2401b381bd63949858dc6954cdf
|
File details
Details for the file g4fpro-0.1.3-py3-none-any.whl.
File metadata
- Download URL: g4fpro-0.1.3-py3-none-any.whl
- Upload date:
- Size: 21.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b94b3537fd766139427e6aca52999ec78312e5628ebdb1a3bc5bd95a4371ae0
|
|
| MD5 |
17621e98b111d7e33378dc8f0d44550b
|
|
| BLAKE2b-256 |
61a54e4ceeb3e6743e7b4223d268e1be4f736bac828bb6ae0106877e0ec4a47b
|