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模型与自动化框架)是一个Python库,可将任何训练好的模型(来自scikit-learn、TensorFlow、PyTorch或大语言模型)通过一条命令快速转换为可立即部署的HTTP API。它将模型(权重 + 元数据)打包为可移植的 .flm 资产,使用Rust后端服务器实现快速请求处理,并可选择通过模型上下文协议(MCP)暴露模型,使AI代理能够发现并调用工具。


核心理念

理念 提供的能力
单文件模型资产 .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 wheel形式安装(无需Rust工具链)。
MCP集成 使用简单的 @app.mcp.tool 装饰器,任何Python函数都可变为AI代理(Claude、Copilot、自定义机器人)通过类型提示生成的JSON Schema发现的工具。
完整API框架 除了模型服务,Flama还包含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提供原生wheel,无需Rust编译器。


典型用例

  • 模型运维 – 一次打包训练好的模型,将 .flm 发送到任何环境,立即启动生产级API。
  • LLM即服务 – 在OpenAI兼容端点后部署LLM,使现有工具(LangChain、OpenAI SDK)无需修改即可使用。
  • AI增强工具 – 将自定义Python工具作为MCP工具暴露,使代理在对话中调用。
  • 多模型服务 – 在 flama.json 规范中定义多个模型,并在单个容器中一起运行。
  • CI驱动发布 – 在CI中检查 .flm 文件的嵌入指标,无需启动服务器即可控制发布。

生态系统与可扩展性


许可证

Apache 2.0 – 免费用于商业和开源用途。


总结 – Flama让数据科学家和工程师在几分钟内从训练好的模型过渡到生产级、多协议API,同时提供构建更丰富AI服务和代理可调用工具的基石。

相关

  • 项目
  • 项目
  • 项目
  • 项目