Skip to main content

การกำหนดค่า 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 อย่างน้อยหนึ่งรูปแบบต่อไปนี้:

  1. Anthropic Messages: /v1/messages, /v1/messages/count_tokens

    • ต้องส่งต่อ request headers: anthropic-beta, anthropic-version
  2. Bedrock InvokeModel: /invoke, /invoke-with-response-stream

    • ต้องรักษา request body fields: anthropic_beta, anthropic_version
  3. Vertex rawPredict: :rawPredict, :streamRawPredict, /count-tokens:rawPredict

    • ต้องส่งต่อ request headers: anthropic-beta, anthropic-version

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

warning

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
  1. สร้าง script ช่วยเหลือ API key:
#!/bin/bash
# ~/bin/get-litellm-key.sh

# ตัวอย่าง: ดึง key จาก vault
vault kv get -field=api_key secret/litellm/claude-code
  1. กำหนดค่า Claude Code settings เพื่อใช้ helper:
{
"apiKeyHelper": "~/bin/get-litellm-key.sh"
}
  1. ตั้งค่า 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

แหล่งข้อมูลเพิ่มเติม