컴백부터 K-뷰티까지 — K-컬쳐의 모든 것을 메일로 받아보세요메일로 받아보기

METAL MEDIA

arcships/aimux

179RustMIT

OpenAI, Anthropic, DeepSeek 등 325개 AI 서비스를 하나의 API로 부르는 Rust 라이브러리

aimux는 서로 다른 AI 서비스 회사들의 API 형식을 하나의 통일된 인터페이스로 감싸서, 코드를 바꾸지 않고도 사용하는 AI 모델을 자유롭게 바꿔 끼울 수 있게 해주는 Rust 라이브러리다. 텍스트 생성뿐 아니라 스트리밍, 도구 호출, 이미지, 음성, 임베딩 등 다양한 기능을 지원하고, Node.js·Python·Go·Java 등 8개 언어에서 같은 핵심 코드를 그대로 쓸 수 있다. 실제 API 호출 없이도 저장된 응답 기록으로 테스트할 수 있는 구조를 갖추고 있다.

무엇을 하는 레포인가

  1. OpenAI 호환 방식을 쓰는 251개 서비스는 설정 파일 하나로 등록해서 이름만 바꾸면 되고, OpenAI·Anthropic·Google 등 자체 방식을 쓰는 10개 서비스는 별도 구현체로, 나머지 68개는 음성·이미지·검색 등 특수 기능 서비스로 분류해 총 329개 제공사를 지원한다
  2. 핵심은 러스트로 작성한 하나의 LanguageModel 인터페이스이며, 이를 감싸 Node.js는 napi-rs, Python은 PyO3, 그 외 Go·Java·Swift·Kotlin·Flutter·C는 C ABI(공통 저수준 호출 방식)를 통해 8개 언어에서 동일하게 쓸 수 있다
  3. 자체 벤치마크에서 같은 조건(동일 하드웨어, 동일 모의 서버)으로 비교했을 때 단일 요청 처리 속도가 Node.js 환경에서 공식 OpenAI SDK 대비 14.7배, Python 환경에서 7.5배 빠르게 측정됐다
  4. 요청과 응답을 파일로 기록했다가 나중에 재생하는 기능, 실패 시 다른 모델로 자동 전환하는 라우터 기능, 여러 모델의 답을 합쳐 하나로 만드는 기능(MoA)을 새 버전(0.3.0)에서 추가했다
  5. 실제 API 서버 없이도 2,800개 이상 저장된 응답 샘플로 테스트를 돌릴 수 있어 네트워크나 API 키 없이 개발 검증이 가능하다

왜 중요한가

여러 AI 서비스를 오가며 개발할 때마다 각 회사의 API 형식에 맞춰 코드를 새로 짜야 하는 번거로움을 없애준다. 서비스 회사를 바꾸거나 여러 회사를 동시에 쓰는 앱을 만들 때 코드 변경을 최소화할 수 있다.

이 레포의 용어

  • LanguageModel 인터페이스 · 여러 AI 서비스를 같은 방식으로 다루기 위해 정의한 공통 규격
  • C ABI · 프로그래밍 언어가 달라도 서로 호출할 수 있게 하는 저수준 공통 호출 방식
  • MoA(mixture-of-agents) · 여러 AI 모델의 답변을 동시에 받아 합쳐서 하나의 결과로 만드는 방식
  • 캐시 히트 추적 · AI 서비스가 이전에 처리한 요청을 재활용했는지(캐시 적중) 감지하는 기능
  • 카세트(테스트 방식) · 실제 서버 대신 저장해둔 과거 응답을 재생해 테스트하는 방식

레포 원문 소개 (영문)

one API for 325 AI providers. 统一 LLM 服务接入层:一套 API 接入 325 家 AI 服务商。

GitHub에서 보기

주목받는 레포

레포 전체 보기 →

METAL MEDIA 최신 기사