Pendahuluan
GPT4Free adalah pustaka Python sumber terbuka yang menyediakan akses ke koleksi model bahasa yang kuat melalui berbagai penyedia. Ini berfungsi sebagai paket API bukti konsep yang menunjukkan permintaan AI multi-penyedia dengan fitur seperti batas waktu, penyeimbangan beban, dan kontrol aliran. Pustaka ini memungkinkan pengembang untuk menggunakan model bahasa yang berbeda untuk pembuatan teks, termasuk varian GPT-3.5 dan GPT-4, tanpa memerlukan kunci API resmi dalam banyak kasus.
Tutorial ini akan memandu Anda melalui instalasi, pengaturan, dan penggunaan pustaka gpt4free, menunjukkan kepada Anda cara memanfaatkan kemampuannya untuk berbagai tugas pembuatan teks bertenaga AI.
Pertimbangan Hukum
Dengan menggunakan repositori ini atau kode apa pun yang terkait dengannya, Anda menyetujui pemberitahuan hukum yang disediakan oleh pengembang. Penulis asli tidak bertanggung jawab atas penggunaan repositori ini atau mendukungnya. Penulis juga tidak bertanggung jawab atas salinan, fork, unggahan ulang yang dibuat oleh pengguna lain, atau hal lain yang terkait dengan GPT4Free.
GPT4Free terutama berfungsi sebagai bukti konsep yang menunjukkan pengembangan paket API dengan permintaan multi-penyedia. Menggunakan pustaka ini untuk melewati API resmi dapat melanggar persyaratan layanan dari berbagai penyedia AI. Sebelum menerapkan solusi apa pun berdasarkan pustaka ini di lingkungan produksi, pastikan Anda memiliki otorisasi yang tepat dan mematuhi persyaratan layanan dari setiap penyedia yang ingin Anda gunakan.

Sebelum menyelami detail implementasi, perlu disebutkan bahwa Anda dapat menggunakan Apidog sebagai alternatif yang sangat baik untuk Postman untuk pengujian API dengan gpt4free. Apidog adalah platform pengembangan API komprehensif yang menawarkan fitur seperti desain API, debugging, pengujian otomatis, dan dokumentasi.
Saat bekerja dengan API interferensi gpt4free, Apidog dapat membantu Anda:
- Mengirim permintaan ke titik akhir API
- Menguji konfigurasi parameter yang berbeda
- Memvisualisasikan data respons
- Membuat dan menyimpan koleksi permintaan API untuk penggunaan di masa mendatang
Cara Menginstal GPT4Free
Prasyarat
- Python 3.10 atau lebih tinggi (disarankan)
- Google Chrome (diperlukan untuk penyedia dengan webdriver)
Metode untuk Menginstal GPT4Free
Metode 1: Menggunakan PyPI
Untuk instalasi lengkap dengan semua fitur:
pip install -U g4f[all]
Untuk instalasi parsial:
# Untuk penyedia OpenAI Chat
pip install -U g4f[openai]
# Untuk API interferensi
pip install -U g4f[api]
# Untuk antarmuka web
pip install -U g4f[gui]
# Untuk pembuatan gambar
pip install -U g4f[image]
# Untuk penyedia dengan webdriver
pip install -U g4f[webdriver]
# Untuk dukungan proxy
pip install -U aiohttp_socks
Metode 2: Dari Repositori GitHub

# Klon repositori
git clone https://github.com/xtekky/gpt4free.git
# Navigasi ke direktori proyek
cd gpt4free
# Buat lingkungan virtual (disarankan)
python3 -m venv venv
# Aktifkan lingkungan virtual
# Di Windows:
.\venv\Scripts\activate
# Di macOS dan Linux:
source venv/bin/activate
# Instal persyaratan minimum
pip install -r requirements-min.txt
# Atau instal semua persyaratan
pip install -r requirements.txt
Metode 3: Menggunakan Docker

# Tarik image Docker
docker pull hlohaus789/g4f
# Jalankan container
docker run -p 8080:8080 -p 1337:1337 -p 7900:7900 --shm-size="2g" hlohaus789/g4f:latest
Untuk versi slim (kompatibel dengan x64 dan arm64):
# Buat direktori yang diperlukan
mkdir -p ${PWD}/har_and_cookies ${PWD}/generated_images
chown -R 1000:1000 ${PWD}/har_and_cookies ${PWD}/generated_images
# Jalankan image Docker slim
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'
Cara Menggunakan GPT4Free dengan Dasar-Dasar Python
Pembuatan Teks dengan ChatCompletion
Contoh Sederhana
import g4f
# Aktifkan pencatatan debug (opsional)
g4f.debug.logging = True
# Nonaktifkan pemeriksaan versi otomatis (opsional)
g4f.debug.version_check = False
# Respons normal (non-streaming)
response = g4f.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Halo, apa kabarmu hari ini?"}]
)
print(response)
Respons Streaming
import g4f
# Alirkan respons
response = g4f.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Tulis cerita pendek tentang robot."}],
stream=True
)
for message in response:
print(message, end='', flush=True)
Menggunakan Penyedia Tertentu
import g4f
# Daftar semua penyedia yang berfungsi yang tersedia
providers = [provider.__name__ for provider in g4f.Provider.__providers__ if provider.working]
print("Penyedia yang tersedia:", providers)
# Gunakan penyedia tertentu
response = g4f.ChatCompletion.create(
model="gpt-3.5-turbo",
provider=g4f.Provider.Aichat,
messages=[{"role": "user", "content": "Jelaskan komputasi kuantum dalam istilah sederhana."}]
)
print(response)
Menggunakan Client API
Pendekatan yang lebih modern menggunakan client API:
from g4f.client import Client
# Buat instance klien
client = Client()
# Hasilkan teks menggunakan penyelesaian obrolan
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "Halo"}],
web_search=False
)
print(response.choices[0].message.content)
Pembuatan Gambar
from g4f.client import Client
# Buat instance klien
client = Client()
# Hasilkan gambar
response = client.images.generate(
model="flux",
prompt="seekor kucing siam putih",
response_format="url"
)
print(f"URL gambar yang dihasilkan: {response.data[0].url}")
Autentikasi Penyedia
Beberapa penyedia memerlukan cookie atau token akses untuk autentikasi:
from g4f import set_cookies
# Setel cookie untuk Bing
set_cookies(".bing", {"_U": "nilai cookie"})
# Setel token akses untuk OpenAI Chat
set_cookies("chat.openai.com", {"access_token": "nilai token"})
Menggunakan Otomatisasi Browser
Untuk penyedia yang memerlukan interaksi browser:
import g4f
from undetected_chromedriver import Chrome, ChromeOptions
# Konfigurasikan opsi Chrome
options = ChromeOptions()
options.add_argument("--incognito")
# Inisialisasi Chrome WebDriver
webdriver = Chrome(options=options, headless=True)
try:
# Gunakan browser untuk beberapa permintaan
for idx in range(5):
response = g4f.ChatCompletion.create(
model=g4f.models.default,
provider=g4f.Provider.MyShell,
messages=[{"role": "user", "content": f"Beri saya ide #{idx+1} untuk aplikasi seluler."}],
webdriver=webdriver
)
print(f"Ide {idx+1}:", response)
finally:
# Selalu tutup webdriver saat selesai
webdriver.quit()
Dukungan Asinkron
Untuk peningkatan kinerja dengan beberapa permintaan:
import g4f
import asyncio
# Tentukan penyedia yang akan digunakan
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": "Siapa namamu?"}],
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)
# Jalankan semua penyedia secara asinkron
asyncio.run(run_all())
Dukungan Proxy dan Batas Waktu
Untuk menangani batasan jaringan:
import g4f
# Gunakan dengan proxy tertentu dan batas waktu yang diperpanjang
response = g4f.ChatCompletion.create(
model=g4f.models.default,
messages=[{"role": "user", "content": "Bagaimana saya dapat meningkatkan kode Python saya?"}],
proxy="http://host:port", # atau socks5://user:pass@host:port
timeout=120 # dalam detik
)
print("Hasil:", response)
Anda juga dapat mengatur proxy global melalui variabel lingkungan:
export G4F_PROXY="http://host:port"
Menjalankan Antarmuka Web dengan GPT4Free
GPT4Free menyertakan antarmuka web untuk interaksi yang lebih mudah:
from g4f.gui import run_gui
run_gui()
Atau, gunakan baris perintah:
# Mulai server Flask
python -m g4f.cli gui --port 8080 --debug
# Atau mulai server FastAPI
python -m g4f --port 8080 --debug
Antarmuka web akan tersedia di http://localhost:8080/chat/
Menggunakan Interference API dengan GPT4Free
GPT4Free menyediakan API yang kompatibel dengan OpenAI untuk integrasi dengan alat lain:
# Jalankan server API
from g4f.api import run_api
run_api()
Atau melalui baris perintah:
g4f-api
# atau
python -m g4f.api.run
Kemudian sambungkan ke sana menggunakan klien Python OpenAI:
from openai import OpenAI
client = OpenAI(
# Opsional: Setel token Hugging Face Anda untuk penyematan
api_key="TOKEN_HUGGING_FACE_ANDA",
base_url="http://localhost:1337/v1"
)
# Gunakan seperti klien OpenAI resmi
chat_completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Tulis puisi tentang pohon"}],
stream=True,
)
for token in chat_completion:
content = token.choices[0].delta.content
if content is not None:
print(content, end="", flush=True)
Model & Penyedia yang Didukung GPT4Free
GPT4Free mendukung banyak penyedia dengan berbagai kemampuan. Beberapa penyedia mendukung GPT-4, yang lain mendukung GPT-3.5, dan beberapa mendukung model alternatif.
Penyedia GPT-4
- Bing (g4f.Provider.Bing)
- GeekGpt (g4f.Provider.GeekGpt)
- GptChatly (g4f.Provider.GptChatly)
- Liaobots (g4f.Provider.Liaobots)
- Raycast (g4f.Provider.Raycast)
Penyedia GPT-3.5
- 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)
- Dan masih banyak lagi...
Model Lain
- Bard (Palm Google)
- DeepInfra
- HuggingChat
- Llama2
- OpenAssistant
Kesimpulan
Pustaka Python gpt4free menawarkan berbagai kemampuan yang mengesankan untuk mengakses berbagai model bahasa tanpa memerlukan kunci API resmi dalam banyak kasus. Dengan menyediakan antarmuka terpadu untuk beberapa penyedia, ini memungkinkan pengembang untuk bereksperimen dengan model bahasa yang berbeda dan membandingkan kinerja mereka.
Meskipun pustaka ini terutama merupakan bukti konsep dan mungkin memiliki implikasi hukum untuk penggunaan produksi, ini adalah alat yang berharga untuk mempelajari tentang kemampuan AI, menguji proyek kecil, dan memahami cara kerja model bahasa yang berbeda.
Ingatlah untuk menggunakan pustaka ini secara bertanggung jawab, menghormati persyaratan layanan penyedia dan memperhatikan pertimbangan etis seputar penggunaan AI. Untuk aplikasi produksi, sangat disarankan untuk menggunakan API resmi dengan autentikasi dan lisensi yang tepat.
Pustaka ini sedang dalam pengembangan aktif, jadi periksa repositori GitHub dan dokumentasi untuk fitur, penyedia, dan praktik terbaik terbaru. Karena bidang AI terus berkembang pesat, alat seperti gpt4free membantu mendemokratisasikan akses ke teknologi mutakhir, memungkinkan lebih banyak pengembang untuk bereksperimen dan belajar dari model yang kuat ini.