التثبيت والإعداد
للبدء، تأكد من تثبيت SDK الرسمي الخاص بـ OpenAI للغة التي تستخدمها. تستخدم واجهة برمجة التطبيقات مصادقة قياسية تعتمد على الرؤوس. يجب عليك تعيين رأس Authorization إلى Bearer your-api-key وتكوين عنوان URL الأساسي إلى https://api.glmapi.cc/v1. يعمل هذا العنوان مع أي عميل يدعم تنسيق Chat Completions الخاص بـ OpenAI.
لا يلزم تهيئة عميل خاصة تتجاوز التكوين القياسي. تعمل الخدمة كبديل جاهز للاستخدام للتكاملات الحالية مع OpenAI. يمكنك التحقق من إعدادك عن طريق التحقق من نقطة النهاية الخاصة بالنماذج المتاحة.
الطلب الأول
أرسل طلب إكمال نصي بسيط لاختبار الاتصال. استخدم معرف النموذج uncensored للنموذج اللغوي الكبير الأساسي. تقبل واجهة برمجة التطبيقات المعايير القياسية مثل max_tokens و temperature.
يعيد هذا الطلب استجابة نصية مباشرة. إذا واجهت خطأ 401، تحقق من مفتاح API الخاص بك. يشير الخطأ 402 إلى عدم كفاية رصيد مسبق الدفع.
curl https://api.glmapi.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
تكامل SDK الخاص بـ Python
استخدم المكتبة الرسمية لـ Python للتفاعل مع واجهة برمجة التطبيقات. قم بتهيئة العميل باستخدام عنوان URL الأساسي ومفتاح API الخاص بك. يتطابق التركيب مع هيكل العميل القياسي لـ OpenAI.
تتيح لك هذه الطريقة تبديل المزودين دون إعادة كتابة منطق الأعمال. يستجيب النموذج لتنسيقات الموجّه القياسية. يمكنك التحكم في طول الإخراج والعشوائية عبر المعايير القياسية.
from openai import OpenAI
client = OpenAI(base_url="https://api.glmapi.cc/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
تكامل SDK الخاص بـ Node.js
لبيئات JavaScript، استخدم SDK الخاص بـ Node.js. قم بتكوين baseUrl للإشارة إلى نقطة النهاية الخاصة بواجهتنا. يضمن ذلك توجيه جميع الطلبات بشكل صحيح إلى خوادمنا.
يتعامل SDK مع إعادة المحاولة وتحليل الاستجابة تلقائيًا. يمكنك تمرير معايير الإكمال القياسية. يحتوي كائن الاستجابة على النص المولد في الموقع المتوقع.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.glmapi.cc/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
استجابات البث المتدفق
فعّل البث المتدفق عن طريق تعيين المعلمة stream إلى true. تعيد واجهة برمجة التطبيقات أجزاء عبر أحداث Server-Sent Events (SSE). يحتوي كل جزء على نص جزئي وإحصائيات الاستخدام.
تقلل هذه الطريقة من زمن الاستجابة المدرك للاستجابات الطويلة. يمكنك معالجة الرموز عند وصولها. يتضمن الجزء الأخير إجمالي عدد الرموز للفوترة.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
الحدود والأخطاء والسياق
يدعم نافذة السياق 100,000 رمز إجمالاً، مع حد أقصى للإخراج هو 32,000 رمز. ستفشل الطلبات التي تتجاوز حد حجم الجسم البالغ 8 ميجابايت. أنت مقيد بـ 300 طلب في الدقيقة و8 طلبات متزامنة لكل مفتاح.
يعني الخطأ 401 مفتاح غير صالح. يشير الخطأ 402 إلى عدم بقاء رصيد مسبق الدفع. يشير الخطأ 429 إلى حدّ المعدل. الرصيد لا ينتهي، والأخطاء لا تستهلك الرموز. الخصوصية محفوظة؛ لا تُستخدم الموجّهات للتدريب.
المواصفات التقنية
كل الحدود والميزات الفعلية للـ API في مكان واحد — راجعها قبل شحن الرصيد.
| البند | القيمة |
|---|---|
| صيغة API | متوافق مع OpenAI: يعمل أي SDK من OpenAI بتغيير base URL والمفتاح فقط |
| معرّف النموذج | uncensored |
| نقاط النهاية | POST /v1/chat/completions · GET /v1/models |
| المصادقة | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.glmapi.cc/v1 |
| المعاملات | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| نافذة السياق | 100,000 رمز (المدخلات والمخرجات معاً) |
| أقصى مخرجات | حتى ما تبقى من نافذة 100,000 رمزًا؛ max_tokens اختياري (بلا حد منفصل) |
| استدعاء الدوال | نعم — tools و tool_choice؛ الرد يتضمن tool_calls حتى أثناء البث؛ تُرسل النتائج كرسالة role: tool |
| البث المتدفق | نعم — server-sent events؛ آخر جزء يتضمن استهلاك الرموز |
| وضع JSON | response_format: {"type": "json_object"} |
| الطلبات المتزامنة | حتى 8 في الوقت نفسه لكل مفتاح |
| حجم الطلب | حتى 8 MB |
| ترويسات الرد | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| حدّ المعدل | 300 طلب في الدقيقة لكل مفتاح |
| شحن الرصيد | USDT (TRC20) أو USDC (Base)، أي مبلغ صحيح من $20 إلى $500 |
| الصلاحية | الرصيد المدفوع لا تنتهي صلاحيته، بدون اشتراك |
| مكافأة | +5% من $50، +10% من $100، +15% من $200 |
| الفوترة | رصيد مسبق الدفع حسب الاستهلاك الفعلي؛ الأخطاء والرفض مجانية |
| رصيد تجريبي مجاني | $0.50 لمدة 7 أيام، بدون بطاقة · مفتاح تجريبي: طلبان متوازيان، 60 طلبًا في الدقيقة؛ الحدود الكاملة (8 و300) بعد أول شحن |
| السعر | $0.15 لكل مليون رمز مدخلات · $0.50 لكل مليون رمز مخرجات |
| المحتوى | محتوى البالغين مسموح؛ يُرفض أي محتوى جنسي يتعلق بالقاصرين |
| تسجيل الدخول | Google أو البريد الإلكتروني وكلمة المرور |
| المفاتيح | مفتاح نشط واحد لكل حساب؛ المفتاح الجديد يحل محل القديم |
رموز الأخطاء
تصل الأخطاء بصيغة JSON مع type ثابت؛ الطلبات الفاشلة أو المرفوضة لا تُحتسب.
| الرمز | النوع | المعنى |
|---|---|---|
400 | bad_request | JSON غير صالح أو رسائل فارغة أو معامل خاطئ أو تجاوز نافذة السياق |
401 | missing_key · invalid_key · key_revoked | لا يوجد مفتاح أو المفتاح خاطئ أو تم استبداله |
402 | no_credit | الرصيد فارغ — اشحن وتستأنف الطلبات فوراً |
403 | content_blocked | محتوى جنسي يتعلق بقاصرين — مرفوض دون احتساب |
404 | not_found | نقطة نهاية غير معروفة |
413 | request_too_large | جسم الطلب أكبر من 8 MB |
429 | rate_limited · concurrency | تجاوز 300 في الدقيقة أو 8 متزامنة — انتظر ثم أعد المحاولة |
503 | upstream_busy | النموذج مشغول — أعد المحاولة بعد ثوانٍ |
أسئلة وأجوبة
هل هذه هي واجهة برمجة التطبيقات الرسمية لـ GLM؟
لا، هذه خدمة مستقلة. نحن ندير نموذجنا الخاص بدون رقابة ونوفر واجهة متوافقة مع OpenAI. لا توجد علاقة مع مطوري GLM الأصليين.
كيف أدفع مقابل واجهة برمجة التطبيقات؟
نقبل الشحن بالعملات المشفرة (USDT على TRC20، USDC على Base). الحد الأدنى للشحن هو 20 دولاراً. يُخصم رصيد مسبق الدفع حسب استخدام الرموز ولا ينتهي.
ما هو حجم نافذة السياق؟
يدعم النموذج نافذة سياق بحجم 100,000 رمز. الحد الأقصى للإخراج لكل طلب هو 32,000 رمز ما لم يُحدد خلاف ذلك.
مفتاحك على بُعد نموذج واحد
أنشئ حساباً، انسخ المفتاح، غيّر عنوان URL الأساسي. هذا هو الإعداد الكامل.