开发 8 年的 Python 框架 Flama 2.0:把 LLM 打包成单一文件多协议对外服务

p3rdy · reddit · 2026-10-07

作者从 2018 年开始开发 Flama,目标是让训练好的模型以最少的仪式感部署为生产 API,此前已支持 scikit-learn、PyTorch、TensorFlow 和 Transformers,2.0 版本正式让 LLM 成为一等公民。

核心设计:一切都是 .flm 文件。任何模型(经典或生成式)都被打包成单个 .flm 文件,包含权重、推理所需辅助文件(tokenizer、config)和元数据。推理引擎不内嵌,同一文件可在任何部署环境运行;元数据放在权重之前,flama model inspect 无需加载模型即可读取,方便在 CI 中检查。

多协议同时服务:模型加载进应用后,同一个模型可同时在 OpenAI、Anthropic、Ollama 三种路由上应答(/llm/openai/v1/chat/completions 等),并自带流式聊天 UI;任何允许自定义 base URL 的工具(agent 框架、SDK)都能直接对接。CLI 也可 flama serve 直接起服务。

三层解耦架构:请求经过 dialect(协议解析)→ transport → backend(Linux CUDA 上用 vLLM,Apple Silicon 上用 MLX),各层只在规范化的中间表示相遇,因此引擎与协议互相独立,新增任一侧不影响另一侧,tool call 和 token 统计在每种协议下都能正确工作。

框架还包含:类型注解依赖注入、Pydantic/Marshmallow schema 与自动 OpenAPI 文档、由 SQLAlchemy 表生成 CRUD API、DDD 构件(repository、unit of work)、JWT 认证、一键把应用变成 MCP 服务器、版本迁移 codemod,以及负责路由/序列化/加密/压缩的 Rust 核心。完整架构见其 arXiv 论文。

原文链接 →

「编程与Agent」频道最新

更多「编程与Agent」频道 AI 资讯 →