Sagify 概述
什么是 Sagify?
Sagify 是一个创新的开源 Python 库,旨在简化 AWS SageMaker 上机器学习 (ML) 和大型语言模型 (LLM) 工作流程的复杂性。通过抽象化云基础设施的繁琐细节,Sagify 让数据科学家和 ML 工程师能够专注于真正重要的事情:开发和部署高影响力的模型。无论您是在训练自定义分类器、调整超参数,还是集成强大的 LLM(如 OpenAI 的 GPT 系列或开源替代品如 Llama 2),Sagify 都提供了一个模块化、直观的界面,加速您从原型到生产的路径。
在核心上,Sagify 利用了 AWS SageMaker 的强大功能,同时消除了手动 DevOps 任务的需要。这使其成为团队不可或缺的工具,他们希望利用云基 ML 的力量,而不会陷入设置和管理之中。对于专有 LLM(如来自 OpenAI、Anthropic 的)和部署在 SageMaker 端点的开源模型的支持,Sagify 弥合了实验与可扩展部署之间的差距,确保您的 ML 项目高效、成本效益高且富有创新性。
Sagify 如何工作?
Sagify 通过命令行界面 (CLI) 和 Python API 运行,自动化 ML 生命周期的关键阶段。其架构建立在模块化基础上,具有用于通用 ML 工作流程的独立组件,以及一个专用于处理语言模型的 LLM Gateway。
ML 工作流程的核心架构
对于传统的 ML 任务,Sagify 通过 sagify init
初始化项目结构开始。这会创建一个标准化的目录布局,包括训练和预测模块、Docker 配置以及本地测试环境。用户在提供的模板中实现简单的函数,如 train()
和 predict()
,Sagify 通过 sagify build
将其打包成 Docker 镜像。
一旦构建完成,这些镜像可以通过 sagify push
推送到 AWS ECR,并使用 sagify cloud train
在 SageMaker 上启动训练。该工具处理数据上传到 S3、资源配置(如 ml.m4.xlarge 等 EC2 实例类型)以及输出管理。对于部署,sagify cloud deploy
会启动端点,通过 REST API 提供预测,支持低延迟的实时推理。
Sagify 在高级功能如超参数优化方面也表现出色。通过在 JSON 配置中定义参数范围(例如,SVM 内核或 gamma 值),用户可以使用 sagify cloud hyperparameter-optimization
运行贝叶斯调优作业。这自动化了试错过程,直接从您的训练代码中使用 Sagify 的 log_metric
函数记录指标,如精度或准确率。对于较长作业,支持 Spot 实例以节省成本,使其适合资源密集型任务。
批量转换和流式推理完善了 ML 功能。批量作业离线处理大型数据集(例如,sagify cloud batch-transform
),而通过 Lambda 和 SQS 的实验性流式处理启用实时管道,用于推荐系统等应用。
LLM Gateway:统一访问大型语言模型
Sagify 的一个亮点功能是 LLM Gateway,这是一个基于 FastAPI 的 RESTful API,提供与各种 LLM 交互的单一入口点。该网关支持多个后端:
- 专有 LLM:直接集成 OpenAI(例如,GPT-4、用于图像生成的 DALL-E)、Anthropic(Claude 模型)以及即将推出的平台如 Amazon Bedrock 或 Cohere。
- 开源 LLM:将模型如 Llama 2、Stable Diffusion 或嵌入模型(例如,BGE、GTE)部署为 SageMaker 端点。
工作流程很简单:使用无代码命令如 sagify cloud foundation-model-deploy
部署基础模型,或 sagify llm start
用于自定义配置。环境变量配置 API 密钥和端点,网关处理聊天完成、嵌入和图像生成的请求。
例如,要批量生成嵌入,请准备带有唯一 ID 的 JSONL 输入(例如,用于语义搜索的食谱),上传到 S3,并触发 sagify llm batch-inference
。输出通过 ID 链接回来,非常适合填充向量数据库,用于搜索或推荐系统。支持的实例类型如 ml.p3.2xlarge 确保了高维度嵌入的可扩展性。
API 端点镜像 OpenAI 的格式,便于迁移:
- 聊天完成:POST 到
/v1/chat/completions
,带有消息、温度和最大令牌。 - 嵌入:POST 到
/v1/embeddings
,用于向量表示。 - 图像生成:POST 到
/v1/images/generations
,带有提示和维度。
部署选项包括本地 Docker 运行或用于生产的 AWS Fargate,使用 CloudFormation 模板进行编排。
关键功能和益处
Sagify 的功能专为简化 ML 和 LLM 开发而量身定制:
- 基础设施自动化:不再手动配置——Sagify 管理 Docker 构建、ECR 推送、S3 数据处理和 SageMaker 作业。
- 本地测试:命令如
sagify local train
和sagify local deploy
在您的机器上模拟云环境。 - 闪电部署:对于预训练模型(例如,scikit-learn、Hugging Face、XGBoost),使用
sagify cloud lightning-deploy
,无需自定义代码。 - 模型监控和管理:使用
sagify llm platforms
或sagify llm models
列出平台和模型;按需启动/停止基础设施。 - 成本效率:利用 Spot 实例、批量处理和自动缩放来优化 AWS 支出。
实际价值巨大。团队可以将部署时间从几周缩短到几天,正如 Sagify 的承诺所强调:“从想法到部署模型只需一天。”这对于使用 LLM 的迭代实验特别有用,在那里切换提供商(例如,GPT-4 用于聊天、Stable Diffusion 用于视觉)否则需要碎片化的设置。
用户证言和示例,如训练 Iris 分类器或部署 Llama 2 用于聊天,展示了可靠性。对于嵌入,使用 GTE-large 等模型的批量推理启用高效的 RAG(检索增强生成)系统,而图像端点驱动创意 AI 应用。
使用 Sagify:逐步指南
安装和设置
前提条件包括 Python 3.7+、Docker 和 AWS CLI。通过 pip 安装:
pip install sagify
通过创建具有 AmazonSageMakerFullAccess 等策略的 IAM 角色并在 ~/.aws/config
中设置配置文件来配置您的 AWS 账户。
ML 快速启动
- 克隆一个演示仓库(例如,Iris 分类)。
- 运行
sagify init
设置项目。 - 实现
train()
和predict()
函数。 - 本地构建和测试:
sagify build
、sagify local train
、sagify local deploy
。 - 推送并在云上训练:
sagify push
、sagify cloud upload-data
、sagify cloud train
。 - 部署:
sagify cloud deploy
,并通过 curl 或 Postman 调用。
LLM 快速启动
- 部署模型:
sagify cloud foundation-model-deploy --model-id model-txt2img-stabilityai-stable-diffusion-v2-1-base
。 - 设置环境变量(例如,OpenAI 的 API 密钥)。
- 启动网关:
sagify llm gateway --start-local
。 - 查询 API:使用 curl、Python requests 或 JS fetch 进行完成、嵌入或图像。
对于批量推理,准备 JSONL 文件并运行 sagify llm batch-inference
。
为什么选择 Sagify 用于您的 ML 和 LLM 项目?
在充斥着 ML 框架的景观中,Sagify 以其针对 SageMaker 的优化和 LLM 统一性脱颖而出。它解决了常见的痛点,如基础设施开销和模型碎片化,从而实现更快的创新。适合扩展 AI 原型初创公司或构建生产级 LLM 应用的企业,Sagify 的开源特性促进社区贡献,并持续支持新模型(例如,Mistral、Gemma)。
适合谁?厌倦了样板代码的数据科学家、寻求自动化的 ML 工程师,以及实验 LLM 的 AI 开发者。通过将重点放在模型逻辑而非运维上,Sagify 赋能用户交付有影响力的解决方案——无论是语义搜索、生成艺术还是预测分析——同时遵守安全、可扩展 AWS 部署的最佳实践。
要获得 ML 工作流程或 LLM 集成的最佳结果,今天就开始使用 Sagify。其简单性和强大性的结合使其成为释放 AWS SageMaker 全部潜力的首选工具。
"Sagify"的最佳替代工具


APIPark 是一个开源 LLM 网关和 API 开发者门户,用于管理生产环境中的 LLM,确保稳定性和安全性。优化 LLM 成本并构建您自己的 API 门户。
