بکاند چت با API ساروی
راهاندازی یک نمونهٔ کوچک با کلید محرمانه، HTTPS و کیف پول مشترک ساروی.
۱. مسیر مناسب را انتخاب کنید
تابعهای Starter همگام و ۵۰۰ میلیثانیهایاند و دسترسی شبکه ندارند. برای این پروژه در کنسول Cloud وارد «سرور و برنامه» شوید و «برنامهٔ Docker» را انتخاب کنید. این مسیر از اعتبار کیف پول مشترک ساروی مصرف میکند؛ وجود طرح رایگان، میزبانی نامحدود یا اجرای رایگان مدل را تضمین نمیکند.
۲. کلید و بودجهٔ API
در کنسول API، پروژهٔ خود را انتخاب کنید و یک کلید با دسترسی responses:write بسازید. یک مدل متنی سریع و موجود انتخاب و برای کلید، سقف اعتبار و نرخ درخواست کوچک تعیین کنید. کلید روی سرور میماند؛ آن را در کد مرورگر وارد نکنید.
۳. ساخت سرویس
اگر کلید SSH ندارید، روی رایانه با ssh-keygen -t ed25519 یک کلید بسازید و متن فایل .pub را کپی کنید؛ کلید خصوصی روی رایانه میماند. در Cloud همان پروژهٔ API را انتخاب کنید، نام سرویس و کلید عمومی Ed25519 را وارد و دورهٔ اجرا را انتخاب کنید. تعداد اعتبار، سقف هزینهٔ روزانه/ماهانه در بخش صورتحساب، سهمیهٔ انتقال و سیاست پایان دوره را بررسی کنید؛ سپس ساخت را تأیید کنید. برای بررسی کوتاه میتوانید سرویس موقت یکساعته انتخاب کنید؛ دیسک آن در پایان حذف میشود. برای استفادهٔ ادامهدار، سرویس قابل تمدید را بررسی کنید.
۴. اتصال به سرور
Node.js 22 یا جدیدتر و CLI رسمی Cloud را روی رایانه نصب کنید: npm install -g https://cloud.sarovi.ir/sdk/sarovi-cloud-cli-0.4.3.tgz. کلید مدیریتی باید cloud:read و cloud:write و تعلق به همان پروژه داشته باشد؛ آن را در متغیر محیطی SAROVI_API_KEY روی رایانه قرار دهید. با دستور زیر و شناسهٔ سرویس متصل شوید. کلید خصوصی روی رایانه میماند.
ssh -o 'ProxyCommand=sarovi-cloud tunnel --server SERVER_ID' sarovi@SERVER_ID۵. دریافت نمونه و تنظیم کلید
نمونهٔ آماده را روی سرور دریافت و باز کنید. فایل server.env.example را به server.env کپی و SAROVI_API_KEY، SAROVI_MODEL و CHAT_PASSWORD را تنظیم کنید؛ رمز برنامه حداقل ۱۶ نویسه باشد. مجوز فایل را 600 قرار دهید. رازهای بخش Starter خودکار به Docker فرستاده نمیشوند. فایل env را در تصویر Docker، Git یا فایلهای عمومی سایت قرار ندهید.
curl -fLO https://cloud.sarovi.ir/starters/cloud-chat-backend.zip
python3 -m zipfile -e cloud-chat-backend.zip sarovi-chat
cd sarovi-chat
cp server.env.example server.env
nano server.env
chmod 600 server.env۶. اجرا و بررسی
با دستور زیر نمونه را اجرا کنید. خروجی شبکه از تنظیمات آمادهٔ Cloud استفاده میکند؛ دانلود Docker و تماس API از سهمیهٔ انتقال سرویس کم میشوند. آدرس HTTPS سرویس را باز کنید، با رمز برنامه وارد شوید و یک پیام کوتاه بفرستید. مسیر /health سلامت برنامه را بررسی میکند؛ موفقیت آن بهتنهایی اثبات کارکرد مدل نیست.
docker build -t sarovi-chat .
docker run -d --name sarovi-chat --restart unless-stopped --env-file /etc/sarovi/egress.env --env-file ./server.env -p 8080:8080 sarovi-chat۷. اتصال به برنامهٔ اصلی
در برنامهٔ اصلی، درخواست چت را به /api/chat بکاند خودتان بفرستید. کلید ساروی فقط در همین بکاند خوانده میشود. نمونه یک رمز مشترک و نشست موقت دارد؛ برای انتشار عمومی، ورود کاربران و مجوزها و ذخیرهٔ تاریخچهٔ واقعی برنامه را پیاده کنید. مهلت فعلی هر درخواست HTTP در Cloud سی ثانیه است؛ نمونه برای API مهلت ۲۵ ثانیه و پاسخ ۲۵۶ توکنی دارد. برای مدل کند یا کار طولانی از شناسهٔ کار و دریافت وضعیت استفاده کنید. هزینهٔ میزبانی و هزینهٔ درخواست مدل جدا ثبت میشوند و از یک کیف پول مشترک مصرف میکنند.