LLM Gateway 퀵스타트

LLM Gateway 퀵스타트

하나의 LangSmith API 키로 프로바이더 전반의 모델을 호출한 뒤, 트레이스를 보고 지출 한도를 설정하는 방법을 알려드릴게요.

참고: LLM Gateway는 베타 상태입니다.

LLM Gateway는 하나의 엔드포인트와 하나의 LangSmith API 키로 구성된 프로바이더 전반의 모델을 호출합니다. 요청을 보내고, 트레이스를 보고, 지출 한도를 설정하세요.

정보: 관리자가 워크스페이스를 위해 한 번 게이트웨이 활성화, 프로바이더 시크릿 추가, 접근 부여를 해야 합니다. 이후에는 gateway:invokeworkspaces:read 권한을 포함하는 역할에 연결된 워크스페이스 범위 LangSmith API 키만 있으면 됩니다.

출처: 문서

본문

1. 요청 보내기

게이트웨이 호출은 게이트웨이 기본 URL을 가리키고 LangSmith API 키로 인증하는 일반 모델 요청입니다. Chat completions를 사용해 이미 보유한 애플리케이션에서 게이트웨이를 호출하거나, Deep Agents를 사용해 이를 통해 라우팅하는 에이전트를 만들 수 있습니다.

Chat completions:

모든 OpenAI 호환 클라이언트를 https://gateway.smith.langchain.com/v1로 지정하고 model을 프로바이더 접두사 ID로 설정합니다.

export LANGSMITH_API_KEY="lsv2_..."

curl https://gateway.smith.langchain.com/v1/chat/completions \
    -H "Authorization: Bearer $LANGS..._KEY" \
    -H "Content-Type: application/json" \
    -d '{"model":"anthropic/claude-opus-5","messages":[{"role":"user","content":"Explain what an LLM gateway does in one sentence."}]}'
import os

from openai import OpenAI

client = OpenAI(
    base_url="https://gateway.smith.langchain.com/v1",
    api_key=os.environ["LANGSMITH_API_KEY"],
)
response = client.chat.completions.create(
    model="anthropic/claude-opus-5",
    messages=[{"role": "user", "content": "Explain what an LLM gateway does in one sentence."}],
)
print(response.choices[0].message.content)
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://gateway.smith.langchain.com/v1",
  apiKey: proces...KEY,
});
const response = await client.chat.completions.create({
  model: "anthropic/claude-opus-5",
  messages: [{ role: "user", content: "Explain what an LLM gateway does in one sentence." }],
});
console.log(response.choices[0].message.content);

동일한 엔드포인트는 Anthropic Messages와 OpenAI Responses 요청도 수락합니다. API 형식을 참고하세요.

Deep Agents:

LANGSMITH_GATEWAY를 설정해 프로세스에서 지원되는 모든 채팅 모델을 게이트웨이를 통해 라우팅합니다.

# pip install "deepagents>=0.1.0"
# export LANGSMITH_API_KEY="lsv2_..."
# export LANGSMITH_GATEWAY="true"
from deepagents import create_deep_agent

agent = create_deep_agent(model="anthropic:claude-opus-5")
result = agent.invoke({"messages": [{"role": "user", "content": "Explain what an LLM gateway does in one sentence."}]})
print(result["messages"][-1].content)
// npm install deepagents
// export LANGSMITH_API_KEY="lsv2_..."
// export LANGSMITH_GATEWAY="true"
import { createDeepAgent } from "deepagents";

const agent = createDeepAgent({ model: "anthropic:claude-opus-5" });
const result = await agent.invoke({
  messages: [{ role: "user", content: "Explain what an LLM gateway does in one sentence." }],
});
console.log(result.messages[result.messages.length - 1].content);

모든 호출이 아닌 특정 호출만 라우팅하려면 Chat completions 탭의 표준 엔드포인트를 사용하고 model을 프로바이더 접두사 ID로 설정하세요.

2. 트레이스 보기

LangSmith를 열고 워크스페이스에서 gateway 또는 gateway-<short_api_key>-<api_key_id>라는 트레이싱 프로젝트로 이동합니다. 요청은 토큰 수, 비용, 지연 시간과 함께 여기에 나타납니다.

3. 지출 한도 설정하기

LangSmith에서 LLM Gateway로 이동해 spend 정책을 만듭니다. 예를 들어 API 키에 일일 $10 캡을 둡니다. 캡에 도달하면 게이트웨이는 요청을 차단한 정책을 명명하는 메시지와 함께 402를 반환합니다:

{"error": "Request blocked by gateway policies: R&D Spend Cap"}

전체 가이드는 Spend 정책을 참고하세요.

이 예제들은 US 게이트웨이를 사용합니다. EU, APAC, AWS 호스트 이름은 리전 게이트웨이 사용을 참고하세요. BYOC는 BYOC 데이터 플레인 사용을 참고하세요.

다음 단계

더 알아보기

  • 개요 — LLM Gateway 개념 소개.
  • API 형식 — 다양한 API 형식으로 호출.