论文

Flama:用于开发和部署生产就绪 API、机器学习和 LLM 服务的 Python 框架

Flama: a Python framework for development and deployment of production-ready APIs, machine learning, and LLM services

AI 基础设施模型服务框架

摘要

我们推出 Flama,这是一个开源 Python 框架,用于开发和部署生产就绪的 Web API、机器学习服务和大语言模型 (LLM) 应用程序。 Flama 基于异步服务器网关接口 (ASGI) 构建,提供类型驱动、异步优先的编程模型,将 REST API 开发、预测模型服务和生成式 AI 推理统一在一个架构中。它围绕七个子系统进行组织:基于组件的依赖注入系统,在启动时从类型注释中解析处理程序参数;支持单个适配器后面的 Pydantic、Marshmallow 和 Typesystem 的可插入模式层;自动 CRUD 生成器将 SQLAlchemy 表和模式类转换为由存储库和工作单元模式支持的 REST 端点;来自 scikit-learn、TensorFlow、PyTorch 和 Hugging Face Transformer 的便携式二进制格式 (.flm) 打包模型及其元数据,用于零代码部署;运行 vLLM (Linux/CUDA) 或 MLX (Apple Silicon) 的多后端 LLM 服务器,并通过共享编解码器公开四种有线协议(OpenAI、Anthropic、Ollama 和本机流方言);通过 Maturin 编译的 Rust 加速核心,用于路由、JSON 编码、压缩和解析;模型上下文协议模块可将任何应用程序转变为基于 JSON-RPC 2.0 的 MCP 服务器。内置功能包括 JWT 身份验证、两种分页策略、线程或进程中的后台任务、WebSocket 端点、服务器发送事件和 NDJSON 流、从处理程序签名生成 OpenAPI 3.2.0,以及用于运行应用程序以及用于服务、打包和检查模型的命令行界面。我们描述了架构,通过工作示例展示了编程模型,并将 Flama 与现有框架、模型服务平台和 LLM 推理引擎进行了比较。