PhotoZen AI 是一个集成了 OCR、CLIP 和人像识别功能的智能相册 AI 服务中心。该项目基于 FastAPI 框架构建,提供了强大的图像处理和分析能力。
- OCR 文字识别:支持从图片中提取文字信息
- CLIP 图像理解:基于 OpenAI 的 CLIP 模型,实现图像语义理解
- 人像识别:支持人脸检测和特征提取
- Docker 部署:提供完整的容器化部署方案
- API 接口:提供 RESTful API 接口,方便集成
- 系统监控:支持服务状态监控和日志查看
- FastAPI
- Docker
- CLIP
- InsightFace
- OpenCV
- PaddleOCR
- 构建镜像:
docker build -t xhongc/photozen-ai .
- 运行容器:
docker run -d -p 8060:8060 -v /var/run/docker.sock:/var/run/docker.sock --name photozen-ai photo-ai
-
确保已安装 Docker 和 Docker Compose
-
使用 docker-compose 启动服务:
docker-compose up -d
- 查看服务状态:
docker-compose ps
- 停止服务:
docker-compose down
- 路径:
/ocr
- 方法:POST
- 功能:图片文字识别
- 示例:
curl -X POST "http://localhost:8060/ocr" \
-H "api-key: your-api-key" \
-F "file=@/path/to/your/image.jpg"
- 路径:
/clip/img
和/clip/txt
- 方法:POST
- 功能:图像语义理解和文本匹配
- 示例:
# 图像理解
curl -X POST "http://localhost:8060/clip/img" \
-H "api-key: your-api-key" \
-F "file=@/path/to/your/image.jpg"
# 文本匹配
curl -X POST "http://localhost:8060/clip/txt" \
-H "api-key: your-api-key" \
-H "Content-Type: application/json" \
-d '{"text": "描述图片内容的文本"}'
- 路径:
/represent
- 方法:POST
- 功能:人脸特征提取
- 示例:
curl -X POST "http://localhost:8060/represent" \
-H "api-key: your-api-key" \
-F "file=@/path/to/your/face.jpg"
/check
:服务状态检查
A: 在首次部署时,系统会自动生成 API 密钥,可以在环境变量中配置。
A: 请检查以下几点:
- 确保 Docker 和 Docker Compose 已正确安装
- 检查端口 8060 是否被占用
- 查看容器日志:
docker logs photozen-ai
A: 可以尝试以下方法:
- 确保图片质量清晰
- 调整环境变量中的检测阈值
- 使用更高性能的 GPU
本项目采用 MIT 许可证,详情请参见 LICENSE 文件。
欢迎提交 Issue 和 Pull Request 来帮助改进项目。