sagify 项目介绍
项目概述
Sagify 是一个强大的工具,专为简化在 AWS SageMaker 上管理机器学习工作流程而设计。它让用户能够专注于机器学习模型的构建,而无需过多操心基础架构的搭建。Sagify 的模块化架构包含了一个 LLM Gateway 模块,提供了一个统一的接口,以便利用开源和专有的大语言模型(LLM)。用户可以通过一个简单的 API 访问各种语言模型,将其轻松整合到自己的工作流程中。
安装与环境要求
为了使用 Sagify,用户需要确保其环境具备以下前置条件:
- Python 环境(支持3.7至3.11版本)
- 已安装并运行 Docker
- 已配置 awscli
用户可以通过以下命令在终端安装 Sagify:
pip install sagify
快速入门 —— 无代码 LLM 部署
用户只需几个步骤即可完成无代码的大语言模型部署:
- 配置自己的 AWS 账户,具体步骤参见文档中的“配置 AWS 账户”部分。
- 执行以下命令以部署模型:
sagify cloud foundation-model-deploy --model-id model-txt2img-stabilityai-stable-diffusion-v2-1-base --model-version 1.* -n 1 -e ml.p3.2xlarge --aws-region us-east-1 --aws-profile sagemaker-dev
用户可以根据需要更改 EC2 的类型、AWS 地区及 AWS 配置文件。
支持的平台和模型
Sagify 支持通过 OpenAI 和开源平台提供的多种模型:
OpenAI 平台
- 聊天完成模型:如 gpt-4, gpt-3.5-turbo 等
- 图像生成模型:如 dall-e-3, dall-e-2 等
- 嵌入向量模型:如 text-embedding-3-large 等
开源平台
- 聊天完成模型:如 llama-2-7b, llama-2-13b 等
- 图像生成模型:如 stabilityai-stable-diffusion-v2 等
- 嵌入向量模型:如 gte-small, multilingual-e5-large 等
环境变量配置
用户在启动 LLM Gateway 服务器之前,需要设置相关平台的环境变量。例如,在使用 OpenAI 平台时,设置如下变量:
OPENAI_API_KEY
:OpenAI 的 API 密钥OPENAI_CHAT_COMPLETIONS_MODEL
:选择的聊天模型OPENAI_EMBEDDINGS_MODEL
和OPENAI_IMAGE_CREATION_MODEL
:选择的嵌入向量和图像生成模型
而在使用 AWS SageMaker 平台时,需要定义与 AWS 相关的访问密钥以及其他配置变量。
FastAPI LLM Gateway 部署
用户可以选择在本地或通过 AWS Fargate 部署 FastAPI LLM Gateway。在本地部署时,用户需要启动 Docker 容器。而在 AWS Fargate 上部署时,需要将 FastAPI 应用程序容器化,并配置容器服务。
LLM Gateway API 使用
一旦部署完成,用户可以通过访问 HOST_NAME/docs
来使用 LLM Gateway API。主要功能包括:
- Completions:处理文本生成或对话完成请求。
- Embeddings:获取文本的嵌入向量。
- Image Generations:生成图像。
项目初衷
Sagify 团队意识到,单一的 LLM 并不能满足所有需求。因此,他们构建了这个平台,以便用户能够灵活地选择和使用最适合其项目的语言模型。