vortico/flama

The production framework for Predictive and Generative AI. Serve any model as an API in one line, with OpenAI/Anthropic/Ollama-compatible endpoints, a built-in chat UI, and native MCP.

Flama – 예측 및 생성형 AI를 위한 프로덕션 준비 완료 프레임워크

무엇인가요 – Flama (가벼운 애플리케이션, AI 모델, 자동화를 위한 프레임워크)는 scikit-learn, TensorFlow, PyTorch 또는 대규모 언어 모델을 포함한 어떤 훈련된 모델도 단일 명령어로 즉시 HTTP API로 제공할 수 있는 Python 라이브러리입니다. 모델(가중치 + 메타데이터)을 포터블한 .flm 아티팩트로 패키징하고, 빠른 요청 처리를 위한 Rust 기반 서버를 실행하며, 필요에 따라 AI 에이전트가 도구를 탐색하고 호출할 수 있도록 모델 컨텍스트 프로토콜(MCP)을 통해 모델을 공개합니다.


핵심 아이디어

아이디어 제공하는 것
1개 파일 모델 아티팩트 .flm은 가중치, 프레임워크 정보, 하이퍼파라미터, 선택적 메트릭을 모두 포함합니다. 동일한 파일은 변환 없이 Linux(vLLM), Apple Silicon(MLX), 또는 지원되는 모든 백엔드에서 실행 가능합니다.
코드 없이 제공 flama dump로 아티팩트를 생성한 후, flama serve(또는 설정 파일과 함께 flama start)로 OpenAPI 호환 서비스를 즉시 시작합니다.
통합 API 표면 예측(/model/predict)과 생성(/query, /stream, /chat)을 위한 엔드포인트가 자동 생성됩니다.
다중 언어 호환성 서버는 동시에 OpenAI, Anthropic, Ollama 호환 경로를 공개할 수 있어 기존 클라이언트 라이브러리가 모델과 변경 없이 통신할 수 있습니다.
Rust 기반 코어 라우팅, JSON 인코딩, 압축, 요청 파싱은 네이티브 코드로 컴파일되어 낮은 지연 시간을 제공하지만, 순수 Python 웨일로 설치 가능(특정 Rust 도구 체인 필요 없음).
MCP 통합 간단한 @app.mcp.tool 데코레이터로 Python 함수를 AI 에이전트(Claude, Copilot, 커스텀 봇)가 타입 힌트에서 유도된 JSON 스키마를 통해 탐색할 수 있는 도구로 변환할 수 있습니다.
완전한 API 프레임워크 모델 제공 외에도 CRUD 리소스, 종속성 주입, 스키마 검증(Pydantic/Typesystem/Marshmallow), JWT 인증, 백그라운드 작업, 페이징, DDD 스타일 패턴을 포함합니다.

빠른 시작 (예측 모델)

import flama
from sklearn.neural_network import MLPClassifier

model = MLPClassifier(activation="tanh", hidden_layer_sizes=(10,))
# … 모델 훈련 …
flama.dump(model, family="ml", path="model.flm", metrics={"accuracy": 0.947})
# 제공하기
flama serve --model file=model.flm,url=/model,name=my_model

생성된 엔드포인트

  • GET /schema/ – OpenAPI 설명
  • POST /model/predict/ – JSON 인코딩된 추론
  • /docs/ – Swagger UI

빠른 시작 (생성 모델)

pip install "flama[llm,pydantic]"
# 1️⃣ HuggingFace에서 LLM 다운로드 및 패키징
flama get --family llm --source huggingface mlx-community/gemma-4-E2B-it-qat-4bit
# 2️⃣ 서버 없이 로컬에서 테스트
echo "What is Flama?" | flama model mlx-community_gemma-4-E2B-it-qat-4bit.flm stream --system "Be concise."
# 3️⃣ HTTP를 통해 제공 (``/chat/``에 스트리밍 챗 UI 포함)
flama serve --model file=mlx-community_gemma-4-E2B-it-qat-4bit.flm,url=/,name=gemma

동일한 .flm은 vLLM(CUDA) 또는 MLX(Apple Silicon)에서 실행 가능하며, Flama는 로드 시 백엔드를 자동으로 선택합니다.


설치

pip install flama                     # 핵심
pip install "flama[pydantic]"        # 스키마 검증 (옵션)
pip install "flama[database]"        # SQLAlchemy 리소스 (옵션)
pip install "flama[llm]"             # 생성형 AI 지원 (vLLM/MLX)
pip install "flama[full]"            # 모든 기능

Linux, macOS, Windows에서 Python 3.10~3.14용 네이티브 웨일이 제공되며, Rust 컴파일러 필요 없음.


일반적인 사용 사례

  • 모델 오퍼레이션 – 훈련된 모델을 한 번만 패키징하고 .flm을 어떤 환경에도 배포해 즉시 프로덕션 수준 API를 시작.
  • LLM as a Service – 기존 도구(LangChain, OpenAI SDK)가 변경 없이 작동하도록 OpenAI 호환 엔드포인트 뒤에 LLM 배포.
  • AI 강화 도구 – 커스텀 Python 유틸리티를 MCP 도구로 공개해 에이전트가 대화 중에 호출 가능.
  • 다중 모델 제공 – 여러 모델을 flama.json 사양에 정의하고 단일 컨테이너에서 함께 실행.
  • CI 기반 프로모션 – CI에서 .flm 파일의 내장 메트릭을 검사하고 서버를 시작하지 않고도 릴리스를 제어.

생태계 및 확장성

  • CLI – 패키징(flama dump), HuggingFace에서 가져오기(flama get), 메타데이터 검사, 오프라인 추론 실행, 서비스 시작용 명령어.
  • 플러그인 시스템 – 사용자 정의 리소스, 인증, 백그라운드 워커용 컴포넌트 등록 가능.
  • 문서 및 예제 – 전체 문서는 https://flama.dev, 예제 리포지토리(vortico/flama-examples)는 예측 AI, 생성 AI, 도메인 주도 설계를 커버.
  • Docker 이미지 – 공식 이미지(vortico/flama:latest-python3.12-pydantic)에는 Rust 코어와 필요한 확장 기능 포함; Dockerfile은 FROM 라인과 모델 파일 복사만 필요.

라이선스

Apache 2.0 – 상용 및 오픈소스 사용에 무료.


결론 – Flama는 데이터 과학자와 엔지니어가 훈련된 모델에서 수분 내에 프로덕션 수준의 다중 프로토콜 API로 전환할 수 있게 하며, 더 풍부한 AI 기반 서비스와 에이전트가 호출할 수 있는 도구를 구축할 수 있는 기반도 제공합니다.

관련

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