لم تتم ترجمة هذا المقال إلى هذه اللغة بعد؛ تشاهد النسخة الفارسية.

متوسط

وصل کردن هر SDK یا کتابخونه‌ی سازگار با OpenAI

الگوی کلی برای وصل‌کردن هر SDK یا کتابخونه‌ای که فرمت OpenAI رو می‌فهمه — پایتون، Node، یا هر زبون دیگه‌ای.

اگه api-quickstart رو با curl امتحان کردی و حالا می‌خوای همون کار رو از داخل کد پایتون، Node، یا هر SDK دیگه‌ای که با فرمت OpenAI کار می‌کنه انجام بدی — این مقاله برای توئه. تا آخرش، یه SDK رسمی سازگار با OpenAI رو مستقیم به بنفش وصل می‌کنی، بدون این‌که چیزی از خود SDK رو دستکاری کنی.

قاعده‌ی کلی

هر SDK که رسماً از OpenAI پشتیبانی می‌کنه، یه راه برای override کردن base_url (یا اسم مشابهش) داره. همون‌جا آدرس سرویس بنفش رو بذار، api_key رو هم کلید خودت بذار — همین. بقیه‌ی SDK دقیقاً همون‌طوری کار می‌کنه که با OpenAI کار می‌کرد.

هم آدرس و هم کلید رو از صفحه‌ی «اتصال به ابزارها» بگیر — همیشه از همون‌جا، هیچ‌وقت یه آدرس رو جایی هاردکد نکن؛ این آدرس بین محیط‌های مختلف فرق می‌کنه.

پایتون (SDK رسمی openai)

python
from openai import OpenAI

client = OpenAI(
    base_url="YOUR_SERVICE_URL",
    api_key="YOUR_API_KEY",
)

response = client.chat.completions.create(
    model="YOUR_MODEL_ID",
    messages=[{"role": "user", "content": "سلام، خودت رو معرفی کن"}],
)
print(response.choices[0].message.content)

Node / TypeScript (SDK رسمی openai)

ts
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "YOUR_SERVICE_URL",
  apiKey: "YOUR_API_KEY",
});

const response = await client.chat.completions.create({
  model: "YOUR_MODEL_ID",
  messages: [{ role: "user", content: "سلام، خودت رو معرفی کن" }],
});
console.log(response.choices[0].message.content);

YOUR_MODEL_ID رو با شناسه‌ی یکی از مدل‌های فعال عوض کن — «auto» که تو داکیومنت خودِ OpenAI دیده باشی، مخصوص چت خودِ بنفش تو مرورگره و اینجا کار نمی‌کنه. لیست زنده‌ی مدل‌های فعال:

  • All Minilm L6
  • All Mpnet Base
  • Bge Base En V1.5
  • Bge En Icl
  • Bge Large En V1.5
  • Bge M3
  • Bge M3 Multi
  • Claude Fable 5مع الاشتراك فقط — بلا سعر للدفع حسب الاستخدام
  • Claude Haiku 4 5مع الاشتراك فقط — بلا سعر للدفع حسب الاستخدام
  • Claude Opus 4 6مع الاشتراك فقط — بلا سعر للدفع حسب الاستخدام
  • Claude Opus 4 7مع الاشتراك فقط — بلا سعر للدفع حسب الاستخدام
  • Claude Opus 4 8مع الاشتراك فقط — بلا سعر للدفع حسب الاستخدام
  • Claude Opus 5مع الاشتراك فقط — بلا سعر للدفع حسب الاستخدام
  • Claude Sonnet 4 6مع الاشتراك فقط — بلا سعر للدفع حسب الاستخدام
  • Claude Sonnet 5مع الاشتراك فقط — بلا سعر للدفع حسب الاستخدام
  • Clip Vit B 32
  • Deepseekحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Deepseek V4 Flashحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Deepseek V4 Proحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • E5 Base
  • E5 Large
  • Embed Multilingual V3
  • Gemini 2.5 Flashحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Gemini 2.5 Proحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Gemini 3.1 Flash Liteحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Gemini 3.1 Proحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Gemini 3.5 Flashحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Gemma 3 12Bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Gemma 3 12B Itحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Gemma 3 27Bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Gemma 3 4Bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Gemma 4 26B A4bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Gemma 4 31Bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Gemma 4 31B It Ultraحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Gemma 4 31B Turboحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Gemma 4 E4bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Glm 4 7حوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Glm 4 7 Flashحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Glm 4.6حوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Glm 4.7حوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Glm 5حوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • GPT Oss 120Bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • GPT Oss 120B 1 0حوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • GPT Oss 120B Turboحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • GPT Oss 120B Ultraحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • GPT Oss 20Bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Gte Base
  • Gte Large
  • Hermes 3 Llama 3.1 405Bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Hermes 3 Llama 3.1 70Bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Hy3حوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Inklingحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Kimi K2 5حوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Kimi K2 Thinkingحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Kimi K2.5حوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Kimi K2.6حوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Kimi K2.7 Codeحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Kimi K3حوالي ۶٬۹۱۳ تومان لكل رسالة عادية
  • L3 8B Lunaris Turboحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • L3.1 70B Euryale V2.2حوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Ling 3.0 Flashحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Llama 3.1 70B Turboحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Llama 3.1 8B Turboحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Llama 3.3 70B Turboحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Llama 4 Maverick 17B 128E Fp8حوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Llama 4 Scout 17B 16Eحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Llama Nemotron Embed Vl 1B
  • Llama3 70B Instructحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Mimo V2.5حوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Minimax M2.7 Turboحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Minimax M3حوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Mistral Nemo Instructحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Mistral Small 24B Instructحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Mistral Small 3.2 24B Instructحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Multi Qa Mpnet Base Dot
  • Multilingual E5 Large
  • Muse Glimmer 30Bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Mythomax L2 13Bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Nemotron 3 Nano 30B A3bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Nova Microحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Nova Proحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Nvidia Nemotron 3 Super 120B A12bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Nvidia Nemotron 3 Ultra 550B A55bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Nvidia Nemotron 3.5 Lightningحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Paraphrase Minilm L6
  • Phi 4حوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Qwen2.5 72Bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Qwen3 14Bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Qwen3 235B A22b Instructحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Qwen3 235B A22b Thinkingحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Qwen3 30B A3bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Qwen3 32Bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Qwen3 Coder 480B A35b Turboحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Qwen3 Embedding 0.6B
  • Qwen3 Embedding 4B
  • Qwen3 Maxحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Qwen3 Max Thinkingحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Qwen3 Vl 30B A3bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Qwen3.5 122B A10bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Qwen3.5 27Bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Qwen3.5 35B A3bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Qwen3.5 397B A17bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Qwen3.5 9Bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Qwen3.6 27Bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Qwen3.6 35B A3bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Qwen3.7 Maxحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Qwen3.8 2.4T A95bحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Qwen3.8 Maxحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Seed 1.8حوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Seed 2.0 Codeحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Seed 2.0 Miniحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Seed 2.0 Proحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Step 3.7 Flashحوالي ۴٬۶۰۹ تومان لكل رسالة عادية
  • Text2vec Base Chinese
  • Titan Embed Text V2

⚠️ این دو نمونه هنوز مستقیم روی SDKهای واقعی اجرا و تست نشدن. ساختارشون دقیقاً همون override استانداردیه که این SDKها مستند کردن، ولی قبل از قراردادنشون تو کد production خودت، یه بار محلی امتحانشون کن. اگه جواب نگرفتی، «رفع اشکال اتصال» رو ببین.

نکته برای هر SDK دیگه

اگه از یه زبون یا کتابخونه‌ی دیگه استفاده می‌کنی که مستقیماً از OpenAI پشتیبانی نمی‌کنه ولی می‌گه «سازگار با OpenAI»، دنبال یکی از این دو الگو بگرد:

  • یه پارامتر صریح مثل base_url / baseURL / endpoint موقع ساختن کلاینت.
  • یه متغیر محیطی مثل OPENAI_BASE_URL که SDK خودش می‌خونه.

اگه هیچ‌کدوم رو نداره — یعنی آدرس OpenAI رو تو خودِ کتابخونه هاردکد کرده — نمی‌تونی وصلش کنی.

چی کار نمی‌کنه

  • SDKهای رسمی provider‌های دیگه (مثلاً SDK رسمی Anthropic) کار نمی‌کنن — اون‌ها فرمت درخواست/پاسخ متفاوتی دارن که بنفش امروز پیاده نکرده.
  • این مسیر (SDK مستقیم به gateway) هم به کیف پولت گیت شده — با یه سقف روی gateway، نه چک لحظه‌ای مثل چت. جزئیاتش تو «کنترل مصرف و هزینه» هست.
  • می‌تونی برای این SDK/پروژه یه کلید جدا بسازی (تا ده‌تا کلید فعال، هر کدوم با اسم و سقف مصرف مخصوص خودش) — از «اتصال به ابزارها».