Providers

SGLang

SGLang مدل‌های open-weight را از طریق یک HTTP API سازگار با OpenAI ارائه می‌کند. OpenClaw با استفاده از خانواده ارائه‌دهنده openai-completions و با کشف خودکار مدل‌های در دسترس به SGLang متصل می‌شود.

ویژگی مقدار
شناسه ارائه‌دهنده sglang
Plugin باندل‌شده، enabledByDefault: true
متغیر محیطی احراز هویت SGLANG_API_KEY (اگر سرور احراز هویت ندارد، هر مقدار غیرخالی)
پرچم راه‌اندازی اولیه --auth-choice sglang
API سازگار با OpenAI (openai-completions)
URL پایه پیش‌فرض http://127.0.0.1:30000/v1
جای‌نگهدار مدل پیش‌فرض sglang/Qwen/Qwen3-8B
کاربرد پخش جریانی بله (supportsStreamingUsage: true)
قیمت‌گذاری به‌عنوان external-free علامت‌گذاری شده (modelPricing.external: false)

OpenClaw همچنین وقتی با SGLANG_API_KEY فعال‌سازی می‌کنید و ورودی صریح models.providers.sglang تعریف نکرده‌اید، مدل‌های در دسترس را از SGLang به‌طور خودکار کشف می‌کند — پایین‌تر کشف مدل (ارائه‌دهنده ضمنی) را ببینید.

شروع به کار

  • SGLang را شروع کنید

    SGLang را با یک سرور سازگار با OpenAI اجرا کنید. URL پایه شما باید endpointهای /v1 را در دسترس بگذارد (برای مثال /v1/models، /v1/chat/completions). SGLang معمولا روی این نشانی اجرا می‌شود:

    • http://127.0.0.1:30000/v1
  • یک کلید API تنظیم کنید

    اگر روی سرور شما احراز هویت پیکربندی نشده باشد، هر مقداری کار می‌کند:

    export SGLANG_API_KEY="sglang-local"
    
  • راه‌اندازی اولیه را اجرا کنید یا مستقیما یک مدل تنظیم کنید

    openclaw onboard
    

    یا مدل را به‌صورت دستی پیکربندی کنید:

    {
      agents: {
        defaults: {
          model: { primary: "sglang/your-model-id" },
        },
      },
    }
    
  • کشف مدل (ارائه‌دهنده ضمنی)

    وقتی SGLANG_API_KEY تنظیم شده باشد (یا یک پروفایل احراز هویت وجود داشته باشد) و شما models.providers.sglang را تعریف نکرده باشید، OpenClaw این درخواست را می‌فرستد:

    • GET http://127.0.0.1:30000/v1/models

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

    پیکربندی صریح (مدل‌های دستی)

    وقتی از پیکربندی صریح استفاده کنید که:

    • SGLang روی میزبان/درگاه متفاوتی اجرا می‌شود.
    • می‌خواهید مقادیر contextWindow/maxTokens را ثابت کنید.
    • سرور شما به یک کلید API واقعی نیاز دارد (یا می‌خواهید headerها را کنترل کنید).
    {
      models: {
        providers: {
          sglang: {
            baseUrl: "http://127.0.0.1:30000/v1",
            apiKey: "${SGLANG_API_KEY}",
            api: "openai-completions",
            models: [
              {
                id: "your-model-id",
                name: "Local SGLang Model",
                reasoning: false,
                input: ["text"],
                cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
                contextWindow: 128000,
                maxTokens: 8192,
              },
            ],
          },
        },
      },
    }
    

    پیکربندی پیشرفته

    رفتار به سبک پروکسی

    SGLang به‌عنوان یک backend سازگار با OpenAI و به سبک پروکسی برای /v1 در نظر گرفته می‌شود، نه یک endpoint بومی OpenAI.

    رفتار SGLang
    شکل‌دهی درخواست مخصوص OpenAI اعمال نمی‌شود
    service_tier، store در Responses، راهنمایی‌های prompt-cache ارسال نمی‌شود
    شکل‌دهی payload سازگار با reasoning اعمال نمی‌شود
    headerهای attribution پنهان (originator، version، User-Agent) روی URLهای پایه سفارشی SGLang تزریق نمی‌شود
    عیب‌یابی

    سرور در دسترس نیست

    بررسی کنید سرور در حال اجرا است و پاسخ می‌دهد:

    curl http://127.0.0.1:30000/v1/models
    

    خطاهای احراز هویت

    اگر درخواست‌ها با خطاهای احراز هویت شکست می‌خورند، یک SGLANG_API_KEY واقعی تنظیم کنید که با پیکربندی سرور شما مطابقت داشته باشد، یا ارائه‌دهنده را به‌صورت صریح زیر models.providers.sglang پیکربندی کنید.

    مرتبط