الترحيل في 5 دقائق: تبديل رابط OpenAI الأساسي إلى OpenDunes
كودك يتكلم صيغة OpenAI أصلًا. غيّر قيمتين، رابط القاعدة والمفتاح، فيمر نفس الكود عبر OpenDunes ويُدفع بالدينار.
كودك يتكلم صيغة OpenAI أصلًا. غيّر قيمتين، رابط القاعدة والمفتاح، فيمر نفس الكود عبر OpenDunes ويُدفع بالدينار.
بنيت تطبيقك على مكتبات OpenAI، ثم توقفت الفاتورة عند بطاقة مرفوضة. تتوقع أسابيع من إعادة الكتابة. ما تحتاجه خمس دقائق.
تتكلم OpenDunes صيغة OpenAI: الطلبات التي يرسلها كودك والأجوبة التي يقرؤها تبقى كما هي. تغيّر قيمتين، ولا شيء غيرهما.
يتكلم كودك مع الواجهة عبر إعدادين. الأول يحدد أين يُرسَل الطلب، والثاني يثبت أن الطلب طلبك.
رابط القاعدة هو العنوان الذي يبدأ به كل طلب. دوره أن يخبر كودك أي خدمة تجيب.
القيمتان في مكان واحد من كودك: حيث تنشئ العميل.
هل عليّ إعادة كتابة استدعاءاتي وتعليماتي وطريقة قراءة الأجوبة؟
لا. جسم الطلب وصيغة الرسائل والجواب الذي تقرؤه تحتفظ بشكلها. تعليماتك وكود القراءة يبقيان كما هما.
إن رُفضت بطاقتك في صفحة الدفع الرسمية، يشرح جدار الفوترة الذي يدفعك للبحث عن رابط قاعدة السبب، وما يعنيه ذلك لحسابك.
هذه مكتبة openai الرسمية لـ Python، موجّهة نحو OpenDunes. يتغير السطران المعلَّق عليهما فقط.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://opendunes.com/v1", # changed
api_key=os.environ["OPENDUNES_API_KEY"], # changed
)
response = client.chat.completions.create(
model="openai/gpt-6-luna",
messages=[{"role": "user", "content": "Summarise this order in one line."}],
)
print(response.choices[0].message.content)اكتب الاسم الكامل للنموذج كما تعرضه صفحته: openai/gpt-6-luna. الجزء قبل الشرطة المائلة هو المختبر الذي صنع النموذج.
تأخذ مكتبة JavaScript الرسمية القيمتين نفسيهما.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://opendunes.com/v1", // changed
apiKey: process.env.OPENDUNES_API_KEY, // changed
});
const completion = await client.chat.completions.create({
model: "openai/gpt-6-luna",
messages: [{ role: "user", content: "Summarise this order in one line." }],
});
console.log(completion.choices[0].message.content);تقرأ المكتبات الرسمية أيضًا OPENAI_BASE_URL من متغيرات البيئة. ضع العنوان هناك مرة واحدة، بجانب مفتاحك.
OPENDUNES_API_KEY=your-key-here
OPENAI_BASE_URL=https://opendunes.com/v1مفتاحك يصرف من رصيدك. من يقرؤه يستطيع أن يصرف منه أيضًا.
لصق المفتاح في ملف مصدر ودفعه إلى مستودع مشترك.
احفظ المفتاح في متغير بيئة أو خزنة أسرار، وأنشئ مفتاحًا لكل تطبيق لتلغي واحدًا دون إيقاف الباقي.
لنرَ كم يكلّف حمل عمل حقيقي بعد تشغيله.
نظامك الإداري يلخّص 10 000 طلبية في الشهر بـ GPT-6 Luna. تعرض صفحة النموذج نحو 0,11 دج للرسالة، قُرئت في 5 أكتوبر 2026. أي نحو 1 100 دج في الشهر، تُخصم من رصيدك بالدينار.
والآن أرسل طلبك الأول بنفسك.
السياق: لديك مفتاح OpenDunes ونافذة أوامر.
المطلوب: أرسل سؤالًا إلى openai/gpt-6-luna باستخدام curl، ثم اقرأ نص الجواب.
صدّر مفتاحك، ثم أرسل الطلب:
export OPENDUNES_API_KEY=your-key-here
curl https://opendunes.com/v1/chat/completions \
-H "Authorization: Bearer $OPENDUNES_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "openai/gpt-6-luna", "messages": [{"role": "user", "content": "Hello"}]}'نص الجواب موجود في choices[0].message.content.
https://opendunes.com/v1 والمفتاح.openai/gpt-6-luna.لا. احتفظ بمكتبة OpenAI الرسمية التي تستخدمها، في Python أو JavaScript، وغيّر رابط القاعدة والمفتاح.
يحتفظان بصيغة OpenAI. صفحة كل نموذج تذكر ما يدعمه، مثل الأدوات والرؤية والمخرجات المنظَّمة، فراجعها قبل تغيير النموذج.
نعم. التغيير قيمتان، والرجوع قيمتان أيضًا. تعليماتك وكود القراءة لم يتغيرا أبدًا.
كودك يعمل الآن بالدينار. في المقال التالي، ترى كيف تفوتر زبائنك بالدينار دون اقتطاع شهري من البطاقة. نلتقي هناك!