Skip to content

127Wzc/ImgTag

Repository files navigation

ImgTag

ImgTag

基于 AI 视觉模型的图片标签自动生成与向量搜索系统

License Python Vue

English | 中文

✨ 功能特性

  • 🤖 AI 智能标签 - 支持 OpenAI、Gemini 等视觉模型(OpenAI 标准 API 端点)
  • 🔍 语义向量搜索 - 基于文本描述的相似图片检索
  • 💾 多端点存储 - 本地 + S3 兼容端点,支持自动备份同步
  • 📁 收藏夹管理 - 层级收藏夹,自动追加标签
  • 🏷️ 标签系统 - 来源追踪(AI/用户)、使用统计
  • 👥 用户认证 - JWT 认证、角色权限、管理员可禁用账号
  • 📝 修改建议与审批 - 非上传者可提交元信息修改建议,管理员审批后落地(并触发向量重建)
  • 批量操作 - 批量上传、删除、打标签、AI 分析

默认管理员:admin / admin123

📚 文档


📸 系统预览(点击展开)

🏠 仪表盘

仪表盘

数据概览、待分析队列、标签热度排行

🖼️ 我的图库

我的图库

分类筛选、内联标签编辑、批量操作

🔍 图片详情

图片详情

AI 描述、标签来源、元信息

✨ 图片探索

图片探索

语义搜索、向量相似度检索

📤 上传功能

上传

拖拽上传、ZIP 导入、URL 抓取

🏷️ 标签管理

标签管理

三级标签体系、来源追踪、自定义提示词

💾 存储端点

存储端点

多端点配置、S3 兼容、自动备份

⚙️ 系统设置

系统设置

AI 模型配置、嵌入模型、系统参数


🐳 快速部署

前提条件:PostgreSQL 数据库(启用 pgvector 扩展)

# 下载配置文件
curl -O https://raw.githubusercontent.com/127Wzc/ImgTag/main/docker/docker-compose.yml

# 编辑 docker-compose.yml,填入数据库连接
# 启动服务
docker-compose up -d

访问:http://localhost:5173

镜像版本

标签 说明 端口
latest 全栈精简版(推荐) 5173
latest-local 全栈 + 本地嵌入模型 5173
latest-backend 纯后端 API 8000

环境变量

变量 说明
PG_CONNECTION_STRING PostgreSQL 连接字符串(必填)

🚀 本地开发

# 后端(默认使用在线 API,无需额外依赖)
cp .env.example .env && vim .env  # 配置数据库
uv sync
uv run python -m uvicorn imgtag.main:app --reload --port 8000

# 如需本地嵌入模型,安装可选依赖
uv sync --extra local

# 前端
cd web && pnpm install && pnpm dev

访问:http://localhost:5173


📋 配置说明

通过 Web 界面「系统设置」管理:

模块 配置项
视觉模型 API 地址、密钥、模型名称
嵌入模型 本地模型 / 在线 API
存储端点 多端点管理、S3 兼容、自动备份

🔌 开发者接入

接口 说明
🤖 AI 集成 API 第三方接入,支持 REST / MCP / OpenAI Tools
📖 Swagger 文档 后端全量接口参考

📊 分析统计

支持 Umami / Google Analytics 等多平台分析,详见 前端配置说明


🚀 前后端分离部署

如需将前端托管到 CDN(Vercel / Cloudflare Pages):

  1. 使用 latest-backend 镜像部署后端(端口 8000)
  2. 参考 前端部署指南 构建前端

更多技术细节请参阅 系统架构


📄 License

MIT

About

基于 AI 视觉模型的图片标签系统

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors