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文件的嵌入指标,无需启动服务器即可控制发布。
生态系统与可扩展性
- 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服务和代理可调用工具的基石。
相关
- 项目
- 项目
- 项目
- 项目