SGLang

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

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

빠른 시작

  1. OpenAI 호환 서버로 SGLang을 시작합니다.

기본 URL은 /v1 엔드포인트를 노출해야 합니다 (예: /v1/models, /v1/chat/completions). SGLang은 보통 다음 주소에서 실행됩니다:

  • http://127.0.0.1:30000/v1
  1. 사용을 시작합니다 (인증이 설정되지 않은 경우 아무 값이나 가능):
export SGLANG_API_KEY="sglang-local"
  1. 온보딩을 실행하고 SGLang을 선택하거나, 모델을 직접 설정합니다:
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

반환된 ID를 모델 항목으로 변환합니다.

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

명시적 구성 (수동 모델)

다음과 같은 경우 명시적 구성을 사용합니다:

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

문제 해결

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