Giriş
GPT4Free, çeşitli sağlayıcılar aracılığıyla bir dizi güçlü dil modeline erişim sağlayan, açık kaynaklı bir Python kütüphanesidir. Zaman aşımı, yük dengeleme ve akış kontrolü gibi özelliklerle çok sağlayıcılı yapay zeka isteklerini gösteren bir konsept kanıtlama API paketidir. Bu kütüphane, geliştiricilerin birçok durumda resmi API anahtarlarına ihtiyaç duymadan, GPT-3.5 ve GPT-4 varyantları dahil olmak üzere metin oluşturma için farklı dil modellerini kullanmasını sağlar.
Bu eğitim, gpt4free kütüphanesinin kurulumu, ayarlanması ve kullanımında size rehberlik edecek ve çeşitli yapay zeka destekli metin oluşturma görevleri için yeteneklerinden nasıl yararlanacağınızı gösterecektir.
Yasal Hususlar
Bu depoyu veya bununla ilgili herhangi bir kodu kullanarak, geliştiriciler tarafından sağlanan yasal bildirimi kabul etmiş olursunuz. Orijinal yazar, bu deponun kullanımından veya onu onaylamaktan sorumlu değildir. Yazar ayrıca, diğer kullanıcılar tarafından yapılan herhangi bir kopya, çatal, yeniden yükleme veya GPT4Free ile ilgili başka herhangi bir şeyden sorumlu değildir.
GPT4Free, öncelikle çok sağlayıcılı isteklerle bir API paketinin geliştirilmesini gösteren bir konsept kanıtı olarak hizmet vermektedir. Bu kütüphaneyi resmi API'leri atlamak için kullanmak, çeşitli yapay zeka sağlayıcılarının hizmet şartlarını ihlal edebilir. Bu kütüphaneye dayalı herhangi bir çözümü bir üretim ortamında dağıtmadan önce, uygun yetkiye sahip olduğunuzdan ve kullanmayı düşündüğünüz her sağlayıcının hizmet şartlarına uyduğunuzdan emin olun.

Uygulama detaylarına dalmadan önce, gpt4free ile API testleri için Postman'e mükemmel bir alternatif olarak Apidog'u kullanabileceğinizi belirtmekte fayda var. Apidog, API tasarımı, hata ayıklama, otomatik test ve dokümantasyon gibi özellikler sunan kapsamlı bir API geliştirme platformudur.
gpt4free arayüz API'si ile çalışırken, Apidog size şunlarda yardımcı olabilir:
- API uç noktalarına istek gönderme
- Farklı parametre yapılandırmalarını test etme
- Yanıt verilerini görselleştirme
- Gelecekteki kullanımlar için API istekleri koleksiyonları oluşturma ve kaydetme
GPT4Free Nasıl Kurulur
Önkoşullar
- Python 3.10 veya üzeri (önerilir)
- Google Chrome (webdriver'lı sağlayıcılar için gereklidir)
GPT4Free'yi Yükleme Yöntemleri
Yöntem 1: PyPI Kullanarak
Tüm özelliklerle eksiksiz bir kurulum için:
pip install -U g4f[all]
Kısmi kurulumlar için:
# OpenAI Chat sağlayıcısı için
pip install -U g4f[openai]
# Arayüz API'si için
pip install -U g4f[api]
# Web arayüzü için
pip install -U g4f[gui]
# Görüntü oluşturma için
pip install -U g4f[image]
# Webdriver'lı sağlayıcılar için
pip install -U g4f[webdriver]
# Proxy desteği için
pip install -U aiohttp_socks
Yöntem 2: GitHub Deposundan

# Depoyu klonlayın
git clone https://github.com/xtekky/gpt4free.git
# Proje dizinine gidin
cd gpt4free
# Sanal bir ortam oluşturun (önerilir)
python3 -m venv venv
# Sanal ortamı etkinleştirin
# Windows'ta:
.\venv\Scripts\activate
# macOS ve Linux'ta:
source venv/bin/activate
# Minimum gereksinimleri yükleyin
pip install -r requirements-min.txt
# Veya tüm gereksinimleri yükleyin
pip install -r requirements.txt
Yöntem 3: Docker Kullanarak

# Docker imajını çekin
docker pull hlohaus789/g4f
# Kapsayıcıyı çalıştırın
docker run -p 8080:8080 -p 1337:1337 -p 7900:7900 --shm-size="2g" hlohaus789/g4f:latest
Slim sürümü için (hem x64 hem de arm64 ile uyumlu):
# Gerekli dizinleri oluşturun
mkdir -p ${PWD}/har_and_cookies ${PWD}/generated_images
chown -R 1000:1000 ${PWD}/har_and_cookies ${PWD}/generated_images
# Slim Docker imajını çalıştırın
docker run \
-p 1337:1337 \
-v ${PWD}/har_and_cookies:/app/har_and_cookies \
-v ${PWD}/generated_images:/app/generated_images \
hlohaus789/g4f:latest-slim \
/bin/sh -c 'rm -rf /app/g4f && pip install -U g4f[slim] && python -m g4f --debug'
GPT4Free'yi Python Temelleri ile Nasıl Kullanılır
ChatCompletion ile Metin Oluşturma
Basit Örnek
import g4f
# Hata ayıklama günlüğünü etkinleştirin (isteğe bağlı)
g4f.debug.logging = True
# Otomatik sürüm kontrolünü devre dışı bırakın (isteğe bağlı)
g4f.debug.version_check = False
# Normal (akışsız) yanıt
response = g4f.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Merhaba, bugün nasılsınız?"}]
)
print(response)
Akış Yanıtı
import g4f
# Yanıtı akışla gönderin
response = g4f.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Bir robot hakkında kısa bir hikaye yazın."}],
stream=True
)
for message in response:
print(message, end='', flush=True)
Belirli Bir Sağlayıcıyı Kullanma
import g4f
# Mevcut tüm çalışan sağlayıcıları listeleyin
providers = [provider.__name__ for provider in g4f.Provider.__providers__ if provider.working]
print("Mevcut sağlayıcılar:", providers)
# Belirli bir sağlayıcıyı kullanın
response = g4f.ChatCompletion.create(
model="gpt-3.5-turbo",
provider=g4f.Provider.Aichat,
messages=[{"role": "user", "content": "Kuantum hesaplamayı basit terimlerle açıklayın."}]
)
print(response)
İstemci API'sini Kullanma
İstemci API'sini kullanan daha modern bir yaklaşım:
from g4f.client import Client
# Bir istemci örneği oluşturun
client = Client()
# Sohbet tamamlamaları kullanarak metin oluşturun
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "Merhaba"}],
web_search=False
)
print(response.choices[0].message.content)
Görüntü Oluşturma
from g4f.client import Client
# Bir istemci örneği oluşturun
client = Client()
# Bir görüntü oluşturun
response = client.images.generate(
model="flux",
prompt="beyaz bir siyam kedisi",
response_format="url"
)
print(f"Oluşturulan görüntü URL'si: {response.data[0].url}")
Sağlayıcı Kimlik Doğrulama
Bazı sağlayıcılar kimlik doğrulama için çerezler veya erişim belirteçleri gerektirir:
from g4f import set_cookies
# Bing için çerezleri ayarlayın
set_cookies(".bing", {"_U": "çerez değeri"})
# OpenAI Chat için erişim belirtecini ayarlayın
set_cookies("chat.openai.com", {"access_token": "belirteç değeri"})
Tarayıcı Otomasyonunu Kullanma
Tarayıcı etkileşimi gerektiren sağlayıcılar için:
import g4f
from undetected_chromedriver import Chrome, ChromeOptions
# Chrome seçeneklerini yapılandırın
options = ChromeOptions()
options.add_argument("--incognito")
# Chrome WebDriver'ını başlatın
webdriver = Chrome(options=options, headless=True)
try:
# Tarayıcıyı birden fazla istek için kullanın
for idx in range(5):
response = g4f.ChatCompletion.create(
model=g4f.models.default,
provider=g4f.Provider.MyShell,
messages=[{"role": "user", "content": f"Bana bir mobil uygulama için {idx+1}. fikri verin."}],
webdriver=webdriver
)
print(f"Fikir {idx+1}:", response)
finally:
# İşiniz bittiğinde her zaman webdriver'ı kapatın
webdriver.quit()
Eşzamansız Destek
Birden fazla istek ile geliştirilmiş performans için:
import g4f
import asyncio
# Kullanılacak sağlayıcıları tanımlayın
providers = [
g4f.Provider.Aichat,
g4f.Provider.ChatBase,
g4f.Provider.Bing,
g4f.Provider.GptGo
]
async def run_provider(provider):
try:
response = await g4f.ChatCompletion.create_async(
model=g4f.models.default,
messages=[{"role": "user", "content": "Adınız nedir?"}],
provider=provider,
)
print(f"{provider.__name__}:", response)
except Exception as e:
print(f"{provider.__name__}:", e)
async def run_all():
calls = [run_provider(provider) for provider in providers]
await asyncio.gather(*calls)
# Tüm sağlayıcıları eşzamansız olarak çalıştırın
asyncio.run(run_all())
Proxy ve Zaman Aşımı Desteği
Ağ kısıtlamalarını yönetmek için:
import g4f
# Belirli bir proxy ve genişletilmiş zaman aşımı ile kullanın
response = g4f.ChatCompletion.create(
model=g4f.models.default,
messages=[{"role": "user", "content": "Python kodumu nasıl geliştirebilirim?"}],
proxy="http://host:port", # veya socks5://user:pass@host:port
timeout=120 # saniye cinsinden
)
print("Sonuç:", response)
Ayrıca, bir ortam değişkeni aracılığıyla genel bir proxy ayarlayabilirsiniz:
export G4F_PROXY="http://host:port"
GPT4Free ile Web Arayüzünü Çalıştırma
GPT4Free, daha kolay etkileşim için bir web arayüzü içerir:
from g4f.gui import run_gui
run_gui()
Alternatif olarak, komut satırını kullanın:
# Flask sunucusunu başlatın
python -m g4f.cli gui --port 8080 --debug
# Veya FastAPI sunucusunu başlatın
python -m g4f --port 8080 --debug
Web arayüzü http://localhost:8080/chat/ adresinde mevcut olacaktır
GPT4Free ile Arayüz API'sini Kullanma
GPT4Free, diğer araçlarla entegrasyon için OpenAI uyumlu bir API sağlar:
# API sunucusunu çalıştırın
from g4f.api import run_api
run_api()
Veya komut satırı aracılığıyla:
g4f-api
# veya
python -m g4f.api.run
Ardından, OpenAI Python istemcisini kullanarak ona bağlanın:
from openai import OpenAI
client = OpenAI(
# İsteğe bağlı: Gömme işlemleri için Hugging Face belirtecinizi ayarlayın
api_key="YOUR_HUGGING_FACE_TOKEN",
base_url="http://localhost:1337/v1"
)
# Resmi OpenAI istemcisi gibi kullanın
chat_completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Bir ağaç hakkında bir şiir yazın"}],
stream=True,
)
for token in chat_completion:
content = token.choices[0].delta.content
if content is not None:
print(content, end="", flush=True)
GPT4Free Desteklenen Modeller ve Sağlayıcılar
GPT4Free, çeşitli yeteneklere sahip çok sayıda sağlayıcıyı destekler. Bazı sağlayıcılar GPT-4'ü, diğerleri GPT-3.5'i ve bazıları alternatif modelleri destekler.
GPT-4 Sağlayıcıları
- Bing (g4f.Provider.Bing)
- GeekGpt (g4f.Provider.GeekGpt)
- GptChatly (g4f.Provider.GptChatly)
- Liaobots (g4f.Provider.Liaobots)
- Raycast (g4f.Provider.Raycast)
GPT-3.5 Sağlayıcıları
- AItianhu (g4f.Provider.AItianhu)
- AItianhuSpace (g4f.Provider.AItianhuSpace)
- AiAsk (g4f.Provider.AiAsk)
- Aichat (g4f.Provider.Aichat)
- ChatBase (g4f.Provider.ChatBase)
- ChatForAi (g4f.Provider.ChatForAi)
- ChatgptAi (g4f.Provider.ChatgptAi)
- Ve daha fazlası...
Diğer Modeller
- Bard (Google'ın Palm'ı)
- DeepInfra
- HuggingChat
- Llama2
- OpenAssistant
Sonuç
gpt4free Python kütüphanesi, birçok durumda resmi API anahtarları gerektirmeden çeşitli dil modellerine erişmek için etkileyici bir yetenek yelpazesi sunar. Birden fazla sağlayıcı için birleşik bir arayüz sağlayarak, geliştiricilerin farklı dil modelleriyle denemeler yapmasını ve performanslarını karşılaştırmasını sağlar.
Bu kütüphane öncelikle bir konsept kanıtı olsa ve üretim kullanımı için yasal sonuçları olabilse de, yapay zeka yetenekleri hakkında bilgi edinmek, küçük projeleri test etmek ve farklı dil modellerinin nasıl çalıştığını anlamak için değerli bir araçtır.
Bu kütüphaneyi sorumlu bir şekilde kullanmayı, sağlayıcıların hizmet şartlarına uymayı ve yapay zeka kullanımıyla ilgili etik hususları göz önünde bulundurmayı unutmayın. Üretim uygulamaları için, uygun kimlik doğrulama ve lisanslama ile resmi API'leri kullanmanız şiddetle tavsiye edilir.
Kütüphane aktif geliştirme aşamasındadır, bu nedenle en son özellikler, sağlayıcılar ve en iyi uygulamalar için GitHub deposunu ve belgeleri kontrol edin. Yapay zeka alanı hızla gelişmeye devam ettikçe, gpt4free gibi araçlar, en son teknolojilere erişimi demokratikleştirerek daha fazla geliştiricinin bu güçlü modellerle denemeler yapmasına ve onlardan öğrenmesine yardımcı olur.