AR ▾

واجهة API متوافقة مع OpenAI وبدون رقابة

احصل على مفتاح API
لكل 1M رمز إدخال
$0.15
رموز الإخراج / 1M
$0.50
سياق الرموز
100,000
رصيد تجريبي
$0.50
طلبات في الدقيقة
300

كيفية تشغيل نموذج Dolphin LLM: الإعداد المحلي مقابل واجهة برمجة التطبيقات المستضافة

محدّث

توضح هذه الصفحة كيفية تشغيل dolphin llm إما على جهازك الخاص أو من خلال نقطة نهاية مستضافة، وكيفية اتخاذ القرار بينهما. النسخة المختصرة: المحلي مجاني لكل رمز لكنه يحتاج ذاكرة وصبر، بينما المستضافة تحتاج فقط مفتاح.

كمبيوتر مكتبي وخادم سحابي مرتبطان بجسر من الضوء، لمقارنة إعدادات LLM المحلية والمستضافة
رسم توضيحي لبرطمان عملات بجانب تدفق رموز (tokens) يتدفق إلى طرفية

نقاط رئيسية

  • تحتاج التشغيلات المحلية إلى ذاكرة وصول عشوائي أو ذاكرة فيديو كافية لملف التكميم بالإضافة إلى التخزين المؤقت للسياق.
  • Ollama هو أسرع بداية؛ بينما يمنحك llama.cpp مزيدًا من التحكم في التكميم والعلامات.
  • كلاهما يعرض خادمًا بنمط OpenAI، لذا يمكن لنفس كود العميل أن يشير إلى المحلي أو المستضاف.
  • تكلفة نقطة النهاية المستضافة هي $0.15 لكل مليون رمز مدخل و$0.50 لكل مليون رمز مخرج، وتستغرق دقائق للإعداد.

قرر أولاً: ما العتاد الذي تملكه؟

الذاكرة تحدد كل شيء. نموذج اللغة هو مجموعة كبيرة جدًا من الأرقام، ويجب أن تجلس المجموعة بأكملها في ذاكرة سريعة أثناء التوليد. يقلل التكميم من حجم هذه الأرقام. يأخذ نموذج مُكمّم بـ 4 بت حوالي نصف بايت لكل معلمة، لذا فإن نموذجًا يحتوي على 8 مليارات معلمة يستهلك حوالي 5 جيجابايت، ونموذج بـ 70 مليار معلمة يستهلك حوالي 40 جيجابايت. تعامل مع هذه الأرقام على أنها تقريبيّة، حيث يعتمد الحجم الدقيق على تنسيق التكميم.

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

  • لابتوب بسعة 8 GB وبدون GPU: نماذج صغيرة فقط، وإخراج بطيء.
  • ماك بتقنية Apple Silicon بسعة 16 إلى 32 GB: تعمل النماذج متوسطة الحجم جيدًا لأن وحدة المعالجة المركزية ووحدة معالجة الرسومات تشاركان الذاكرة.
  • بطاقة رسومات استهلاكية واحدة بسعة ذاكرة 12 إلى 24 جيجابايت: نماذج متوسطة الحجم بسرعة جيدة.
  • أي شيء أكبر: بطاقات رسومات متعددة أو خادم مستأجر.

الطريقة 1: Ollama في بضع أوامر

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

# replace <tag> with a Dolphin tag from the Ollama library
ollama pull <tag>
ollama run <tag>

الأمر الأول يقوم بتنزيل الملف، والذي قد يستغرق وقتًا طويلاً على اتصال بطيء. الأمر الثاني يفتح محادثة تفاعلية في الطرفية. يوفر Ollama أيضًا واجهة برمجة تطبيقات HTTP على جهازك، بما في ذلك مسار على طراز OpenAI تحت /v1، لذا يمكن للبرامج الأخرى استخدامه.

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

الطريقة 2: llama.cpp للتحكم الأفضل

llama.cpp هو محرك C++ الذي بُنيت عليه العديد من الأدوات الأخرى. تقوم بتنزيل ملف GGUF للنموذج، ثم تشغل خادمه. يستغرق هذا خطوات أكثر من Ollama لكنه يتيح لك تعيين طول السياق، وعدد الطبقات الموضوعة على بطاقة الرسومات، والتكميم الذي تريده.

# after building llama.cpp and downloading a GGUF file
llama-server -m ./model.gguf -c 8192 -ngl 99 --port 8080

يحدد هنا -c طول السياق، ويحدد -ngl عدد الطبقات التي تنتقل إلى وحدة معالجة الرسومات، ويختار --port المنفذ. تحقق من ملف README الخاص بالمشروع للحصول على الخيارات في إصدارك، لأنها تتطور. يستهلك حجم أكبر لـ -c ذاكرة أكبر، لذا قم بزيادته فقط عند الحاجة.

للاستخدام الرسومي، يمكن لواجهات أمامية مثل Open WebUI التحدث مع أي من الخوادم. يوضح ملاحظتنا حول نقاط نهاية Open WebUI API كيفية إضافة نقطة نهاية مخصصة.

استدعاء خادمك المحلي من الكود

يمكن للأدوات التحدث بتنسيق محادثة OpenAI، لذا تكتب العميل مرة واحدة وتغير الهدف بإعدادين. يحتوي هذا النص البرمجي على كلا الهدفين جنبًا إلى جنب. يستخدم المحلي المنفذ الذي يستخدمه Ollama بشكل افتراضي؛ قم بتغييره إذا بدأت llama.cpp على 8080.

from openai import OpenAI

TARGETS = {
    "local": {"base_url": "http://localhost:11434/v1", "key": "not-needed", "model": "your-local-tag"},
    "hosted": {"base_url": "https://api.dolphinllm.com/v1", "key": "YOUR_KEY", "model": "uncensored"},
}

t = TARGETS["hosted"]
client = OpenAI(base_url=t["base_url"], api_key=t["key"])

resp = client.chat.completions.create(
    model=t["model"],
    messages=[{"role": "user", "content": "Summarize what a GGUF file is."}],
)
print(resp.choices[0].message.content)

عادةً ما تتجاهل الخوادم المحلية المفتاح، لكن SDK يتطلب سلسلة غير فارغة. اسم النموذج للخادم المحلي هو أي وسم أو لقب قمت بتحميله، بينما معرف النموذج المستضاف هو دائمًا uncensored.

الطريقة 3: تخطي الإعداد واستخدام نقطة نهاية مستضافة

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

الخطوات قصيرة. سجّل حسابًا باستخدام Google أو عبر البريد الإلكتروني وكلمة المرور، افتح صفحة مفتاح API، واحصل على رصيد تجريبي بقيمة $0.50 بنقرة واحدة. لا يتطلب بطاقة، وهو صالح لمدة 7 أيام، ومحدود لشخص واحد. ثم قم بتشغيل النص البرمجي Python أعلاه مع الهدف المستضاف. إذا كنت تفضل curl:

curl https://api.dolphinllm.com/v1/chat/completions   -H "Authorization: Bearer YOUR_KEY"   -H "Content-Type: application/json"   -d '{"model":"uncensored","messages":[{"role":"user","content":"Hello"}],"stream":false}'

تبلغ نافذة السياق 100,000 رمز (token)، وهو أكثر مما يمكن لمعظم أجهزة اللابتوب الاحتفاظ به في ذاكرة التخزين المؤقت بسهولة. لا تُستخدم الموجّهات (prompts) للتدريب.

التكلفة والجهد مقارنة

الشعور المحلي مجاني، لكنه ليس كذلك. تدفع مقابل العتاد، الكهرباء ووقتك الخاص. التكلفة المستضافة هي المال لكل طلب، لكن الأرقام صغيرة. عند $0.15 لكل مليون رمز إدخال و $0.50 لكل مليون رمز إخراج، فإن دور محادثة مع 3,000 رمز إدخال و 700 رمز إخراج يكلف:

  • الإدخال: 3,000 × $0.15 / 1,000,000 = $0.00045
  • الإخراج: 700 x $0.50 / 1,000,000 = $0.00035
  • المجموع: $0.0008 لكل دور، لذا $0.80 لكل 1,000 دورة

حتى المستخدم الثقيل الذي يرسل 5,000 من هذه الأدوار في شهر سينفق حوالي $4. ستحتاج بطاقة GPU التي تكلف مئات الدولارات إلى سنوات من الاستخدام لتعويض التكلفة على هذا الحجم. تنقلب المقارنة عندما يكون لديك حجم مرتفع مستمر، أو تحتاج إلى ضبط دقيق معين، أو لا يمكنك إرسال البيانات خارج جهازك.

تفاصيل السعر الكاملة، بما في ذلك مكافآت شحن الرصيد بنسبة +5% و +10% و +15%، موجودة في صفحة الأسعار، ويغطي التوثيق الحدود والمعاملات.

قاعدة بسيطة للاختيار

شغل محليًا إذا كنت تريد تجربة العديد من الضبط الدقيق، العمل دون اتصال، أو الاحتفاظ بكل الموجّه (prompt) على قرصك الخاص. استخدم نقطة النهاية المستضافة إذا كنت تبني شيئًا سيستخدمه آخرون، أو كان عتادك متواضعًا، أو تريد نافذة سياق طويلة بـ 100,000 رمز دون إدارة الذاكرة. يقوم العديد من المطورين بكلاهما: نموذج محلي للتجريب الخاص، ونقطة نهاية مستضافة لأي شيء يحتاج إلى البقاء قيد التشغيل. لأن كود العميل هو نفسه، فإن التبديل يكلف سطرًا واحدًا.

أسئلة وأجوبة

كمية الذاكرة العشوائية (RAM) التي أحتاجها لتشغيل نموذج Dolphin؟

كإرشاد تقريبي، يحتاج النموذج المُكمَّم بـ 4 بت إلى حوالي نصف بايت لكل معامل بالإضافة إلى ذاكرة للذاكرة المؤقتة للسياق. نموذج ذو 8 مليارات معامل يتسع في حوالي 5 إلى 8 جيجابايت، بينما يحتاج نموذج بـ 70 مليار معامل إلى حوالي 40 جيجابايت أو أكثر.

هل يمكنني تشغيله بدون بطاقة رسومات (GPU)؟

نعم، على وحدة المعالجة المركزية (CPU) إذا توفرت ذاكرة وصول عشوائي (RAM) كافية، لكن المخرجات بطيئة لأي شيء يتجاوز النماذج الصغيرة. تعمل أجهزة Mac المزودة بشريحة Apple Silicon بشكل أفضل لأن الذاكرة مشتركة.

هل يستخدم الكود المحلي والمستضاف نفس كود العميل؟

إلى حد كبير. كلاهما يقبل طلبات الدردشة على طراز OpenAI، لذا فإنك تغير فقط عنوان URL الأساسي، والمفتاح واسم النموذج.

هل هناك طريقة مجانية لتجربة الخيار المستضاف؟

يمكن للمستخدمين الجدد الحصول على $0.50 من رصيد تجريبي بنقرة واحدة بعد إنشاء الحساب. لا يتطلب بطاقة ويستمر لمدة 7 أيام.

مفتاحك على بُعد استمارة واحدة

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

احصل على مفتاح API