پشتیبانی از SDKهای بومی
برای اتصال محصول به گدارAI، مسیر پیشنهادی برای بیشتر تیمها استفاده از APIها و SDKهای سازگار با OpenAI است. این مسیر سادهتر است، سریعتر آزمایش میشود و با بخش بزرگی از قابلیتهای درگاه، مثل احراز هویت، کنترل مصرف و پایش، هماهنگتر است.
SDK بومی ارائهدهنده زمانی مطرح میشود که محصول شما به قابلیت اختصاصی همان ارائهدهنده نیاز دارد یا از قبل روی آن SDK سرمایهگذاری کرده است. در این حالت، قبل از اتکا در محیط عملیاتی، باید مطمئن شوید مسیر بومی موردنظر در فضای کاری و استقرار شما فعال و مستند شده است.
انتخاب پیشفرض: مسیر سازگار با OpenAI
اگر تازه میخواهید گدارAI را به محصول خود وصل کنید، از این مسیر شروع کنید:
- SDK رسمی OpenAI یا درخواست HTTP سازگار با OpenAI را نگه دارید.
- مقدار
base_urlرا روی نشانی پایه گدارAI تنظیم کنید. - توکن دسترسی گدارAI را بهجای کلید خام ارائهدهنده بفرستید.
- مقدار
modelرا از مدل مجاز یا مدل مجازی فضای کاری بردارید.
نمونه:
- Python
- NodeJS
- REST API
- OpenAI Python SDK
- OpenAI NodeJS SDK
import requests
response = requests.post(
"https://YOUR_WORKSPACE.godarai.ir/v1/chat/completions",
headers={
"Authorization": "Bearer YOUR_GODARAI_TOKEN",
"Content-Type": "application/json",
},
json={
"model": "YOUR_MODEL_ID",
"messages": [
{
"role": "user",
"content": "سلام"
}
]
},
timeout=60,
)
response.raise_for_status()
print(response.json())
const response = await fetch("https://YOUR_WORKSPACE.godarai.ir/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_GODARAI_TOKEN",
"Content-Type": "application/json",
},
body: JSON.stringify({
"model": "YOUR_MODEL_ID",
"messages": [
{
"role": "user",
"content": "سلام"
}
]
}),
});
if (!response.ok) {
throw new Error(`Request failed with status ${response.status}`);
}
const data = await response.json();
console.log(data);
curl --request POST "https://YOUR_WORKSPACE.godarai.ir/v1/chat/completions" \
--header "Authorization: Bearer YOUR_GODARAI_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"model": "YOUR_MODEL_ID",
"messages": [
{
"role": "user",
"content": "سلام"
}
]
}'
from openai import OpenAI
client = OpenAI(
api_key="YOUR_GODARAI_TOKEN",
base_url="https://YOUR_WORKSPACE.godarai.ir/v1",
)
response = client.chat.completions.create(
"model": "YOUR_MODEL_ID",
messages=[
{
"role": "user",
"content": "سلام"
}
]
)
print(response)
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "YOUR_GODARAI_TOKEN",
baseURL: "https://YOUR_WORKSPACE.godarai.ir/v1",
});
const response = await client.chat.completions.create({
"model": "YOUR_MODEL_ID",
"messages": [
{
"role": "user",
"content": "سلام"
}
]
});
console.log(response);
این مسیر برای شروع، تست اتصال و بیشتر سناریوهای چندارائهدهنده انتخاب قابل اتکاتری است.
چه زمانی SDK بومی را بررسی کنیم؟
SDK بومی ارائهدهنده زمانی ارزش بررسی دارد که یکی از این شرایط را دارید:
- قابلیت خاصی لازم دارید که در مسیر سازگار با OpenAI در دسترس نیست.
- شکل پاسخ بومی ارائهدهنده برای محصول شما مهم است.
- محصول شما از قبل با SDK همان ارائهدهنده ساخته شده و تغییر آن پرهزینه است.
- مسیر بومی در فضای کاری شما فعال شده و تیم شما آن را با ترافیک آزمایشی بررسی کرده است.
نمونهها:
- استفاده از SDK بومی Anthropic برای الگوهایی که به قرارداد اختصاصی Claude وابستهاند.
- استفاده از SDKهای Google یا Vertex برای قابلیتهایی که در مسیر سازگار با OpenAI پوشش داده نشدهاند.
- استفاده از SDKهای AWS Bedrock وقتی محصول شما از قبل در اکوسیستم AWS طراحی شده است.
این مثالها به معنی فعال بودن همه مسیرهای بومی در همه استقرارها نیستند. وضعیت واقعی را در فضای کاری خودتان بررسی کنید.
چگونه تصمیم بگیریم؟
| پرسش | اگر پاسخ بله است |
|---|---|
| آیا فقط میخواهید اولین اتصال را سریع و قابل بررسی بسازید؟ | مسیر سازگار با OpenAI را انتخاب کنید. |
| آیا چند ارائهدهنده یا مدل را پشت یک قرارداد مشترک میخواهید؟ | مسیر سازگار با OpenAI و مدل مجازی مناسبتر است. |
| آیا قابلیت اختصاصی یک ارائهدهنده برای محصول حیاتی است؟ | SDK بومی را بررسی کنید، اما مسیر فعال محیط خودتان را تست کنید. |
| آیا گزارش رخداد، کنترل مصرف و دسترسی یکپارچه اولویت دارد؟ | ابتدا مسیر سازگار با OpenAI را مبنا قرار دهید. |
| آیا کد محصول شما عمیقاً به SDK بومی وابسته است؟ | مهاجرت تدریجی یا لایه انتزاع داخلی را در نظر بگیرید. |
توصیه برای مهاجرت از اتصال مستقیم
اگر محصول شما امروز مستقیم به OpenAI یا ارائهدهنده دیگری وصل است:
- ابتدا مسیر سازگار با OpenAI را با یک درخواست ساده تست کنید.
base_url، توکن و شناسه مدل را از تنظیمات بخوانید، نه از کد ثابت.- نتیجه را در «لاگ درخواستها» یا «ردیابی درخواستها» بررسی کنید.
- سپس ترافیک یک مسیر کمریسک را از گدارAI عبور دهید.
- بعد از پایش خطا، هزینه و تأخیر، مسیرهای حساستر را منتقل کنید.
این ترتیب کمک میکند مهاجرت قابل مشاهده و قابل بازگشت بماند.
چه زمانی روی SDK بومی نرویم؟
اگر نیاز شما با APIهای سازگار با OpenAI پوشش داده میشود، SDK بومی معمولاً پیچیدگی بیشتری وارد میکند:
- قرارداد هر ارائهدهنده جدا میشود.
- عیبیابی و مقایسه رفتار بین ارائهدهندهها سختتر میشود.
- تغییر مدل یا ارائهدهنده به تغییرهای بیشتری در کد محصول وابسته میشود.
- تضمین یکسان بودن رفتار پایش و کنترل مصرف به بررسی بیشتری نیاز دارد.
گام بعدی
- برای شروع با مسیر پیشنهادی، اولین درخواست به درگاه را دنبال کنید.
- برای پایدار نگه داشتن مقدار
model، مدل مجازی را بخوانید. - برای قراردادهای پشتیبانیشده، APIهای پشتیبانیشده را بررسی کنید.
پرسشهای پرتکرار
آیا گدارAI فقط با SDK رسمی OpenAI کار میکند؟
خیر. گدارAI روی APIهای سازگار با OpenAI بهعنوان مسیر عمومی و پیشنهادی تمرکز دارد، اما بسته به فضای کاری و استقرار، مسیرهای دیگری هم میتوانند مطرح باشند. برای استفاده عملیاتی از SDK بومی، مسیر فعال محیط خودتان را تست کنید.
اگر محصول من از قبل SDK بومی Anthropic یا Google دارد، باید همه چیز را عوض کنم؟
نه لزوماً. ابتدا بررسی کنید کدام بخش واقعاً به قرارداد بومی وابسته است. برای مسیرهایی که با قرارداد سازگار با OpenAI قابل انجاماند، مهاجرت سادهتر است. برای قابلیتهای اختصاصی، مسیر بومی را جداگانه آزمایش کنید.
بهترین مسیر برای شروع MVP چیست؟
برای بیشتر MVPها، مسیر سازگار با OpenAI بهترین شروع است: تغییر کمتر، تست سریعتر، و دسترسی بهتر به قابلیتهای پایش و کنترل مصرف گدارAI.