Skip to main content
공개 노트

Switchyard, LLM API와 모델 선택을 분리하는 Rust 프록시

Views 2약 2분생성형 AI 활용
Summary

Switchyard: API 호환성을 유지하는 LLM 라우팅 계층

LLM 애플리케이션이 특정 공급자의 API에 강하게 결합되면 모델 교체와 비용·성능 비교가 어려워진다. NVIDIA가 공개한 Switchyard는 클라이언트와 모델 백엔드 사이에서 요청 변환과 라우팅을 담당하는 Rust 기반 프록시이자 라이브러리다.1

클라이언트 API와 모델 백엔드를 분리한다

Switchyard 서버는 OpenAI Chat Completions, OpenAI Responses, Anthropic Messages 형식의 요청을 받는다. 이를 공급자 중립 형식으로 디코딩해 선택된 백엔드로 전달하고, 응답은 다시 클라이언트가 기대하는 형식으로 변환한다.1

이 구조를 사용하면 클라이언트는 기존 OpenAI 또는 Anthropic API 형식을 유지하면서 vLLM, NVIDIA NIM, Ollama, OpenAI 호환 엔드포인트를 백엔드로 이용할 수 있다.1 모델을 변경할 때 클라이언트 전체를 다시 작성해야 하는 부담을 줄이는 것이 핵심이다.

라우팅 정책으로 비용과 성능을 조정한다

Switchyard는 다음과 같은 라우팅 방식을 지원한다.1

  • 패스스루: 요청을 지정된 백엔드로 그대로 전달한다.

  • 무작위 라우팅: 여러 백엔드에 요청을 분산한다.

  • LLM 분류기: 요청을 분류해 적절한 모델을 선택한다.

  • 스테이지 라우터: 도구 실행 결과나 오류 같은 대화 신호에 따라 다음 단계를 결정한다.

이를 활용하면 여러 모델을 비교하거나, 쉬운 요청은 비용이 낮은 모델로 보내고 어려운 요청만 고성능 모델로 전달하는 정책을 실험할 수 있다. 요청 수, 오류, 지연 시간, 토큰 사용량, 라우팅 오버헤드를 Prometheus 지표로 확인할 수 있어 정책별 효과를 평가하는 데도 도움이 된다.1

현재는 프로덕션보다 검증에 적합하다

Switchyard는 Apache-2.0 라이선스로 공개됐지만 아직 프리알파 단계다. 서버는 데모 수준이며 프로덕션용이 아니고, API와 알고리즘도 1.0 이전에 크게 바뀔 수 있다.1

따라서 현재는 벤치마크, 사내 실험, 모델 비교, 라우팅 정책 검증에 활용하는 편이 적절하다. 실제 서비스 도입을 검토한다면 안정성뿐 아니라 요청·응답 변환의 정확도, 스트리밍, 도구 호출 호환성도 충분히 검증해야 한다.

요약

Switchyard의 핵심 가치는 클라이언트 API와 모델 선택을 분리하는 데 있다. 기존 API 형식을 유지하면서 여러 백엔드와 라우팅 정책을 시험할 수 있지만, 프리알파 단계인 만큼 당장은 프로덕션 배포보다 실험과 평가에 초점을 맞춰야 한다.

1GitHub - NVIDIA-NeMo/Switchyard

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기