معمولی

وصل کردن هر 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 L12
  • 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 Haiku 4 5 — فقط با اشتراک — بدون قیمت پرداخت مصرفی
  • Claude Haiku 4 5 20251001 — حدود ۱٬۱۸۳ تومان برای هر پیام معمولی
  • Claude Opus 4 6 — فقط با اشتراک — بدون قیمت پرداخت مصرفی
  • Claude Opus 4 7 — فقط با اشتراک — بدون قیمت پرداخت مصرفی
  • Claude Opus 4 8 — فقط با اشتراک — بدون قیمت پرداخت مصرفی
  • Claude Opus 5 — حدود ۵٬۹۱۵ تومان برای هر پیام معمولی
  • Claude Opus 5 5 — حدود ۴٬۷۳۲ تومان برای هر پیام معمولی
  • Claude Sonnet 4 6 — حدود ۳٬۵۴۹ تومان برای هر پیام معمولی
  • Claude Sonnet 5 — حدود ۲٬۳۶۶ تومان برای هر پیام معمولی
  • Claude Sonnet 5 5 — حدود ۲٬۳۶۶ تومان برای هر پیام معمولی
  • Clip Vit B 32
  • Deepseek V4 Flash — حدود ۶۷ تومان برای هر پیام معمولی
  • 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 4 26B A4b — حدود ۸۲ تومان برای هر پیام معمولی
  • Gemma 4 31B — حدود ۱۱۳ تومان برای هر پیام معمولی
  • Gemma 4 31B Turbo — حدود ۹۰ تومان برای هر پیام معمولی
  • 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 — حدود ۲۳۰ تومان برای هر پیام معمولی
  • 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.6 — حدود ۸۵۲ تومان برای هر پیام معمولی
  • Kimi K3 — حدود ۳٬۳۷۴ تومان برای هر پیام معمولی
  • L3.1 70B Euryale V2.2 — حدود ۵۰۵ تومان برای هر پیام معمولی
  • Ling 3.0 Flash — حدود ۵۵ تومان برای هر پیام معمولی
  • Llama 3.1 70B Turbo — حدود ۲۳۷ تومان برای هر پیام معمولی
  • Llama 3.3 70B Turbo — حدود ۹۱ تومان برای هر پیام معمولی
  • Llama 4 Scout 17B 16E — حدود ۸۹ تومان برای هر پیام معمولی
  • Llama Nemotron Embed Vl 1B
  • Llama3 70B 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 — حدود ۵۴ تومان برای هر پیام معمولی
  • Nvidia Nemotron 3 Super 120B A12b — حدود ۱۰۰ تومان برای هر پیام معمولی
  • Nvidia Nemotron 3.5 Lightning — حدود ۵۲ تومان برای هر پیام معمولی
  • Paraphrase Minilm L6
  • Phi 4 — حدود ۵۲ تومان برای هر پیام معمولی
  • Qwen2.5 72B — حدود ۲۲۰ تومان برای هر پیام معمولی
  • Qwen3 14B — حدود ۸۸ تومان برای هر پیام معمولی
  • Qwen3 235B A22b Instruct — حدود ۱۲۲ تومان برای هر پیام معمولی
  • Qwen3 30B A3b — حدود ۱۲۶ تومان برای هر پیام معمولی
  • Qwen3 32B — حدود ۱۵۷ تومان برای هر پیام معمولی
  • Qwen3 Embedding 0.6B
  • Qwen3 Embedding 4B
  • Qwen3 Embedding 8B
  • Qwen3 Max — حدود ۱٬۴۱۹ تومان برای هر پیام معمولی
  • Qwen3 Vl 30B A3b — حدود ۱۵۷ تومان برای هر پیام معمولی
  • 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 — حدود ۶۶۵ تومان برای هر پیام معمولی
  • 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/پروژه یه کلید جدا بسازی (تا ده‌تا کلید فعال، هر کدوم با اسم و سقف مصرف مخصوص خودش) — از «اتصال به ابزارها».