برای برنامهنویسها؛ از انتخاب تا اولین پاسخ
اولین درخواست API هوش مصنوعی را
بدون حدسزدن بساز.
این راهنما برای سرویسهایی است که API سازگار با OpenAI ارائه میکنند. ابتدا Provider و مدل را از منبع رسمی انتخاب میکنی، بعد کلید را بهصورت امن در متغیر محیطی قرار میدهی و درخواست را با curl، Python یا Node.js میفرستی.
مسیر استاندارد
چهار مرحلهای که نباید با هم قاطی شوند
بازشدن وبسایت یا پاسخدادن یک Endpoint عمومی، اثبات نمیکند که حساب ساخته میشود یا درخواست مدل موفق خواهد بود. برای یک اتصال واقعی هر چهار مرحله باید جداگانه انجام و بررسی شوند.
- ۱Provider را انتخاب کن
کاربرد، نوع سهمیه، محدودیت، مدل و وضعیت منطقه را مقایسه کن.
- ۲حساب و کلید بساز
فقط از صفحه رسمی ثبتنام و داشبورد رسمی API Key استفاده کن.
- ۳سه مقدار را تنظیم کن
API Key، Base URL و شناسه دقیق Model را از مستندات بردار.
- ۴درخواست واقعی بفرست
HTTP status، بدنه JSON و محتوای پاسخ مدل را بررسی کن.
مخصوص کاربران ایران
چهار نوع Evidence را جدا بخوان
در صفحه هر Provider ممکن است یکی از لایههای زیر تأیید شده باشد. برچسب «سایت باز شد» یا پاسخ 401 بهمعنی کارکرد کامل سرویس نیست؛ 401 معمولاً فقط نشان میدهد مسیر شبکه به Endpoint رسیده اما اعتبارنامه معتبر ارائه نشده است.
برای تصمیم نهایی، صفحه اختصاصی Provider، تاریخ آخرین بررسی و منبع رسمی را بخوان. وضعیتها تضمین دائمی نیستند و ممکن است با سیاست سرویس، حساب یا مسیر شبکه تغییر کنند.
قبل از کدنویسی
سه مقدار اصلی را از مستندات رسمی بردار
LLM_API_KEY
کلید محرمانه حساب. آن را داخل Git، فایل عمومی، Screenshot یا فرانتاند مرورگر قرار نده.
LLM_BASE_URL
آدرس پایه API؛ برای سرویس سازگار با OpenAI معمولاً به نسخهای مانند /v1 ختم میشود.
LLM_MODEL
شناسه دقیق مدل، نه نام بازاریابی آن. شناسه را از مدلهای فعال حساب یا مستندات کپی کن.
تنظیم متغیرهای محیطیLinux / macOS / Git Bash
export LLM_API_KEY="YOUR_API_KEY"
export LLM_BASE_URL="https://provider.example/v1"
export LLM_MODEL="MODEL_ID"
نمونههای قابلکپی
یک درخواست ساده Chat Completions بفرست
این نمونهها فقط برای Providerهایی هستند که در کاتالوگ با برچسب سازگار با OpenAI نمایش داده شدهاند. اگر سرویس API اختصاصی دارد، Schema و SDK همان سرویس را استفاده کن. پیام آزمایشی کوتاه نگه داشته شده تا خطای اتصال، مدل و احراز هویت سریعتر مشخص شود.
curlبدون نصب SDK
curl "$LLM_BASE_URL/chat/completions" \
-H "Authorization: Bearer $LLM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "'"$LLM_MODEL"'",
"messages": [
{"role": "user", "content": "فقط بنویس: اتصال موفق بود"}
]
}'
PythonOpenAI SDK
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["LLM_API_KEY"],
base_url=os.environ["LLM_BASE_URL"],
)
response = client.chat.completions.create(
model=os.environ["LLM_MODEL"],
messages=[
{"role": "user", "content": "فقط بنویس: اتصال موفق بود"}
],
)
print(response.choices[0].message.content)
python -m pip install openaiNode.jsOpenAI SDK + ESM
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.LLM_API_KEY,
baseURL: process.env.LLM_BASE_URL,
});
const response = await client.chat.completions.create({
model: process.env.LLM_MODEL,
messages: [
{ role: "user", content: "فقط بنویس: اتصال موفق بود" },
],
});
console.log(response.choices[0].message.content);
npm install openaiتعریف موفقیت
از کجا بفهمم واقعاً وصل شدهام؟
HTTP موفق
معمولاً status code در بازه 200 است؛ اما فقط status کافی نیست.
JSON معتبر
بدنه پاسخ باید JSON مورد انتظار API باشد، نه HTML صفحه ورود یا خطای CDN.
Model معتبر
پاسخ باید به شناسه مدلی مربوط باشد که در درخواست فرستادهای.
متن قابلخواندن
محتوای پاسخ مدل باید در مسیر استاندارد SDK یا Schema سرویس موجود باشد.
رفع خطای سریع
خطاهای رایج چه معنایی دارند؟
401 Unauthorized
کلید ارسال نشده، نامعتبر است یا برای این Endpoint پذیرفته نمیشود. نام متغیر و Header را بررسی کن.
403 Forbidden
حساب، منطقه، مدل یا سیاست سرویس اجازه دسترسی نمیدهد. این خطا را با مشکل شبکه یکی ندان.
404 Not Found
Base URL، نسخه API، مسیر chat/completions یا شناسه مدل ممکن است اشتباه باشد.
429 Too Many Requests
سهمیه یا Rate Limit پر شده است. Retry با backoff و Headerهای محدودیت را بررسی کن.
Timeout / TLS
مسئله احتمالاً قبل از لایه API است: DNS، مسیر شبکه، TLS یا فایروال را جدا بررسی کن.
200 + HTML
بهجای API، صفحه وب یا fallback دریافت کردهای. Content-Type و Base URL را کنترل کن.
برای جزئیات بیشتر، راهنماهای خطاهای 401، 403 و مدل و مدیریت Rate Limit 429 را بخوان.
حالا Provider مناسب را انتخاب کن.
کاربرد، بودجه، سرعت، زبان و شرایط منطقه را وارد کن تا گزینهها رتبهبندی شوند.