优化
多模态SDK是一个功能强大的Python框架,用于快速定义、部署和管理多模态任务(文本、图像、视频等),并自动生成HTTP API服务。它提供了一种简洁的方式来定义任务输入输出参数,自动处理文件上传和下载,并支持结果持久化存储。
1.任务定义: 使用Pydantic模型定义输入输出参数 支持文本、图像、视频等多种数据类型 支持文件上传和下载 2.API自动生成: 自动创建HTTP API服务 支持GET/POST端点 自动生成Swagger文档 3.结果持久化: 自动保存任务结果 结构化存储元数据和文件 支持历史结果查询 4.企业级特性: 输入验证 错误处理 健康检查 临时文件管理
str
int
float
bool
list
dict
file
image
audio
video
datetime
json
array
1.文件类型: 用于文件上传 在输入模型中定义为str类型(文件路径) 在输出模型中可定义为dict类型(包含文件路径和元数据) 2.图像类型: 特殊文件类型 支持常见图像格式(JPEG, PNG, BMP等) 在输入模型中定义为str类型(文件路径) 在输出模型中可定义为dict类型(包含文件路径和元数据) 3.视频类型: 特殊文件类型 支持常见视频格式(MP4, AVI, MOV等) 在输入模型中定义为str类型(文件路径) 在输出模型中可定义为dict类型(包含文件路径和元数据) 4.音频类型: 特殊文件类型 支持常见音频格式(MP3, WAV, FLAC等) 在输入模型中定义为str类型(文件路径) 在输出模型中可定义为dict类型(包含文件路径和元数据)
Python 3.7+ ,推荐Python 3.9 pip包管理器
1.克隆仓库:
git clone https://gitlink.org.cn/fanshuai/multi-modal-sdk.git cd multi-modal-sdk
2.创建虚拟环境(推荐):
# 创建环境 conda create -n multi-modal-sdk python=3.9 # 激活环境 conda activate multi-modal-sdk
3.安装依赖:
pip install -r requirements.txt
4.安装SDK(开发模式):
pip install -e .
文本处理示例 参考示例代码:examples/text_processor.py 图像处理示例 参考示例代码:examples/image_processor.py 视频处理示例 参考示例代码:examples/video_processor.py
/info
GET /info
/health
GET /health
/cleanup
POST /cleanup
/result/<run_id>
GET /result/20230715_143045_550e8400
/result/<run_id>/file/<filename>
GET /result/20230715_143045_550e8400/file/processed_image.jpg
/run
POST /run
multi-modal-sdk/ ├── multi_modal_sdk/ # SDK核心 │ ├── __init__.py │ └── core.py # 核心功能实现 ├── examples/ # 使用示例 │ ├── text_processor.py # 文本处理示例 │ ├── image_processor.py # 图像处理示例 │ └── video_processor.py # 视频处理示例 ├── config/ # 配置目录 │ ├── __init__.py │ └── settings.py # 环境变量配置 ├── setup.py # 打包配置 ├── requirements.txt # 依赖列表 ├── README.md # 项目文档 ├── MANIFEST.in # 打包清单 └── .env.example # 环境变量示例文件
本地存储(默认): 结果存储在本地文件系统 无需额外配置 MinIO存储: 配置MinIO环境变量 结果存储在MinIO对象存储中
本项目采用MIT许可证。详情请查看LICENSE文件。
问题报告:https://gitlink.org.cn/fanshuai/multi-modal-sdk/issues 作者:樊帅 邮箱:1141904845@qq.com
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
多模态SDK - 功能强大的任务定义与API生成框架
项目概述
多模态SDK是一个功能强大的Python框架,用于快速定义、部署和管理多模态任务(文本、图像、视频等),并自动生成HTTP API服务。它提供了一种简洁的方式来定义任务输入输出参数,自动处理文件上传和下载,并支持结果持久化存储。
核心功能
1.任务定义: 使用Pydantic模型定义输入输出参数 支持文本、图像、视频等多种数据类型 支持文件上传和下载 2.API自动生成: 自动创建HTTP API服务 支持GET/POST端点 自动生成Swagger文档 3.结果持久化: 自动保存任务结果 结构化存储元数据和文件 支持历史结果查询 4.企业级特性: 输入验证 错误处理 健康检查 临时文件管理
输入输出数据类型
支持的数据类型
输入输出数据类型
支持的数据类型
strintfloatboollistdictfileimageaudiovideodatetimejsonarray特殊类型说明
1.文件类型: 用于文件上传 在输入模型中定义为str类型(文件路径) 在输出模型中可定义为dict类型(包含文件路径和元数据) 2.图像类型: 特殊文件类型 支持常见图像格式(JPEG, PNG, BMP等) 在输入模型中定义为str类型(文件路径) 在输出模型中可定义为dict类型(包含文件路径和元数据) 3.视频类型: 特殊文件类型 支持常见视频格式(MP4, AVI, MOV等) 在输入模型中定义为str类型(文件路径) 在输出模型中可定义为dict类型(包含文件路径和元数据) 4.音频类型: 特殊文件类型 支持常见音频格式(MP3, WAV, FLAC等) 在输入模型中定义为str类型(文件路径) 在输出模型中可定义为dict类型(包含文件路径和元数据)
安装指南
前置要求
Python 3.7+ ,推荐Python 3.9 pip包管理器
安装步骤
1.克隆仓库:
2.创建虚拟环境(推荐):
3.安装依赖:
4.安装SDK(开发模式):
快速开始
API文档
公共端点
/infoGET /info/healthGET /health/cleanupPOST /cleanup/result/<run_id>GET /result/20230715_143045_550e8400/result/<run_id>/file/<filename>GET /result/20230715_143045_550e8400/file/processed_image.jpg任务端点
/runPOST /run项目结构
存储选项
本地存储(默认): 结果存储在本地文件系统 无需额外配置 MinIO存储: 配置MinIO环境变量 结果存储在MinIO对象存储中
许可证
本项目采用MIT许可证。详情请查看LICENSE文件。
支持与联系方式
问题报告:https://gitlink.org.cn/fanshuai/multi-modal-sdk/issues 作者:樊帅 邮箱:1141904845@qq.com