Skip to main content

시스템 개요

OpenModex는 애플리케이션과 AI 모델 제공업체 사이에 위치합니다. 모든 요청은 최적의 제공업체에 도달하기 전에 지능형 미들웨어 파이프라인을 거칩니다.

요청 흐름

1

인증

API 키가 검증되고 계정, 팀 및 요청 제한에 매핑됩니다.
2

요청 제한

요청이 티어의 요청 제한(키별, 분별)에 대해 확인됩니다. Redis 정렬 집합을 사용하여 정밀한 슬라이딩 윈도우 적용을 수행합니다.
3

캐시 확인

프롬프트 캐싱이 활성화된 경우, OpenModex가 정확히 일치하는 캐시 응답을 확인합니다. 캐시 히트 시 제공업체 비용 없이 즉시 반환됩니다.
4

라우팅 결정

라우팅 엔진이 전략(비용, 지연 시간 또는 품질), 현재 제공업체 상태 및 폴백 구성에 따라 최적의 제공업체를 선택합니다.
5

제공업체 요청

요청이 대상 제공업체의 형식으로 변환되어 전달됩니다. OpenModex는 실시간 SSE 스트리밍 패스스루를 지원합니다.
6

응답 + 메타데이터

제공업체 응답이 OpenAI 형식으로 정규화되고, OpenModex 메타데이터(라우팅 정보, 비용, 지연 시간)가 추가되어 앱에 반환됩니다.

핵심 구성 요소

API 게이트웨이

  • OpenAI 호환 REST API — OpenAI API의 드롭인 대체
  • SSE 스트리밍 — 실시간 토큰별 전달
  • 멱등성 — Idempotency-Key 헤더로 안전한 재시도 (24시간 TTL)

라우팅 엔진

라우팅 엔진은 제공업체 상태와 성능의 실시간 뷰를 유지합니다:

서킷 브레이커

제공업체 상태는 자동으로 모니터링됩니다:
  1. Closed — 요청이 정상적으로 라우팅됨
  2. Half-Open — 연속 실패 후 트래픽이 제한됨
  3. Open — 제공업체가 라우팅 풀에서 일시적으로 제거됨
  4. Recovery — 주기적 상태 프로브가 제공업체를 복원

제공업체 어댑터

각 AI 제공업체는 다음을 처리하는 표준화된 어댑터로 래핑됩니다:
  • 요청 형식 변환 (OpenAI 형식 → 제공업체 고유 형식)
  • 응답 정규화 (제공업체 고유 → OpenAI 형식)
  • 일관된 오류 코드로의 오류 매핑
  • 스트리밍 프로토콜 변환
지원 제공업체:

캐싱 레이어

  • 정확 일치 캐싱 — (모델 + 메시지 + 파라미터)의 해시
  • 설정 가능한 TTL — 요청당 60초에서 24시간
  • Redis 기반 — 서브밀리초 캐시 조회
  • 비용 절감 — 캐시 응답은 입력 비용의 약 50%로 청구, 출력 비용 없음

결제 파이프라인

  1. 모든 요청이 Kafka에 결제 이벤트를 발행
  2. 이벤트가 비동기적으로 소비되고 영속화
  3. 계정 잔액이 Redis Lua 스크립트를 통해 원자적으로 업데이트
  4. 분석 데이터가 대시보드 및 보고를 위해 Apache Doris에 플러시

인프라

보안

  • API 키는 저장 시 해싱됨; 조회를 위해 접두사만 저장
  • BYOK 제공업체 키는 AWS KMS 봉투 암호화로 암호화
  • 요청 제한은 경쟁 조건을 방지하기 위해 원자적 Redis 연산 사용
  • 모든 트래픽은 TLS 1.3으로 암호화
  • 비밀번호는 Argon2id로 해싱

데이터 흐름 다이어그램