การกำหนดค่า LLM Gateway
เรียนรู้วิธีกำหนดค่า Claude Code ให้ทำงานกับ LLM gateway solutions ครอบคลุมข้อกำหนด gateway, การกำหนดค่า authentication, การเลือก model และการตั้งค่า endpoint เฉพาะ provider
LLM gateways ให้ชั้น proxy แบบรวมศูนย์ระหว่าง Claude Code และ model providers ซึ่งมักให้:
- การยืนยันตัวตนแบบรวมศูนย์ - จุดเดียวสำหรับจัดการ API keys
- การติดตามการใช้งาน - ตรวจสอบการใช้งานข้ามทีมและโปรเจกต์
- การควบคุมต้นทุน - กำหนดงบประมาณและ rate limits
- Audit logging - ติดตามการโต้ตอบกับ model ทั้งหมดเพื่อการปฏิบัติตามข้อกำหนด
- Model routing - สลับระหว่าง providers โดยไม่ต้องเปลี่ยนโค้ด
ข้อกำหนด Gateway
สำหรับ LLM gateway ให้ทำงานกับ Claude Code ต้องตรงตามข้อกำหนดต่อไปนี้:
รูปแบบ API
Gateway ต้องเปิดเผยรูปแบบ API อย่างน้อยหนึ่งรูปแบบต่อไปนี้:
-
Anthropic Messages:
/v1/messages,/v1/messages/count_tokens- ต้องส่งต่อ request headers:
anthropic-beta,anthropic-version
- ต้องส่งต่อ request headers:
-
Bedrock InvokeModel:
/invoke,/invoke-with-response-stream- ต้องรักษา request body fields:
anthropic_beta,anthropic_version
- ต้องรักษา request body fields:
-
Vertex rawPredict:
:rawPredict,:streamRawPredict,/count-tokens:rawPredict- ต้องส่งต่อ request headers:
anthropic-beta,anthropic-version
- ต้องส่งต่อ request headers:
Request headers
Claude Code รวม headers ต่อไปนี้ใน API requests:
| Header | คำอธิบาย |
|---|---|
X-Claude-Code-Session-Id | ตัวระบุที่ไม่ซ้ำกันสำหรับ Claude Code session ปัจจุบัน |
X-Claude-Code-Agent-Id | ตัวระบุของ subagent หรือ teammate ที่ส่ง request |
X-Claude-Code-Parent-Agent-Id | ตัวระบุของ agent ที่สร้าง agent ที่กำลังทำ request |
การกำหนดค่า
การเลือก Model
โดยค่าเริ่มต้น Claude Code ใช้ชื่อ model มาตรฐานสำหรับรูปแบบ API ที่เลือก
เมื่อ ANTHROPIC_BASE_URL ชี้ไปที่ gateway ที่เปิดเผยรูปแบบ Anthropic Messages Claude Code สามารถ query endpoint /v1/models ของ gateway เมื่อเริ่มต้น:
export CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1
การกำหนดค่า LiteLLM
LiteLLM PyPI versions 1.82.7 และ 1.82.8 ถูก compromise ด้วย malware ที่ขโมย credentials อย่าติดตั้ง versions เหล่านี้ LiteLLM เป็นบริการ proxy ของบุคคลที่สาม Anthropic ไม่รับรอง ดูแล หรือตรวจสอบความปลอดภัยหรือฟังก์ชันการทำงานของ LiteLLM
การตั้งค่า LiteLLM พื้นฐาน
กำหนดค่า Claude Code:
วิธีการ Authentication
Static API key
export ANTHROPIC_AUTH_TOKEN=sk-litellm-static-key
Dynamic API key ด้วย helper
- สร้าง script ช่วยเหลือ API key:
#!/bin/bash
# ~/bin/get-litellm-key.sh
# ตัวอย่าง: ดึง key จาก vault
vault kv get -field=api_key secret/litellm/claude-code
- กำหนดค่า Claude Code settings เพื่อใช้ helper:
{
"apiKeyHelper": "~/bin/get-litellm-key.sh"
}
- ตั้งค่า token refresh interval:
export CLAUDE_CODE_API_KEY_HELPER_TTL_MS=3600000
Unified endpoint (แนะนำ)
export ANTHROPIC_BASE_URL=https://litellm-server:4000
Provider-specific pass-through endpoints
Claude API ผ่าน LiteLLM
export ANTHROPIC_BASE_URL=https://litellm-server:4000/anthropic
Amazon Bedrock ผ่าน LiteLLM
export ANTHROPIC_BEDROCK_BASE_URL=https://litellm-server:4000/bedrock
export CLAUDE_CODE_SKIP_BEDROCK_AUTH=1
export CLAUDE_CODE_USE_BEDROCK=1
Google Vertex AI ผ่าน LiteLLM
export ANTHROPIC_VERTEX_BASE_URL=https://litellm-server:4000/vertex_ai/v1
export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id
export CLAUDE_CODE_SKIP_VERTEX_AUTH=1
export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=us-east5