theopenco/llmgateway

Route, manage, and analyze your LLM requests across multiple providers with a unified API interface.

LLM Gateway – 무엇인가요

LLM Gateway는 애플리케이션과 여러 대규모 언어 모델(LLM) 공급자(OpenAI, Anthropic, Google Vertex AI 등) 사이에 위치하는 오픈소스 API 게이트웨이입니다. 단일의 OpenAI 호환 엔드포인트를 제공하여, 다양한 공급자의 키를 한 곳에 저장하고, 사용량 데이터를 기록하여 얼마나 많은 토큰을 사용했는지, 각 호출의 비용이 얼마인지 확인할 수 있습니다.


핵심 기능 (README에 설명됨)

  • 통합 API – 호출은 OpenAI의 /v1/chat/completions 형식을 따르므로, 클라이언트 코드를 변경하지 않고도 공급자를 전환할 수 있습니다.
  • 다중 공급자 라우팅 – 각 요청에 대해 어떤 백엔드 모델을 호출할지 설정할 수 있으며, 게이트웨이는 요청을 적절한 공급자로 전달합니다.
  • 키 관리 – 다양한 공급자의 API 키를 중앙에서 관리할 수 있으며, 시작 시 설정한 비밀번호로 보호됩니다.
  • 사용 분석 – 요청 수, 토큰 사용량, 응답 지연, 비용을 로그로 기록하여 지출을 모니터링하고 최적화할 수 있습니다.
  • 성능 모니터링 – 동일한 대시보드에서 모델/공급자 간의 지연과 가격을 비교할 수 있습니다.
  • 셀프호스팅 또는 SaaSllmgateway.io에서 호스팅된 서비스를 사용하거나, 전체 스택을 직접 실행할 수 있습니다.

실행 방법

호스팅 옵션

  1. llmgateway.io에서 가입합니다.
  2. API 키를 획득하고 https://api.llmgateway.io/v1/...에 요청을 보내기 시작합니다.

셀프호스팅 (Docker 우선)

  1. 두 가지 시크릿을 생성합니다:
    export LLM_GATEWAY_SECRET=$(openssl rand -base64 32 | tr -d '\n')
    export GATEWAY_API_KEY_HASH_SECRET=$(openssl rand -base64 32 | tr -d '\n')
    
  2. PostgreSQL와 Redis 볼륨을 생성하고 통합 컨테이너를 시작하는 제공된 스크립트를 실행하거나, 명명된 볼륨으로 컨테이너를 수동으로 실행합니다(자세한 docker run 명령은 README 참조).
  3. 컨테이너는 UI, API, 내부 서비스용으로 여러 포트(3002–3007, 4001–4002)를 노출합니다.
  4. 실행 후, OpenAI API와 마찬가지로 게이트웨이를 호출할 수 있습니다. 예시:
    curl -X POST https://api.llmgateway.io/v1/chat/completions \
         -H "Content-Type: application/json" \
         -H "Authorization: Bearer $LLM_GATEWAY_API_KEY" \
         -d '{"model":"gpt-4o","messages":[{"role":"user","content":"Hello, how are you?"}]}'
    

개발 워크플로우

  • 의존성pnpm으로 관리합니다. pnpm i && pnpm run setup을 실행하여 패키지 설치, Docker 서비스 시작, DB 스키마 동기화, 데이터 시드를 수행합니다.
  • 개발 서버pnpm dev는 프론트엔드 대시보드, API, 게이트웨이 등 모든 앱을 감시 모드로 시작합니다.
  • 프로덕션 빌드pnpm build는 배포를 위한 최적화된 번들 생성합니다.
  • 모노레포 구조 – Next.js 앱(ui, playground, code, airside, docs)과 공유 패키지(db, models, shared)를 포함하는 모노레포입니다. 실제 라우팅 로직은 apps/gateway에 있으며, Hono 백엔드입니다.

라이선스

  • 오픈소스 코어 – AGPL-v3 (LICENSE 참조).
  • 엔터프라이즈 확장 기능ee/ 디렉터리에는 고급 청구, 무제한 데이터 보존, 다중 조직 관리 등 상용 기능이 포함되어 있으며 별도의 엔터프라이즈 라이선스로 제공됩니다. 자세한 사항은 contact@llmgateway.io로 문의하세요.

누구에게 적합한가요?

  • 여러 LLM 공급자 간 전환 또는 조합이 필요한 제품을 개발하는 팀.
  • 토큰 사용량과 비용을 한 곳에서 감사하고 싶은 조직.
  • 데이터 프라이버시 또는 규정 준수를 위해 셀프호스팅을 선호하는 개발자.

결론

LLM Gateway는 LLM API 간의 차이를 추상화하고, 분석 기능을 추가하며, SaaS와 셀프호스팅 모두를 지원하는 실용적이고 프로덕션 준비 완료된 미들웨어입니다. TypeScript 모노레포로 구축되었으며 Docker 지원과 UI, API, 게이트웨이 컴포넌트 간 명확한 분리가 특징입니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트