피드로 돌아가기
Hugging Face BlogBackend
원문 읽기
Hugging Face가 AI Comic Factory를 Inference API로 배포하면서 PRO 계정으로 Llama-2와 SDXL 모델에 접근 가능하게 전환
Deploying the AI Comic Factory using the Inference API
AI 요약
Context
AI Comic Factory는 수천 명의 사용자가 이용하는 인기 애플리케이션이지만, 공식 Space에서는 긴 대기 시간이 발생했다. 사용자들이 자신의 private space에서 장기 대기 없이 서비스를 운영할 수 있는 방법이 필요했다.
Technical Solution
- NextJS 기반 클라이언트-서버 아키텍처를 유지하면서 두 개의 독립적 API 호출 구조로 설계: Language Model API(Llama-2)와 Stable Diffusion API(SDXL 1.0)
- LLM_ENGINE과 RENDERING_ENGINE 두 개의 환경 변수로 백엔드 엔진을 선택 가능하도록 구성 (각각 INFERENCE_API, INFERENCE_ENDPOINT, OPENAI/REPLICATE/VIDEOCHAIN 등 지원)
- Docker 컨테이너로 배포되도록 구성하여 최소 사양 인스턴스(공식은 대규모 사용자 대비 더 큰 CPU 인스턴스 사용)에서 실행 가능하게 설정
- meta-llama/Llama-2-70b-chat-hf를 기본 LLM 모델로, stabilityai/stable-diffusion-xl-base-1.0을 기본 이미지 생성 모델로 사전 구성
- Hugging Face 계정 토큰 환경 변수 설정으로 인증 처리
Key Takeaway
마이크로서비스 아키텍처에서 각 기능을 독립적인 API로 분리하고 환경 변수로 구현체를 추상화하면, 사용자가 자신의 요구사항에 맞게 백엔드 제공자(Hugging Face Inference API, Endpoint, OpenAI, Replicate 등)를 선택할 수 있는 유연한 배포 옵션을 제공할 수 있다.
실천 포인트
NextJS 기반의 멀티 API 의존 애플리케이션을 개발할 때, LLM_ENGINE, RENDERING_ENGINE처럼 기능별 엔진을 환경 변수로 분리하고 각각 여러 제공자를 지원하도록 구현하면, 사용자가 비용 대비 성능이 최적인 제공자를 자유롭게 선택하면서 애플리케이션을 fork/배포할 수 있다.