رفتن به محتوا

استفاده از گیت‌وی

هر گیت‌وی یک چیز به شما می‌دهد: یک هاست‌نیم روی دامنه خودتان. هر جا که قبلاً به خود سرویس اشاره می‌کردید، به آن اشاره کنید.

داشبورد برای هر گیت‌ویی که فعال می‌کنید یک پنجره How to use دارد که خط‌های دقیق همان سرویس را نشان می‌دهد. این صفحه شکل کلی آن خط‌ها را توضیح می‌دهد.

در همه مثال‌ها، هاست‌نیم نمونه را با هاست‌نیم خودتان جایگزین کنید.

بیشتر SDKها یک آدرس پایه می‌گیرند. تنها چیزی که عوض می‌شود همین است.

import OpenAI from 'openai';
const openai = new OpenAI({
baseURL: 'https://ai-40218.example.ir/v1',
apiKey: process.env.OPENAI_API_KEY,
});
from anthropic import Anthropic
client = Anthropic(
base_url="https://claude-18830.example.ir",
api_key=os.environ["ANTHROPIC_API_KEY"],
)

استریم به‌طور عادی کار می‌کند — پاسخ‌ها همان‌طور که می‌رسند عبور داده می‌شوند و بافر نمی‌شوند.

استریم، وب‌سوکت و پاسخ‌های کند

Section titled “استریم، وب‌سوکت و پاسخ‌های کند”

رویدادهای server-sent (همان stream: true در APIهای چت) تکه‌تکه و همان لحظه‌ای که مدل می‌نویسد به شما می‌رسند. ارتقا به وب‌سوکت — یعنی APIهای realtime و صوتی — هم عبور می‌کند؛ اتصال سرتاسر به مقصد وصل می‌شود.

لبه فقط یک چیز را محدود می‌کند: مدت انتظار برای اولین بایت پاسخ سرویس مقصد. این سقف روی گیت‌وی پنج دقیقه است و هیچ محدودیتی روی طول خود پاسخ نمی‌گذارد؛ پس استریمی که زود شروع شود می‌تواند هر چقدر لازم است ادامه پیدا کند. آنچه باید داخل این سقف جا شود، درخواست بدون استریم است، چون یک پاسخ یک‌جا تا وقتی مدل کارش تمام نشود هیچ بایتی نمی‌فرستد. اگر درخواست طولانی بدون stream: true با خطای ۵۰۴ برگشت، گرفتن استریم هم راه‌حل است و هم شکل بهتر کار.

برای یک درخواست HTTP ساده، فقط هاست را عوض کنید و بقیه را دست نزنید:

Terminal window
GW=https://tg-60412.example.ir
curl -s "$GW/bot$TOKEN/sendMessage" \
-d chat_id=$CHAT_ID \
-d text='deploy finished'

این‌ها به‌جای آدرس پایه، آدرس رجیستری یا ایندکس می‌گیرند.

Terminal window
npm config set registry https://npm-51074.example.ir/

برای یک پروژه، در فایل .npmrc کنار package.json:

registry=https://npm-51074.example.ir/

‏pnpm همین دستور را دارد؛ Yarn 2+ از npmRegistryServer در .yarnrc.yml استفاده می‌کند.

مسیر /simple/ را نگه دارید — این API ایندکس است، نه مسیر یک سایت.

Terminal window
pip config set global.index-url https://pypi-33915.example.ir/simple/
# pyproject.toml برای uv
[[tool.uv.index]]
name = "nsin"
url = "https://pypi-33915.example.ir/simple/"
default = true

داکر و دیگر رجیستری‌ها

Section titled “داکر و دیگر رجیستری‌ها”

هاست‌نیم پیشوند رجیستری در نام ایمیج می‌شود:

Terminal window
docker pull docker-77228.example.ir/library/nginx:latest
docker pull docker-77228.example.ir/grafana/grafana:latest

چرا رجیستری‌ها به تنظیم اضافه نیاز ندارند

Section titled “چرا رجیستری‌ها به تنظیم اضافه نیاز ندارند”

یک رجیستری معمولاً همان چیزی را که خواسته‌اید برنمی‌گرداند. با یک ریدایرکت یا لینک به هاستی دیگر جواب می‌دهد: Docker Hub شما را به CDN فایل‌ها و سرویس احراز هویتش می‌فرستد، ایندکس PyPI مستقیم به files.pythonhosted.org لینک می‌دهد، crates.io دانلودها را به static.crates.io می‌سپارد و ایندکس NuGet پر از آدرس‌های api.nuget.org است.

یک پروکسی ساده در درخواست دوم می‌شکند، چون حالا به کلاینت گفته شده هاستی را بگیرد که نمی‌تواند به آن برسد.

‏nsin این را برای شما حل می‌کند. هاست‌های همراهی که یک سرویس به آن‌ها ریدایرکت می‌کند، زیر یک پیشوند روی هاست‌نیم گیت‌وی خودتان سرو می‌شوند:

https://docker-77228.example.ir/_nsin/auth.docker.io/token?service=…

و هر آدرسی در پاسخ که به یکی از آن‌ها اشاره کند، در مسیر خروج به همین شکل بازنویسی می‌شود. هاست واقعی با مسیر واقعی صدا زده می‌شود، پس آدرس‌های امضاشده همچنان معتبر می‌مانند — فقط چیزی که به کلاینت گفته می‌شود عوض می‌شود. درخواست‌های Range و ادامه دانلود روی لایه‌های بزرگ هم کار می‌کنند.

هیچ‌کدام از این‌ها را شما تنظیم نمی‌کنید؛ فهرست مجاز همراه خود گیت‌وی می‌آید.

نام تولیدشده <service>-<۵ رقم> است. در داشبورد آن را به هر چیزی که برایتان آشناست تغییر دهید — models، registry، push. با تغییر نام، هاست‌نیم هم عوض می‌شود، پس بعد از آن تنظیمات خود را به‌روز کنید.

نام گیت‌وی نمی‌تواند وایلدکارت باشد و نمی‌تواند خود دامنه اصلی باشد.

همه‌چیز ۴۰۳ برمی‌گرداند و نوار سهمیه در پنل روی ۱۰۰٪ است. از سقف ۳۰ روزه غلتان درخواست یا پهنای باند پلن رد شده‌اید. فقط هاست‌نیم‌های گیت‌وی بسته‌اند؛ مصرف خودبه‌خود از پنجره خارج می‌شود، یا می‌توانید با تغییر پلن سقف را بالا ببرید. گیت‌وی چیست؟ را ببینید.

یک docker pull یا pip install شروع می‌شود و وسط راه شکست می‌خورد. مطمئن شوید مسیر لازم را نگه داشته‌اید — library/ برای ایمیج‌های رسمی Docker Hub و /simple/ برای PyPI. اگر مسیر درست است و باز هم می‌شکند، دستور ناموفق را برای ما بفرستید؛ ممکن است گیت‌وی تازه‌اضافه‌شده به هاست دیگری در فهرست مجازش نیاز داشته باشد.

ارائه‌دهنده اطلاعات احراز هویت من را رد کرد یا حساب را بست. ارائه‌دهنده‌ها ترافیک گیت‌وی را از آدرس‌های خروجی مشترک nsin می‌بینند. آدرس‌های خروجی مشترک را بخوانید.

صفحه می‌گوید گیت‌وی روی پلن این دامنه نیست. پلن‌ها و محدودیت‌ها را ببینید.

صفحه Gateways می‌گوید دامنه از DNS بیرونی استفاده می‌کند. گیت‌وی یک رکورد روی زون شماست، پس DNS شما باید روی nsin باشد. نیم‌سرورها را ببینید.