كيفية استخدام مكتبة GPT4Free بلغة بايثون

@apidog

@apidog

5 نوفمبر 2025

كيفية استخدام مكتبة GPT4Free بلغة بايثون

Apidog للمؤسسات

نشر محلي

SSO & RBAC

متوافق مع SOC 2

استكشاف Apidog Enterprise

مقدمة

GPT4Free هي مكتبة بايثون مفتوحة المصدر توفر الوصول إلى مجموعة من نماذج اللغة القوية من خلال عدد من المزودين. تعمل كمجموعة واجهات برمجية إثبات المفهوم التي تُظهر طلبات الذكاء الاصطناعي متعددة المزودين مع ميزات مثل توقيت الطلبات، توزيع الحمل، والتحكم بالتدفق. تمكن هذه المكتبة المطورين من استخدام نماذج لغوية مختلفة لتوليد النصوص، بما في ذلك إصدارات GPT-3.5 وGPT-4، دون الحاجة إلى مفاتيح واجهة برمجية رسمية في العديد من الحالات.

سيرشدك هذا البرنامج التعليمي خلال عملية التثبيت والإعداد وطرق استخدام مكتبة gpt4free، موضحًا لك كيفية الاستفادة من قدراتها في مختلف المهام الخاصة بتوليد النصوص المعتمدة على الذكاء الاصطناعي.

الاعتبارات القانونية

💡
تحذير: قبل متابعة هذا البرنامج التعليمي، من المهم فهم الأبعاد القانونية لاستخدام مكتبة gpt4free.

باستخدامك لهذه مكتبة أو أي كود متعلق بها، فإنك توافق على الإشعار القانوني المقدم من قبل المطورين. الكاتب الأصلي غير مسؤول عن استخدام هذه المكتبة ولا يقر به. كما أن الكاتب ليس مسؤولًا عن أي نسخ، أو تفرعات، أو إعادة رفع قام بها مستخدمون آخرون، أو أي شيء آخر يتعلق بـ GPT4Free.

تعتبر GPT4Free بشكل أساسي إثباتًا لمفهوم تطوير حزمة واجهة برمجية مع طلبات عدة مزودين. قد يؤدي استخدام هذه المكتبة لتجاوز الواجهات البرمجية الرسمية إلى انتهاك شروط خدمة مزودين مختلفين. قبل نشر أي حل يعتمد على هذه المكتبة في بيئة إنتاج، تأكد من أنك تملك التصريح المناسب والامتثال لشروط خدمة كل مزود تنوي استخدامه.

قبل الغوص في تفاصيل التنفيذ، يُستحسن أن نذكر أنه يمكنك استخدام Apidog كبديل ممتاز ل Postman لاختبار واجهات برمجية مع gpt4free. Apidog هي منصة شاملة لتطوير الواجهات البرمجية تقدم مزايا مثل تصميم الواجهات البرمجية، وتصحيح الأخطاء، والاختبار الآلي، والتوثيق.

عند العمل مع واجهة gpt4free، يمكن لـ Apidog مساعدتك في:

  1. إرسال طلبات إلى نقاط نهاية API
  2. اختبار تكوينات معاملات مختلفة
  3. تصوير بيانات الاستجابة
  4. إنشاء وحفظ مجموعات من طلبات API للاستخدام المستقبلي
زر

كيفية تثبيت GPT4Free

المتطلبات السابقة

طرق تثبيت GPT4Free

الطريقة 1: استخدام PyPI

للتثبيت الكامل مع جميع الميزات:

pip install -U g4f[all]

للتثبيتات الجزئية:

# لمزود دردشة OpenAI
pip install -U g4f[openai]

# لواجهة برمجة التطبيقات
pip install -U g4f[api]

# للواجهة الرسومية
pip install -U g4f[gui]

# لتوليد الصور
pip install -U g4f[image]

# للمزودين الذين يحتاجون إلى webdriver
pip install -U g4f[webdriver]

# لدعم البروكسي
pip install -U aiohttp_socks

الطريقة 2: من مستودع GitHub

# استنساخ المستودع
git clone https://github.com/xtekky/gpt4free.git

# الانتقال إلى دليل المشروع
cd gpt4free

# إنشاء بيئة افتراضية (موصى به)
python3 -m venv venv

# تنشيط البيئة الافتراضية
# على ويندوز:
.\venv\Scripts\activate
# على macOS وLinux:
source venv/bin/activate

# تثبيت المتطلبات الدنيا
pip install -r requirements-min.txt

# أو تثبيت جميع المتطلبات
pip install -r requirements.txt

الطريقة 3: استخدام Docker

# سحب صورة Docker
docker pull hlohaus789/g4f

# تشغيل الحاوية
docker run -p 8080:8080 -p 1337:1337 -p 7900:7900 --shm-size="2g" hlohaus789/g4f:latest

لنسخة خفيفة (متوافقة مع كل من x64 و arm64):

# إنشاء الدلائل اللازمة
mkdir -p ${PWD}/har_and_cookies ${PWD}/generated_images
chown -R 1000:1000 ${PWD}/har_and_cookies ${PWD}/generated_images

# تشغيل صورة Docker الخفيفة
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 مع أساسيات بايثون

توليد النصوص مع ChatCompletion

مثال بسيط

import g4f

# تمكين تسجيل الأخطاء (اختياري)
g4f.debug.logging = True

# تعطيل التحقق من الإصدار التلقائي (اختياري)
g4f.debug.version_check = False

# استجابة عادية (غير متدفقة)
response = g4f.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[{"role": "user", "content": "مرحبًا، كيف حالك اليوم؟"}]
)
print(response)

استجابة متدفقة

import g4f

# بث الاستجابة
response = g4f.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[{"role": "user", "content": "اكتب قصة قصيرة عن روبوت."}],
    stream=True
)

for message in response:
    print(message, end='', flush=True)

استخدام مزود محدد

import g4f

# قائمة بجميع المزودين العاملين المتاحين
providers = [provider.__name__ for provider in g4f.Provider.__providers__ if provider.working]
print("المزودون المتاحون:", providers)

# استخدام مزود محدد
response = g4f.ChatCompletion.create(
    model="gpt-3.5-turbo",
    provider=g4f.Provider.Aichat,
    messages=[{"role": "user", "content": "اشرح الحوسبة الكمية بطريقة بسيطة."}]
)
print(response)

استخدام واجهة برمجة التطبيقات للعميل

نهج أكثر حداثة باستخدام واجهة برمجة التطبيقات للعميل:

from g4f.client import Client

# إنشاء مثيل للعميل
client = Client()

# توليد النص باستخدام إكمالات الدردشة
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "مرحبًا"}],
    web_search=False
)
print(response.choices[0].message.content)

توليد الصورة

from g4f.client import Client

# إنشاء مثيل للعميل
client = Client()

# توليد صورة
response = client.images.generate(
    model="flux",
    prompt="قط سيامي أبيض",
    response_format="url"
)
print(f"رابط الصورة المولدة: {response.data[0].url}")

مصادقة المزود

بعض المزودين يتطلبون ملفات تعريف الارتباط أو رموز الوصول للمصادقة:

from g4f import set_cookies

# تعيين ملفات تعريف الارتباط ل Bing
set_cookies(".bing", {"_U": "قيمة ملف تعريف الارتباط"})

# تعيين رمز الوصول ل OpenAI Chat
set_cookies("chat.openai.com", {"access_token": "قيمة الرمز"})

استخدام أتمتة المتصفح

للمزودين الذين يتطلبون تفاعل المتصفح:

import g4f
from undetected_chromedriver import Chrome, ChromeOptions

# تكوين خيارات Chrome
options = ChromeOptions()
options.add_argument("--incognito")

# تهيئة WebDriver Chrome
webdriver = Chrome(options=options, headless=True)

try:
    # استخدام المتصفح لعدة طلبات
    for idx in range(5):
        response = g4f.ChatCompletion.create(
            model=g4f.models.default,
            provider=g4f.Provider.MyShell,
            messages=[{"role": "user", "content": f"أعطني فكرة #{idx+1} لتطبيق موبايل."}],
            webdriver=webdriver
        )
        print(f"فكرة {idx+1}:", response)
finally:
    # دائمًا أغلق المتصفح عند الانتهاء
    webdriver.quit()

دعم غير متزامن

لتحسين الأداء مع الطلبات المتعددة:

import g4f
import asyncio

# تحديد المزودين للاستخدام
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": "ما اسمك؟"}],
            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)

# تشغيل جميع المزودين بشكل غير متزامن
asyncio.run(run_all())

دعم البروكسي وتجاوز المهلة

للتعامل مع قيود الشبكة:

import g4f

# استخدام مع بروكسي محدد ووقت انتظار ممتد
response = g4f.ChatCompletion.create(
    model=g4f.models.default,
    messages=[{"role": "user", "content": "كيف يمكنني تحسين كود بايثون الخاص بي؟"}],
    proxy="http://host:port",  # أو socks5://user:pass@host:port
    timeout=120  # بالثواني
)
print("النتيجة:", response)

يمكنك أيضًا تعيين بروكسي عالمي عبر متغير البيئة:

export G4F_PROXY="http://host:port"

تشغيل الواجهة الرسومية مع GPT4Free

تشتمل GPT4Free على واجهة ويب لتسهيل التفاعل:

from g4f.gui import run_gui
run_gui()

بدلاً من ذلك، استخدم سطر الأوامر:

# بدء تشغيل خادم Flask
python -m g4f.cli gui --port 8080 --debug

# أو بدء تشغيل خادم FastAPI
python -m g4f --port 8080 --debug

ستكون الواجهة الويب متاحة على http://localhost:8080/chat/

استخدام واجهة برمجة التطبيقات للتداخل مع GPT4Free

توفر GPT4Free واجهة برمجة تطبيقات متوافقة مع OpenAI للتكامل مع أدوات أخرى:

# تشغيل خادم API
from g4f.api import run_api
run_api()

أو عبر سطر الأوامر:

g4f-api
# أو
python -m g4f.api.run

ثم الاتصال به باستخدام عميل Python لـ OpenAI:

from openai import OpenAI

client = OpenAI(
    # اختياري: تعيين رمز Hugging Face الخاص بك من أجل التضمينات
    api_key="YOUR_HUGGING_FACE_TOKEN",
    base_url="http://localhost:1337/v1"
)

# استخدمه مثل عميل OpenAI الرسمي
chat_completion = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[{"role": "user", "content": "اكتب قصيدة عن شجرة"}],
    stream=True,
)

for token in chat_completion:
    content = token.choices[0].delta.content
    if content is not None:
        print(content, end="", flush=True)

نماذج ومزودات GPT4Free المدعومة

تدعم GPT4Free مزودين متعددين بقدرات متنوعة. بعض المزودين يدعمون GPT-4، والبعض الآخر يدعم GPT-3.5، وبعضهم يدعم نماذج بديلة.

مزودو GPT-4

مزودو GPT-3.5

نماذج أخرى

استنتاج

توفر مكتبة gpt4free التي تعمل بلغة بايثون مجموعة رائعة من القدرات للوصول إلى نماذج لغة متنوعة دون الحاجة إلى مفاتيح واجهة برمجة التطبيقات الرسمية في العديد من الحالات. من خلال توفير واجهة موحدة للعديد من المزودين، تتيح للمطورين تجربة نماذج لغة مختلفة ومقارنة أدائها.

في حين أن هذه المكتبة تعتبر بشكل أساسي إثباتًا لمفهوم ويمكن أن تكون لها تبعات قانونية عند الاستخدام في الإنتاج، إلا أنها تعد أداة قيّمة للتعلم حول قدرات الذكاء الاصطناعي، واختبار المشاريع الصغيرة، وفهم كيفية عمل نماذج اللغة المختلفة.

تذكر أن تستخدم هذه المكتبة بشكل مسؤول، مع احترام شروط الخدمة الخاصة بالمزودين وكونك واعيًا للاعتبارات الأخلاقية حول استخدام الذكاء الاصطناعي. بالنسبة للتطبيقات الإنتاجية، يُوصى بشدة باستخدام واجهات برمجة التطبيقات الرسمية مع المصادقة والتراخيص المناسبة.

المكتبة تحت التطوير النشط، لذا تحقق من مستودع GitHub والتوثيق لأحدث الميزات والمزودين وأفضل الممارسات. مع استمرار تطور مجال الذكاء الاصطناعي بسرعة، تساعد أدوات مثل gpt4free في إضفاء الطابع الديمقراطي على الوصول إلى التكنولوجيا الحديثة، مما يتيح لمزيد من المطورين التجربة والتعلم من هذه النماذج القوية.

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات