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.
راهنمای کامل 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 موجود است. همه راهنماها را ببینید.
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.