Skip to content

SGLang

SGLang은 OpenAI 호환 HTTP API를 통해 오픈 소스 모델을 제공할 수 있습니다. OpenClaw는 openai-completions API를 사용하여 SGLang에 연결할 수 있습니다.

SGLANG_API_KEY (서버가 인증을 강제하지 않는 경우 어떤 값이든 가능)를 옵트인하고 명시적인 models.providers.sglang 항목을 정의하지 않으면 OpenClaw는 SGLang에서 사용 가능한 모델을 자동으로 발견할 수도 있습니다.

빠른 시작

  1. OpenAI 호환 서버로 SGLang을 시작하십시오.

기본 URL은 /v1 엔드포인트를 노출해야 합니다 (예: /v1/models, /v1/chat/completions). SGLang은 일반적으로 다음에서 실행됩니다:

  • http://127.0.0.1:30000/v1
  1. 옵트인 (인증이 구성되지 않은 경우 어떤 값이든 가능):
bash
export SGLANG_API_KEY="sglang-local"
  1. 온보딩을 실행하고 SGLang을 선택하거나 모델을 직접 설정하십시오:
bash
openclaw onboard
json5
{
  agents: {
    defaults: {
      model: { primary: "sglang/your-model-id" },
    },
  },
}

모델 발견 (암시적 프로바이더)

SGLANG_API_KEY가 설정되어 있거나 (또는 인증 프로파일이 존재하고) models.providers.sglang정의하지 않은 경우 OpenClaw는 다음을 쿼리합니다:

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

그리고 반환된 id를 모델 항목으로 변환합니다.

models.providers.sglang을 명시적으로 설정하면 자동 발견이 건너뛰어지고 모델을 수동으로 정의해야 합니다.

명시적 구성 (수동 모델)

다음과 같은 경우 명시적 구성을 사용하십시오:

  • SGLang이 다른 호스트/포트에서 실행되는 경우.
  • contextWindow/maxTokens 값을 고정하려는 경우.
  • 서버에 실제 API 키가 필요하거나 헤더를 제어하려는 경우.
json5
{
  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,
          },
        ],
      },
    },
  },
}

문제 해결

  • 서버에 연결 가능한지 확인하십시오:
bash
curl http://127.0.0.1:30000/v1/models
  • 인증 오류로 요청이 실패하면 서버 구성과 일치하는 실제 SGLANG_API_KEY를 설정하거나, models.providers.sglang 아래에 프로바이더를 명시적으로 구성하십시오.

프록시 스타일 동작

SGLang은 네이티브 OpenAI 엔드포인트가 아닌 프록시 스타일 OpenAI 호환 /v1 백엔드로 처리됩니다.

  • 네이티브 OpenAI 전용 요청 형성은 여기에 적용되지 않습니다
  • service_tier, Responses store, 프롬프트 캐시 힌트, OpenAI 추론 호환 페이로드 형성 없음
  • 숨겨진 OpenClaw 귀속 헤더(originator, version, User-Agent)는 사용자 정의 SGLang 기본 URL에 주입되지 않습니다