Claude Code์ ๋ชจ๋ธ ์ ๊ณต์(Anthropic API, Cloud Provider) ์ฌ์ด์ ์์นํ๋ ์ค์ ํ๋ก์ ๋ ์ด์ด. ์ธ์ฆ, ์ฌ์ฉ๋ ์ถ์ , ๋น์ฉ ์ ์ด, ๊ฐ์ฌ ๋ก๊น , ๋ชจ๋ธ ๋ผ์ฐํ ์ ํ ๊ณณ์์ ๊ด๋ฆฌํ๋ค.
ํด๋น ๊ฐ๋ ์ด ํ์ํ ์ด์
- ์ค์ ์ง์ค ์ธ์ฆ: API ํค๋ฅผ ๊ฐ ๊ฐ๋ฐ์์๊ฒ ๋ฐฐํฌํ๋ ๋์ , LLM Gateway์์ ์ผ๊ด ๊ด๋ฆฌ
- ์ฌ์ฉ๋ ๋ชจ๋ํฐ๋ง: ํ/ํ๋ก์ ํธ๋ณ ์ฌ์ฉ๋์ ํ ๊ณณ์์ ์ถ์
- ๋น์ฉ ์ ์ด: ์์ฐ, rate limit์ LLM Gateway ๋ ๋ฒจ์์ ์ค์
- ๊ฐ์ฌ ๋ก๊น : ๋ชจ๋ ๋ชจ๋ธ ์ํธ์์ฉ์ ์ปดํ๋ผ์ด์ธ์ค์ฉ์ผ๋ก ๊ธฐ๋ก
- ๋ชจ๋ธ ๋ผ์ฐํ : ์ฝ๋ ๋ณ๊ฒฝ ์์ด Cloud Provider ๊ฐ ์ ํ ๊ฐ๋ฅ
AS-IS
sequenceDiagram autonumber participant Dev1 as Developer 1 participant Dev2 as Developer 2 participant CC as Claude Code participant API as ๋ชจ๋ธ ์ ๊ณต์ Dev1->>CC: ์์ฒญ (์์ฒด API Key) CC->>API: ์ง์ ํธ์ถ Dev2->>CC: ์์ฒญ (์์ฒด API Key) CC->>API: ์ง์ ํธ์ถ Note over Dev1,API: ๊ฐ ๊ฐ๋ฐ์๊ฐ ๊ฐ๋ณ API Key ๊ด๋ฆฌ<br/>์ฌ์ฉ๋ ์ถ์ ๋ถ๊ฐ, ๋น์ฉ ์ ์ด ์ด๋ ค์
TO-BE
sequenceDiagram autonumber participant Dev1 as Developer 1 participant Dev2 as Developer 2 participant CC as Claude Code participant GW as LLM Gateway participant API as ๋ชจ๋ธ ์ ๊ณต์ Dev1->>CC: ์์ฒญ CC->>GW: LLM Gateway ๊ฒฝ์ GW->>GW: ์ธ์ฆ, ๋ก๊น , rate limit ์ฒดํฌ GW->>API: ์ธ์ฆ๋ ์์ฒญ ์ ๋ฌ API-->>GW: ์๋ต GW-->>CC: ์๋ต ์ ๋ฌ Dev2->>CC: ์์ฒญ CC->>GW: LLM Gateway ๊ฒฝ์ GW->>API: ์ธ์ฆ๋ ์์ฒญ ์ ๋ฌ API-->>GW: ์๋ต GW-->>CC: ์๋ต ์ ๋ฌ Note over Dev1,API: ์ค์์์ ์ธ์ฆ/๋น์ฉ/๊ฐ์ฌ ์ผ๊ด ๊ด๋ฆฌ
LLM Gateway vs Cloud Provider ์ญํ ์ฐจ์ด
LLM Gateway์ Cloud Provider(Bedrock/Vertex AI/Foundry)๋ ์๋ก ๋ค๋ฅธ ๋ ์ด์ด์ด๋ฉฐ ๋ ๋ฆฝ์ ์ผ๋ก ์กฐํฉํ ์ ์๋ค.
| LLM Gateway | Cloud Provider (Bedrock/Vertex/Foundry) | |
|---|---|---|
| ํต์ฌ ์ญํ | LLM ์์ฒญ์ ํธ๋ํฝ ๊ด๋ฆฌ | ์กฐ์ง์ ์ธํ๋ผ ์ ์ฑ ์ค์ |
| ๊ตฌ์ฒด์ ์ผ๋ก | ๋น์ฉ ์ถ์ , ๋ก๊น , rate limit, fallback, ๋ผ์ฐํ | ๊ธฐ์กด IAM/๊ฒฐ์ /๋ณด์ ๊ฐ์ฌ ์ฒด๊ณ ์์์ ๋ชจ๋ธ ์ฌ์ฉ |
| ๋น์ | ๊ณ ์๋๋ก ํจ๊ฒ์ดํธ (์ฐจ๋ ์นด์ดํธ, ์๊ธ ์ง์) | ์ด๋ค ๋๋ผ ๋๋ก๋ฅผ ์ธ์ง ์ ํ (๋ฒ๋ฅ /๊ท์ ์ค์) |
| ์ ํ ๊ธฐ์ค | โLLM ์ฌ์ฉ์ ์ค์์์ ๊ด๋ฆฌํ๊ณ ์ถ์๊ฐ?" | "๊ธฐ์กด ํด๋ผ์ฐ๋ ์ ์ฑ /๊ณ์ ๋ด์์ ์จ์ผ ํ๋๊ฐ?โ |
Q) โAnthropic API ์ง์ ํธ์ถํ๋ฉด ๋๋ ๊ฑฐ ์๋์ผ? Cloud Provider๊ฐ ํ์ํ ์ด์ ๊ฐ ๋ญ์ผ?โ
Cloud Provider ์์ด Anthropic API ์ง์ ํธ์ถ๋ ๊ฐ๋ฅํ๋ค. Cloud Provider๊ฐ ํ์ํ ๊ฑด ๊ธฐ์ ํ๊ฒฝ์ ์ ์ฝ ๋๋ฌธ์ด๋ค:
| Anthropic API ์ง์ | Cloud Provider ๊ฒฝ์ | |
|---|---|---|
| ์ค์ ๋์ด๋ | ๊ฐ๋จ (API Key๋ง ์์ผ๋ฉด ๋จ) | ๋ณต์ก (IAM, VPC ๋ฑ ์ค์ ํ์) |
| ๋ฐ์ดํฐ ์ฃผ๊ถ | Anthropic ์ธํ๋ผ์์ ์ฒ๋ฆฌ | ์ํ๋ ๋ฆฌ์ ์ ํ ๊ฐ๋ฅ |
| ๊ธฐ์กด ๊ฒฐ์ ์ฒด๊ณ | ๋ณ๋ Anthropic ๊ฒฐ์ | AWS/GCP ๊ธฐ์กด ์ฒญ๊ตฌ์์ ํตํฉ |
| ๋ณด์ ๊ฐ์ฌ | Anthropic ๋์๋ณด๋ | CloudTrail, Audit Logs ๋ฑ ๊ธฐ์กด ๋ณด์ ์ฒด๊ณ ํ์ฉ |
| ์ฌ๋ด ์ ์ฑ | ๋ณ๋ SaaS ์น์ธ ํ์ํ ์ ์์ | ์ด๋ฏธ ์น์ธ๋ ํด๋ผ์ฐ๋ ๊ณ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅ |
๋ง์ ๊ธฐ์ ์์ โ์ธ๋ถ SaaS์ ์ง์ ์ฐ๊ฒฐ ๊ธ์ง, ์น์ธ๋ Cloud Provider๋ง ์ฌ์ฉโ ์ ์ฑ ์ด ์์ด Anthropic API ์ง์ ํธ์ถ์ด ์ ์ฑ ์ ์ผ๋ก ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ Cloud Provider๋ฅผ ๊ฒฝ์ ํ๋ค.
๊ฐ์ธ ๊ฐ๋ฐ์: Claude Code โ Anthropic API (์ถฉ๋ถํจ)
๊ธฐ์
ํ๊ฒฝ: Claude Code โ Cloud Provider (๋ณด์/์ ์ฑ
/๋น์ฉ ์๊ตฌ์ฌํญ)
์กฐํฉ ๊ฐ๋ฅํ ๊ตฌ์ฑ:
1) Anthropic ์ง์ โ ๊ฐ์ธ/์๊ท๋ชจ
2) Cloud Provider๋ง โ ๊ธฐ์
, ํด๋ผ์ฐ๋ ์ ์ฑ
์ค์
3) LLM Gateway๋ง โ ๋น์ฉ/๋ก๊น
๊ด๋ฆฌ ํ์
4) LLM Gateway + Cloud Provider โ ๋ ๋ค ํ์ํ ๊ธฐ์
LLM Gateway์ ๋ ๋ฆฝ์ฑ: ์ ๊ตฌ ํฌ๋งท๊ณผ ์ถ๊ตฌ Cloud Provider
LLM Gateway๋ Anthropic์ด๋ ํน์ Cloud Provider์ ๋ฌด๊ดํ ๋ ๋ฆฝ ์ํํธ์จ์ด์ด๋ค. LLM Gateway ์ค์ ์์ ๊ฒฐ์ ํ๋ ๊ฒ์ ๋ ๊ฐ์ง:
- ์ ๊ตฌ: Claude Code โ LLM Gateway์ ๋ณด๋ด๋ API ํฌ๋งท (ํ๋กํ ์ฝ)####
- ์ถ๊ตฌ: LLM Gateway โ ์ค์ ๋ชจ๋ธ์ ํธ์ถํ๋ Cloud Provider (๋ชฉ์ ์ง)
์ด ๋ ๊ฐ์ง๋ ๋ ๋ฆฝ์ ์ผ๋ก ์ค์ ํ๋ค. ์ ๊ตฌ ํฌ๋งท๊ณผ ์ถ๊ตฌ Cloud Provider๊ฐ ๋ฌ๋ผ๋ LLM Gateway๊ฐ ํฌ๋งท์ ๋ณํํด์ค๋ค.
์ ๊ตฌ ํฌ๋งท๋ณ ํ๊ฒฝ๋ณ์ ์ค์
# LLM Gateway๊ฐ Anthropic Messages ํฌ๋งท์ผ๋ก ์์ฒญ์ ๋ฐ๊ฒ ๋ค
export ANTHROPIC_BASE_URL=https://your-gateway.com
# LLM Gateway๊ฐ Bedrock ํฌ๋งท์ผ๋ก ์์ฒญ์ ๋ฐ๊ฒ ๋ค
export ANTHROPIC_BEDROCK_BASE_URL='https://your-gateway.com/bedrock'
export CLAUDE_CODE_SKIP_BEDROCK_AUTH=1
export CLAUDE_CODE_USE_BEDROCK=1
# LLM Gateway๊ฐ Vertex ํฌ๋งท์ผ๋ก ์์ฒญ์ ๋ฐ๊ฒ ๋ค
export ANTHROPIC_VERTEX_BASE_URL='https://your-gateway.com/vertex'
export CLAUDE_CODE_SKIP_VERTEX_AUTH=1
export CLAUDE_CODE_USE_VERTEX=1Q) โBedrock ํฌ๋งท์ผ๋ก ๋ฐ์ผ๋ฉด์ ์ค์ ๋ก๋ Vertex AI Cloud Provider๋ก ์ ๋ฌํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๊ฐ?โ
๊ฐ๋ฅํ๋ค. ๋ค์ ์ค์ ์ด ์๋ฏธํ๋ ๋ฐ๋ฅผ ํ ์ค์ฉ ํด์ํ๋ฉด:
export ANTHROPIC_BEDROCK_BASE_URL='https://your-gateway.com/bedrock'
# โ "๋ด LLM Gateway ์ฃผ์๋ ์ด๊ฑฐ๊ณ , Bedrock ํฌ๋งท์ผ๋ก ์์ฒญ์ ๋ณด๋ผ๊ฒ"
export CLAUDE_CODE_SKIP_BEDROCK_AUTH=1
# โ "AWS ์ธ์ฆ์ ๋ด๊ฐ ์ ํ ๊ฒ, LLM Gateway๊ฐ ์์์ ํด"
export CLAUDE_CODE_USE_BEDROCK=1
# โ "Bedrock ๋ชจ๋ ํ์ฑํ"sequenceDiagram autonumber participant CC as Claude Code participant GW as ๋ด LLM Gateway<br/>(Anthropic/AWS์ ๋ฌด๊ด) participant VX as Vertex AI (GCP) CC->>GW: Bedrock ํฌ๋งท์ผ๋ก ์์ฒญ<br/>POST /invoke Note over GW: 1. Bedrock ํฌ๋งท ํ์ฑ<br/>2. Vertex ํฌ๋งท์ผ๋ก ๋ณํ<br/>3. GCP ์ธ์ฆ ์ฒ๋ฆฌ GW->>VX: Vertex ํฌ๋งท์ผ๋ก ์ ๋ฌ<br/>POST :rawPredict VX-->>GW: ์๋ต Note over GW: Vertex โ Bedrock ํฌ๋งท ๋ณํ GW-->>CC: Bedrock ํฌ๋งท์ผ๋ก ์๋ต Note over CC,VX: Claude Code๋ Bedrock๊ณผ ํต์ ํ๋ค๊ณ "๋ฏฟ์"<br/>์ค์ ๋ก๋ Vertex AI๊ฐ ์ฒ๋ฆฌ
**์ ๊ตฌ(ํ๋กํ ์ฝ)**๊ณผ **์ถ๊ตฌ(Cloud Provider)**๋ ์์ ํ ๋ ๋ฆฝ์ ์ด๋ค:
| ์ค์ ํ ๊ฒ | ์ค์ ์๋ฏธ | |
|---|---|---|
| ์ ๊ตฌ ํฌ๋งท | Bedrock (/invoke) | Claude Code๊ฐ LLM Gateway์ ๋ณด๋ด๋ ์์ฒญ ํ์ |
| ์ถ๊ตฌ Cloud Provider | Vertex AI | LLM Gateway๊ฐ ์ค์ ๋ก ๋ชจ๋ธ์ ํธ์ถํ๋ ๊ณณ |
| ์ธ์ฆ | SKIP_BEDROCK_AUTH=1 | Claude Code๋ AWS ํค ๋ถํ์, LLM Gateway๊ฐ GCP ์ธ์ฆ ์ฒ๋ฆฌ |
LLM Gateway ์๊ตฌ์ฌํญ
LLM Gateway๊ฐ Claude Code์ ๋์ํ๋ ค๋ฉด ๋ค์ API ํฌ๋งท ์ค ํ๋๋ฅผ ์ง์ํด์ผ ํ๋ค:
| API ํฌ๋งท | Endpoint | ํ์ ์ ๋ฌ ํญ๋ชฉ |
|---|---|---|
| Anthropic Messages | /v1/messages, /v1/messages/count_tokens | ํค๋: anthropic-beta, anthropic-version |
| Bedrock InvokeModel | /invoke, /invoke-with-response-stream | Body: anthropic_beta, anthropic_version |
| Vertex rawPredict | :rawPredict, :streamRawPredict | ํค๋: anthropic-beta, anthropic-version |
Base URL๊ณผ Endpoint์ ์ฐจ์ด
- Base URL = ์๋น์ค์ ๋ฃจํธ ์ฃผ์. ํ๊ฒฝ๋ณ์๋ก ์ค์ ํ๋ ๊ฒ
- Endpoint = ์๋น์ค๊ฐ ์ ๊ณตํ๋ ํน์ ๊ฒฝ๋ก(path). Claude Code๊ฐ ์๋์ผ๋ก Base URL ๋ค์ ๋ถ์
- Full URL = Base URL + Endpoint
Full URL = Base URL + Endpoint
์์:
Base URL: https://bedrock-runtime.us-east-1.amazonaws.com
Endpoint: /invoke
Full URL: https://bedrock-runtime.us-east-1.amazonaws.com/invoke
| Cloud Provider | Base URL (ํ๊ฒฝ๋ณ์๋ก ์ค์ ) | Endpoint (Claude Code๊ฐ ์๋ ํธ์ถ) |
|---|---|---|
| Anthropic | https://api.anthropic.com | /v1/messages |
| Bedrock | https://bedrock-runtime.{region}.amazonaws.com | /invoke |
| Vertex AI | https://{region}-aiplatform.googleapis.com | :rawPredict |
Vertex AI์ :rawPredict ํ๊ธฐ๋ฒ์ Google์ gRPC ์คํ์ผ๋ก, ๋ฆฌ์์ค ๊ฒฝ๋ก ๋ค์ ์ฝ๋ก ์ผ๋ก ๋ถ๋๋ค:
https://us-east5-aiplatform.googleapis.com/v1/projects/{project}/locations/{region}/publishers/anthropic/models/claude-sonnet-4-6:rawPredict
Base URL๊ณผ Endpoint์ ๋์ผํ์ง ์๋ค:
# ์ด๋ ๊ฒ ์ค์ ํ๋ฉด:
export ANTHROPIC_BASE_URL=https://my-gateway.com
# Claude Code๋ ๋ด๋ถ์ ์ผ๋ก ์ด๋ ๊ฒ ํธ์ถ:
# POST https://my-gateway.com/v1/messages โ /v1/messages๋ ์๋ ์ถ๊ฐ๊ฐ๋ฐ์ ๊ด์ ์์์ ์ค์
LLM Gateway + Cloud Provider๊ฐ ๋ชจ๋ ์ค์ ๋ ํ๊ฒฝ์์ ๊ฐ๋ฐ์๋ LLM Gateway URL 1๊ฐ๋ง ์๋ฉด ๋๋ค.
| ๊ตฌ์ฑ ์์ | ๋๊ฐ ์ค์ | ๊ฐ๋ฐ์๊ฐ ์์์ผ ํ๋ ๊ฒ |
|---|---|---|
| Cloud Provider (Bedrock/Vertex) | ๊ด๋ฆฌ์ (Infra/DevOps) | ๋ชฐ๋ผ๋ ๋จ |
| LLM Gateway (LiteLLM ๋ฑ) | ๊ด๋ฆฌ์ (Infra/DevOps) | LLM Gateway URL 1๊ฐ๋ง |
| Claude Code | ๊ฐ๋ฐ์ | export ANTHROPIC_BASE_URL=https://gateway:4000 |
Cloud Provider ์ฐ๊ฒฐ, ์ธ์ฆ, ๋ผ์ฐํ ์ LLM Gateway๊ฐ ๋์ ์ฒ๋ฆฌํ๋ค.
LiteLLM: ์คํ์์ค LLM Gateway
LiteLLM์ 100+ LLM Cloud Provider์ API๋ฅผ ํ๋์ ํตํฉ ์ธํฐํ์ด์ค๋ก ์ถ์ํํ๋ ์คํ์์ค LLM Gateway์ด๋ค. Cloud Provider๋ง๋ค API ํฌ๋งท, ์ธ์ฆ ๋ฐฉ์, ๋ชจ๋ธ๋ช ์ด ์ ๋ถ ๋ค๋ฅธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
AS-IS (LiteLLM ์์ด)
sequenceDiagram autonumber participant Dev1 as Developer A participant Dev2 as Developer B participant Ant as Anthropic API participant BR as AWS Bedrock participant VX as Vertex AI Dev1->>Ant: API Key A๋ก ํธ์ถ (Anthropic ํฌ๋งท) Dev1->>BR: AWS Credentials๋ก ํธ์ถ (Bedrock ํฌ๋งท) Dev2->>VX: GCP Credentials๋ก ํธ์ถ (Vertex ํฌ๋งท) Dev2->>Ant: API Key B๋ก ํธ์ถ (Anthropic ํฌ๋งท) Note over Dev1,VX: ๋ฌธ์ ์ :<br/>1. ๊ฐ ๊ฐ๋ฐ์๊ฐ ๊ฐ Cloud Provider ํค๋ฅผ ๊ฐ๋ณ ๊ด๋ฆฌ<br/>2. Cloud Provider๋ณ API ํฌ๋งท์ด ๋ค๋ฆ<br/>3. ์ ์ฒด ์ฌ์ฉ๋/๋น์ฉ ์ถ์ ๋ถ๊ฐ<br/>4. Cloud Provider ์ฅ์ ์ ์๋ ์ ํ ํ์
TO-BE (LiteLLM ์ฌ์ฉ)
sequenceDiagram autonumber participant Dev1 as Developer A participant Dev2 as Developer B participant Lite as LiteLLM (LLM Gateway) participant Ant as Anthropic API participant BR as AWS Bedrock Dev1->>Lite: ํตํฉ ํฌ๋งท์ผ๋ก ์์ฒญ (1๊ฐ ํค) Dev2->>Lite: ํตํฉ ํฌ๋งท์ผ๋ก ์์ฒญ (1๊ฐ ํค) Lite->>Lite: ์ธ์ฆ, ๋ก๊น , rate limit Lite->>Ant: ๋ผ์ฐํ (Anthropic ํฌ๋งท์ผ๋ก ๋ณํ) Ant-->>Lite: ์๋ต Note over Lite,Ant: Anthropic ์ฅ์ ๋ฐ์! Lite->>BR: ์๋ fallback (Bedrock ํฌ๋งท์ผ๋ก ๋ณํ) BR-->>Lite: ์๋ต Lite-->>Dev1: ์๋ต (๊ฐ๋ฐ์๋ ์ ํ์ ๋ชจ๋ฆ) Note over Dev1,BR: ํด๊ฒฐ:<br/>1. ๊ฐ๋ฐ์๋ 1๊ฐ LLM Gateway ํค๋ง ๊ด๋ฆฌ<br/>2. ํตํฉ API ํฌ๋งท<br/>3. ์ค์ ์ฌ์ฉ๋/๋น์ฉ ์ถ์ <br/>4. ์๋ load balancing + fallback
LiteLLM ๊ธฐ๋ณธ ์ค์ (ํตํฉ Endpoint, ๊ถ์ฅ)
export ANTHROPIC_BASE_URL=https://litellm-server:4000์ธ์ฆ์ ์ ์ API ํค ๋๋ ๋์ ํฌํผ ์คํฌ๋ฆฝํธ๋ก ์ค์ :
# ์ ์ ํค
export ANTHROPIC_AUTH_TOKEN=sk-litellm-static-key
# ๋์ ํค (Claude Code settings ํ์ผ)
# { "apiKeyHelper": "~/bin/get-litellm-key.sh" }Fallback ๋น์ฉ ๊ตฌ์กฐ
Q) โFallback์ ์ํด Bedrock, Anthropic ๋ชจ๋ ์ค์ ํ๋ ค๋ฉด ๊ฐ๊ฐ ๋ณ๋ ๋น์ฉ์ด ๋๋ ๊ฑฐ์ง?โ
๋ง๋ค. ๊ฐ Cloud Provider/Anthropic ์ฐ๊ฒฐ์ ๋ณ๋ ๊ณ์ + ๋ณ๋ ๋น์ฉ์ด๋ค. LiteLLM ์์ฒด๋ ๋ฌด๋ฃ ์คํ์์ค์ด์ง๋ง, ์ฐ๊ฒฐํ๋ ๊ฐ ๋ชจ๋ธ ์ ๊ณต์๋ ๋ชจ๋ ์ ๋ฃ์ด๋ค.
| ํญ๋ชฉ | ๋น์ฉ ๋ฐ์ ์ฌ๋ถ | ์ค๋ช |
|---|---|---|
| Anthropic API ๊ณ์ | ์ฌ์ฉํ ๋งํผ ๊ณผ๊ธ | API Key ๋ฐ๊ธ ํ์ |
| AWS Bedrock ๊ณ์ | ์ฌ์ฉํ ๋งํผ ๊ณผ๊ธ | AWS ๊ณ์ + Bedrock ํ์ฑํ ํ์ |
| GCP Vertex AI ๊ณ์ | ์ฌ์ฉํ ๋งํผ ๊ณผ๊ธ | GCP ๊ณ์ + Vertex ํ์ฑํ ํ์ |
| LiteLLM ์๋ฒ | ์๋ฒ ์ด์ ๋น์ฉ | ์คํ์์ค์ง๋ง ์๋ฒ ์ธํ๋ผ ํ์ |
"LiteLLM์ผ๋ก fallback ์ค์ ํ์!" ์ ์ค์ ์๋ฏธ:
Anthropic ๊ณ์ ์ ์ง๋น โ ๋
+ AWS Bedrock ๊ณ์ ์ ์ง๋น โ ๋
+ LiteLLM ์๋ฒ ์ด์๋น โ ๋
โโโโโโโโโโโโโโโโโโโโโโโโโ
= ์์ ์ฑ ํ๋ณด โ ๋๊ฐ
โ์ค์ ํ๋ฉด ์ข์ผ๋ ํ์โ๊ฐ ์๋๋ผ **โN๊ฐ Cloud Provider ๋น์ฉ์ ์ง๋ถํ๊ณ ์์ ์ฑ์ ์ฌ๋ ๊ฒโ**์ด๋ค. ์ค์ ๊ณผ๊ธ์ ์ฌ์ฉํ ์ชฝ์๋ง ๋ฐ์ํ์ง๋ง, ๊ณ์ ์ ๋ชจ๋ ์ ์งํด์ผ ํ๋ค.
Fallback ์ค์ ์ ๊ฐ๋ฐ์๊ฐ ์๋ LiteLLM ์๋ฒ ๊ด๋ฆฌ์๊ฐ ๋ด๋นํ๋ค:
# LiteLLM ์๋ฒ config (๊ด๋ฆฌ์๊ฐ ์ค์ )
model_list:
- model_name: claude-sonnet
litellm_params:
model: anthropic/claude-sonnet-4-6
api_key: sk-ant-xxx # โ Anthropic ๊ณ์ ํ์ (๋)
- model_name: claude-sonnet
litellm_params:
model: bedrock/claude-sonnet-4-6 # โ AWS ๊ณ์ ํ์ (๋)
aws_access_key_id: xxx
aws_secret_access_key: xxx