ما هو ChatGPT API؟
OpenAI API يسمح لك بالوصول لنفس النماذج التي تعمل خلف ChatGPT (GPT-4o, o1) من تطبيقك الخاص.
الاستخدامات:
- chatbot مخصّص لموقعك
- ترجمة / تلخيص آلي
- مساعد كتابة في تطبيق
- استخراج بيانات من نصوص حرّة
- توليد محتوى (نصوص، رموز، أفكار)
الحصول على مفتاح API
- سجّل في platform.openai.com
- Billing → أضف طريقة دفع (مطلوب)
- API Keys → Create new secret key
- احفظه فوراً — لن يظهر مرّة أخرى
أضف credit (5$ كبداية) — لا يوجد خطة مجانية.
التسعير (تقريبي، 2026)
| النموذج | Input ($/M tokens) | Output ($/M tokens) | |---------|-------------------|---------------------| | GPT-4o | $2.50 | $10 | | GPT-4o-mini | $0.15 | $0.60 | | o1 | $15 | $60 |
1 token ≈ 0.75 كلمة إنجليزية / 0.4 كلمة عربية.
مثال: مقال بـ500 كلمة عربية ≈ 1200 token. GPT-4o-mini ≈ $0.001 (أقل من سنت).
أول طلب بـ Node.js
npm install openaiimport OpenAI from "openai";
const openai = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
});
const response = await openai.chat.completions.create({
model: "gpt-4o-mini",
messages: [
{ role: "system", content: "أنت مساعد ذكي باللغة العربية." },
{ role: "user", content: "اشرح ما هو JWT في جملة واحدة." },
],
});
console.log(response.choices[0].message.content);نفس الشيء بـ Python
pip install openaifrom openai import OpenAI
client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "أنت مساعد باللغة العربية."},
{"role": "user", "content": "اكتب قصيدة قصيرة عن البرمجة."},
],
)
print(response.choices[0].message.content)أدوار الرسائل
- system: يوجّه سلوك النموذج (شخصيّته، لغته، القيود)
- user: رسالة المستخدم
- assistant: رد النموذج (مفيد في محادثات متعدّدة)
const messages = [
{ role: "system", content: "أنت مدرّس رياضيات للأطفال." },
{ role: "user", content: "ما هو الجمع؟" },
{ role: "assistant", content: "الجمع هو دمج عددين للحصول على عدد أكبر." },
{ role: "user", content: "أعطني مثالاً." },
];Streaming — استجابة تدريجية
const stream = await openai.chat.completions.create({
model: "gpt-4o-mini",
messages: [{ role: "user", content: "اشرح Docker." }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}يظهر النص كلمة بكلمة كما في ChatGPT.
JSON Mode — ناتج منظّم
const response = await openai.chat.completions.create({
model: "gpt-4o",
response_format: { type: "json_object" },
messages: [
{ role: "system", content: "استخرج معلومات المستخدم كـ JSON." },
{ role: "user", content: "اسمي أحمد، عمري 28، أعيش في دبي." },
],
});
const data = JSON.parse(response.choices[0].message.content);
// { name: "أحمد", age: 28, city: "دبي" }Function Calling — النموذج يستدعي دوالك
const tools = [
{
type: "function",
function: {
name: "get_weather",
description: "احصل على الطقس الحالي لمدينة",
parameters: {
type: "object",
properties: {
city: { type: "string", description: "اسم المدينة" },
},
required: ["city"],
},
},
},
];
const response = await openai.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "كم درجة الحرارة في الرياض؟" }],
tools,
});
const call = response.choices[0].message.tool_calls?.[0];
if (call?.function.name === "get_weather") {
const { city } = JSON.parse(call.function.arguments);
const weather = await fetchWeather(city);
// أرسل النتيجة للنموذج ليُكمل الرد...
}توليد الصور (DALL-E)
const image = await openai.images.generate({
model: "dall-e-3",
prompt: "قطة على كرسي تقرأ كتاباً، أسلوب كرتوني",
n: 1,
size: "1024x1024",
});
console.log(image.data[0].url);التحويل النصّي للكلام
import fs from "fs";
const audio = await openai.audio.speech.create({
model: "tts-1",
voice: "alloy",
input: "أهلاً بك في موقع خبراء.",
});
const buffer = Buffer.from(await audio.arrayBuffer());
fs.writeFileSync("output.mp3", buffer);أفضل الممارسات
1. استخدم النموذج الأصغر إن أمكن
GPT-4o-mini كافٍ لـ90% من المهام بـ1/17 تكلفة GPT-4o.
2. خفّض max_tokens
{ max_tokens: 500 } // يمنع استجابات طويلة غير مرغوبة3. استخدم temperature بحكمة
0— مُتّسق، للتصنيف وتحويل البيانات0.7— افتراضي متوازن1.0+— إبداعي، للكتابة الفنّية
4. cache النتائج الثابتة
إن كان البرومبت نفسه يتكرّر، احفظ النتيجة.
5. راقب التكاليف
console.log(response.usage);
// { prompt_tokens: 150, completion_tokens: 250, total_tokens: 400 }الأمان
- لا تضع المفتاح في الـ frontend أبداً — دائماً في backend
- Rate limiting على endpoint الخاص بك
- Content moderation قبل عرض الردود
const mod = await openai.moderations.create({ input: userMessage });
if (mod.results[0].flagged) {
// ارفض أو نظّف
}بدائل OpenAI
- Anthropic Claude: أحياناً أفضل للكتابة
- Google Gemini: مجاني (حدود سخية)
- Groq: أسرع 10x لنماذج Llama
- DeepSeek: رخيص جداً
الأسئلة الشائعة
كم أحتاج على OpenAI شهرياً؟
- مشروع جانبي: $5-20/شهر
- SaaS صغير: $50-200/شهر
- تطبيق كبير: $500+/شهر
هل البيانات آمنة؟
OpenAI يعد ليس لاستخدامها للتدريب عبر API (بعكس ChatGPT المجاني). للمتطلّبات الصارمة، فعّل "Zero data retention".
الردود بالعربية جيّدة؟
GPT-4o و Claude ممتازان بالعربية. GPT-4o-mini جيد جداً. تجنّب النماذج الأقدم (GPT-3.5).
مقالات ذات صلة
Prompt Engineering للمطوّرين: كيف تحصل على نتائج أفضل من الذكاء الاصطناعي
الفرق بين prompt متوسط و prompt احترافي قد يكون 10x في الجودة. تعلّم القواعد والتقنيات المثبَتة.
مقدّمة Machine Learning: من الصفر إلى أول نموذج
ابدأ تعلّم الذكاء الاصطناعي العملي — ما هو التعلّم الآلي، أنواعه، وبناء أول نموذج في 30 دقيقة.
كيفية استخدام Pandas لتحليل البيانات في Python
Pandas المكتبة رقم #1 لتحليل البيانات في Python — قراءة CSV، تصفية، دمج، وتصدير. مشروع عملي من البداية للنهاية.