كيفية استخدام ChatGPT API في تطبيقاتك
الذكاء الاصطناعي والبيانات

كيفية استخدام ChatGPT API في تطبيقاتك

ادمج قوّة GPT-4 في تطبيقك في 15 دقيقة. دليل كامل من الحساب إلى أول دردشة عاملة.

م
مؤسس LahbabiGuide
4 دقائق قراءة
شارك:

ما هو ChatGPT API؟

OpenAI API يسمح لك بالوصول لنفس النماذج التي تعمل خلف ChatGPT (GPT-4o, o1) من تطبيقك الخاص.

الاستخدامات:

  • chatbot مخصّص لموقعك
  • ترجمة / تلخيص آلي
  • مساعد كتابة في تطبيق
  • استخراج بيانات من نصوص حرّة
  • توليد محتوى (نصوص، رموز، أفكار)

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

  1. سجّل في platform.openai.com
  2. Billing → أضف طريقة دفع (مطلوب)
  3. API Keys → Create new secret key
  4. احفظه فوراً — لن يظهر مرّة أخرى

أضف 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

bash
npm install openai
js
import 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

bash
pip install openai
python
from 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: رد النموذج (مفيد في محادثات متعدّدة)
js
const messages = [
  { role: "system", content: "أنت مدرّس رياضيات للأطفال." },
  { role: "user", content: "ما هو الجمع؟" },
  { role: "assistant", content: "الجمع هو دمج عددين للحصول على عدد أكبر." },
  { role: "user", content: "أعطني مثالاً." },
];

Streaming — استجابة تدريجية

js
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 — ناتج منظّم

js
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 — النموذج يستدعي دوالك

js
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)

js
const image = await openai.images.generate({
  model: "dall-e-3",
  prompt: "قطة على كرسي تقرأ كتاباً، أسلوب كرتوني",
  n: 1,
  size: "1024x1024",
});

console.log(image.data[0].url);

التحويل النصّي للكلام

js
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

js
{ max_tokens: 500 }  // يمنع استجابات طويلة غير مرغوبة

3. استخدم temperature بحكمة

  • 0 — مُتّسق، للتصنيف وتحويل البيانات
  • 0.7 — افتراضي متوازن
  • 1.0+ — إبداعي، للكتابة الفنّية

4. cache النتائج الثابتة

إن كان البرومبت نفسه يتكرّر، احفظ النتيجة.

5. راقب التكاليف

js
console.log(response.usage);
// { prompt_tokens: 150, completion_tokens: 250, total_tokens: 400 }

الأمان

  • لا تضع المفتاح في الـ frontend أبداً — دائماً في backend
  • Rate limiting على endpoint الخاص بك
  • Content moderation قبل عرض الردود
js
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).

اقرأ أيضاً

مقالات ذات صلة