Home/Blog/ChatGPT API Complete Guide: Build AI App...
Development

ChatGPT API Complete Guide: Build AI Apps in Any Language

The ChatGPT API is the most powerful and accessible AI API available. This complete guide shows you how to integrate it into your projects.

2026-06-2820 min readLearnGeni AI Academy

راهنمای کامل ChatGPT API: ساخت اپلیکیشن هوش مصنوعی به هر زبانی

ChatGPT API (که دقیق‌تر بگوییم OpenAI API) قدرتمندترین و در دسترس‌ترین API هوش مصنوعی موجود است. با این API می‌توانید GPT-4o، GPT-4o mini و سایر مدل‌های OpenAI را مستقیماً در اپلیکیشن‌ها، وب‌سایت‌ها، workflow ها و محصولات خود ادغام کنید.

در این راهنما، همه چیز را از احراز هویت تا ساخت یک اپلیکیشن کامل production-ready یاد می‌گیرید.

دریافت API Key

۱. به platform.openai.com بروید ۲. یک حساب کاربری بسازید یا وارد شوید ۳. از منوی بالا سمت راست، روی API Keys کلیک کنید ۴. روی Create new secret key کلیک کنید ۵. کلید را کپی کنید — دیگر نمایش داده نخواهد شد

هشدار: API key را هرگز در کد commit نکنید. از متغیرهای محیطی استفاده کنید.

نصب و راه‌اندازی

پایتون:

pip install openai python-dotenv

جاوااسکریپت/Node.js:

npm install openai dotenv

فایل .env بسازید:

OPENAI_API_KEY=sk-your-key-here

اولین فراخوانی API

پایتون:

from openai import OpenAI
from dotenv import load_dotenv

load_dotenv()
client = OpenAI()

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": "شما یک دستیار مفید هستید."},
        {"role": "user", "content": "هوش مصنوعی مولد چیست؟"}
    ]
)

print(response.choices[0].message.content)

جاوااسکریپت:

import OpenAI from 'openai';

const client = new OpenAI();

const response = await client.chat.completions.create({
  model: 'gpt-4o-mini',
  messages: [
    { role: 'system', content: 'شما یک دستیار مفید هستید.' },
    { role: 'user', content: 'هوش مصنوعی مولد چیست؟' }
  ]
});

console.log(response.choices[0].message.content);

انواع Role ها

هر پیام یکی از سه role دارد:

Roleکاربرد
systemدستورالعمل‌های کلی به مدل (شخصیت، محدودیت‌ها، سبک)
userپیام کاربر
assistantپاسخ‌های قبلی مدل (برای حافظه مکالمه)

مکالمه با حافظه

from openai import OpenAI

client = OpenAI()
messages = [{"role": "system", "content": "شما یک دستیار مفید هستید."}]

def chat(user_input: str) -> str:
    messages.append({"role": "user", "content": user_input})
    
    response = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=messages
    )
    
    reply = response.choices[0].message.content
    messages.append({"role": "assistant", "content": reply})
    return reply

print(chat("سلام، اسمم رضا است"))
print(chat("اسمم چیه؟"))  # حافظه دارد!

Streaming: پاسخ بلادرنگ

from openai import OpenAI

client = OpenAI()

stream = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "یک داستان کوتاه بنویس"}],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Function Calling: هوش مصنوعی که کارها انجام می‌دهد

Function calling به مدل اجازه می‌دهد توابع شما را فراخوانی کند:

from openai import OpenAI
import json

client = OpenAI()

# تعریف توابع
tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "آب و هوای یک شهر را برگردان",
            "parameters": {
                "type": "object",
                "properties": {
                    "city": {
                        "type": "string",
                        "description": "نام شهر"
                    }
                },
                "required": ["city"]
            }
        }
    }
]

def get_weather(city: str) -> str:
    return f"آب و هوای {city}: ۲۵ درجه، آفتابی"

messages = [{"role": "user", "content": "آب و هوای تهران چطوره؟"}]

response = client.chat.completions.create(
    model="gpt-4o",
    messages=messages,
    tools=tools
)

# بررسی اینکه آیا مدل می‌خواهد تابع را فراخوانی کند
if response.choices[0].message.tool_calls:
    tool_call = response.choices[0].message.tool_calls[0]
    args = json.loads(tool_call.function.arguments)
    
    # اجرای تابع
    result = get_weather(args["city"])
    
    # نتیجه را برمی‌گردانیم
    messages.append(response.choices[0].message)
    messages.append({
        "role": "tool",
        "tool_call_id": tool_call.id,
        "content": result
    })
    
    final_response = client.chat.completions.create(
        model="gpt-4o",
        messages=messages
    )
    print(final_response.choices[0].message.content)

JSON Mode: خروجی ساختارمند

from openai import OpenAI
import json

client = OpenAI()

response = client.chat.completions.create(
    model="gpt-4o-mini",
    response_format={"type": "json_object"},
    messages=[
        {"role": "system", "content": "پاسخ را فقط به فرمت JSON برگردان."},
        {"role": "user", "content": "اطلاعات ۳ کشور بزرگ جهان را به JSON بده"}
    ]
)

data = json.loads(response.choices[0].message.content)
print(json.dumps(data, ensure_ascii=False, indent=2))

بهینه‌سازی هزینه

مدلهزینه ورودی (۱M token)هزینه خروجی (۱M token)کاربرد
gpt-4o-mini$0.15$0.60کارهای روزمره
gpt-4o$2.50$10.00کارهای پیچیده
gpt-4-turbo$10.00$30.00موارد خاص

نکات کاهش هزینه:

  • از gpt-4o-mini برای کارهای ساده استفاده کنید
  • max_tokens را محدود کنید
  • prompt های کوتاه‌تر بنویسید
  • از cache برای پاسخ‌های تکراری استفاده کنید

مدیریت خطاها

from openai import OpenAI, RateLimitError, APIError
import time

client = OpenAI()

def call_with_retry(messages, max_retries=3):
    for attempt in range(max_retries):
        try:
            return client.chat.completions.create(
                model="gpt-4o-mini",
                messages=messages
            )
        except RateLimitError:
            if attempt < max_retries - 1:
                time.sleep(2 ** attempt)  # exponential backoff
            else:
                raise
        except APIError as e:
            print(f"خطای API: {e}")
            raise

پروژه عملی: ربات پشتیبانی مشتری

from openai import OpenAI
from dotenv import load_dotenv

load_dotenv()
client = OpenAI()

SYSTEM_PROMPT = """شما یک دستیار پشتیبانی مشتری برای فروشگاه آنلاین هستید.
محصولات ما: لپ‌تاپ، موبایل، تبلت
ساعت کاری: ۹ صبح تا ۹ شب
برای مشکلات فنی: ایمیل support@shop.com
همیشه مودبانه و مفید باشید."""

class SupportBot:
    def __init__(self):
        self.messages = [{"role": "system", "content": SYSTEM_PROMPT}]
    
    def respond(self, user_message: str) -> str:
        self.messages.append({"role": "user", "content": user_message})
        
        response = client.chat.completions.create(
            model="gpt-4o-mini",
            messages=self.messages,
            max_tokens=500,
            temperature=0.7
        )
        
        reply = response.choices[0].message.content
        self.messages.append({"role": "assistant", "content": reply})
        return reply

bot = SupportBot()
print(bot.respond("سلام، می‌خوام یه لپ‌تاپ بخرم"))
print(bot.respond("بودجه‌ام ۲۰ میلیون تومنه"))

استقرار در Production

نکات مهم:

  • API key را در environment variables نگه دارید (نه در کد)
  • از یک API Gateway برای rate limiting استفاده کنید
  • لاگ‌های مکالمه را ذخیره کنید برای debugging
  • monitoring هزینه را فعال کنید در OpenAI dashboard
  • برای پروژه‌های بزرگ، از LangChain یا LlamaIndex استفاده کنید

جمع‌بندی

ChatGPT API درِ دنیایی از امکانات را باز می‌کند. با تسلط بر آن می‌توانید:

  • چت‌بات‌های هوشمند بسازید
  • محتوا به صورت خودکار تولید کنید
  • اسناد را تحلیل کنید
  • کدنویسی را خودکار کنید
  • و ده‌ها کاربرد دیگر

قدم بعدی: راهنمای کامل ChatGPT API در LearnGeni با مثال‌های واقعی، پروژه‌های عملی و بهترین روش‌های production موجود است. همه راهنماها را ببینید.

G

Earn Your International AI Certificate

This article is part of the LearnGeni AI Mastery Program — 30 comprehensive guides in 50+ languages. Complete all 30 and earn a certificate backed by WhatsGeni (Official Meta AI Partner), recognized in 50+ countries.

🌍
50+ Languages
Learn in your native language
🏆
Official Certificate
Backed by Meta AI Partner
💡
30 Guides
$5 each or $50 for the full bundle