cubist38/mlx-openai-server
A high-performance API server that provides OpenAI-compatible endpoints for MLX models. Developed using Python and powered by the FastAPI framework, it provides an efficient, scalable, and user-friendly solution for running MLX-based vision and language models locally with an OpenAI-compatible interface.
해결하는 문제
Apple Silicon에서 MLX 프레임워크를 사용하여 다양한 로컬 AI 모델을 실행할 수 있는 OpenAI 호환 API 서버를 제공합니다. 이로 인해 사용자는 외부 API를 필요로 하지 않고, 익숙한 OpenAI SDK 및 클라이언트를 사용하여 맥에서 로컬로 실행 중인 모델과 상호작용할 수 있습니다.
작동 방식
서버는 OpenAI 스타일의 API 요청과 여러 MLX 기반 백엔드 사이의 다리 역할을 합니다. 텍스트(lm), 멀티모달(vlm), 이미지 생성 및 편집(mflux), 임베딩, 음성 인식(whisper) 등 다양한 모델 유형을 지원합니다. 명령줄을 통해 단일 모델을 실행하거나, YAML 구성 파일을 사용하여 여러 모델을 동시에 실행할 수 있으며, 각 모델은 별도의 하위 프로세스에서 실행되어 Metal 런타임 상태를 격리합니다.
대상 사용자
Apple Silicon 기반 macOS를 사용하는 개발자 및 AI 연구자로서, 기존 애플리케이션 또는 에이전트에 통합할 수 있는 표준화된 API 인터페이스로 로컬 모델을 배포하고 싶은 분들.
주요 특징
- 광범위한 모델 지원: 텍스트, 시각-언어 모델, 이미지 생성/편집, 임베딩, Whisper 음성 인식을 지원합니다.
- OpenAI 호환성:
/v1/chat/completions,/v1/images/generations,/v1/embeddings등의 표준 엔드포인트를 구현합니다. - 성능 최적화: 지속적 배치, 사전 추론, KV 캐시 양자화 등의 옵션을 통해 메모리 사용량과 처리량을 최적화합니다.
- 메모리 관리: macOS에서 Metal Out-of-Memory (OOM) 오류를 방지하기 위한 상세한 가이드와 구성 옵션을 제공합니다.
- 다중 모델 호스팅: YAML 설정 파일을 통해 여러 모델을 로드할 수 있으며, 메모리 절약을 위한 "온디맨드" 로딩 기능도 지원합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트