SGLang
SGLang은 OpenAI 호환 HTTP API를 통해 오픈소스 모델을 서빙할 수 있습니다.
OpenClaw는 openai-completions API를 사용하여 SGLang에 연결할 수 있습니다.
OpenClaw는 SGLANG_API_KEY(서버에서 인증을 강제하지 않는 경우 아무 값이나 가능)를 설정하고 명시적인 models.providers.sglang 항목을 정의하지 않으면 SGLang에서 사용 가능한 모델을 자동으로 검색할 수도 있습니다.
빠른 시작
- OpenAI 호환 서버로 SGLang을 시작합니다.
기본 URL은 /v1 엔드포인트를 노출해야 합니다 (예: /v1/models, /v1/chat/completions). SGLang은 보통 다음 주소에서 실행됩니다:
http://127.0.0.1:30000/v1
- 사용을 시작합니다 (인증이 설정되지 않은 경우 아무 값이나 가능):
export SGLANG_API_KEY="sglang-local"
- 온보딩을 실행하고
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아래에 프로바이더를 명시적으로 구성하세요.