Token导航 LogoToken导航TokenDH.com
MOSAIC (Soham Chaudhari2004) logo
音视频stdio官方级别未说明来源级核验

MOSAIC (Soham Chaudhari2004)

MCP Server

MOSAIC是一个先进的视频理解平台,支持通过自然语言交互分析视频内容,包括视频上传、内容搜索、智能剪辑生成等功能。

工具数

9

提示词数

0

GitHub Stars

0

资源数

0
视频分析Python智能搜索自然语言处理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

SohamChaudhari2004

提供方

SohamChaudhari2004

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install torch --index-url https://download.pytorch.org/whl/cu118

详细介绍

🎬 马赛克

用于综合、分析和智能理解的多模态编排

![License](LICENSE) ![Python](https://www.python.org/downloads/) ![Next.js](https://nextjs.org/) ![React](https://react.dev/) ![TypeScript](https://www.typescriptlang.org/) ![FastAPI](https://fastapi.tiangolo.com/) ![LangChain](https://www.langchain.com/) ](https://www.docker.com/) ![ChromaDB](https://www.trychroma.com/) ![FAISS](https://faiss.ai/) ![Groq](https://groq.com/) ![Mistral](https://mistral.ai/) ![FFmpeg](https://ffmpeg.org/) ![PyTorch](https://pytorch.org/)

基于人工智能的视频分析平台,用于多模态内容理解和智能搜索

______________________________________________________________________

📋 目录

______________________________________________________________________

🎯 概述

马赛克 是一个尖端的视频理解平台,允许您使用自然语言与视频内容进行交互。上传视频,询问有关其内容的问题,在视觉和口语元素中搜索,并自动提取相关片段——所有这些都由最先进的人工智能模型提供支持。

MOSAIC的独特之处是什么?

  • 🧠 多模式理解:结合视觉、音频和文本分析,实现全面的视频理解
  • 🔍 智能搜索:在文字记录、视觉效果和人工智能生成的字幕中使用自然语言查询查找特定时刻
  • ✂️ 智能剪辑生成:根据搜索结果自动提取视频片段
  • 💬 会话界面:使用理解上下文的AI代理与您的视频聊天
  • ⚡ 高性能:使用FastAPI和优化的矢量数据库(FAISS+ChromaDB)构建
  • 🐳 生产就绪:使用Docker完全容器化,实现无缝部署

______________________________________________________________________

🎥 演示和截图

应用程序接口

MOSAIC's intuitive chat interface for video analysis

视频示例

观看MOSAIC的行动:

示例1:视觉搜索和帧分析

Your browser does not support the video tag.

_演示视觉相似性搜索和逐帧分析功能_

示例2:转录搜索和剪辑生成

Your browser does not support the video tag.

_显示智能转录搜索和从搜索结果中自动提取剪辑_

示例3:多模态查询处理

Your browser does not support the video tag.

_突出显示跨视频内容的视觉和文本搜索相结合的自然语言查询_

______________________________________________________________________

✨ 特性

核心能力

特性描述
📹 视频处理自动帧提取、音频转录和元数据分析
🔎 成绩单搜索使用自然语言文本查询查找口语内容
🖼️ 视觉搜索使用CLIP驱动的视觉语义相似性定位帧
📝 标题搜索搜索AI生成的帧描述
✂️ 剪辑提取从带有精确时间戳的搜索结果中生成视频片段
📊 内容概述获取AI生成的视频内容摘要
💬 自然语言查询用简明英语询问有关视频内容的问题
🎯 多视频管理处理和搜索多个视频文件

人工智能模型与技术

  • 视觉: llama-4-maverick-17b-128e-instruct (Groq)用于图像理解
  • 音频: whisper-large-v3-turbo (Groq)用于语音转文本
  • 嵌入: clip-ViT-B-32 为了视觉相似性, all-MiniLM-L6-v2 对于文本
  • LLM: mistral-large-latest 用于智能代理推理
  • 框架:用于编排的LangChain ReAct代理

🚀 GPU加速

MOSAIC支持 NVIDIA GPU加速 为了显著加快处理速度:

  • 速度快10-50倍 视频处理与嵌入生成
  • 自动GPU检测 -刚刚设置 DEVICE=auto.env
  • CUDA加速 FAISS矢量搜索
  • 兼容 配备RTX、GTX、特斯拉GPU(CUDA 11.8+)
📖 安装指南:参见 docs/GPU_SETUP.md 用于详细的安装和优化

快速入门:

# Install PyTorch with CUDA
pip install torch --index-url https://download.pytorch.org/whl/cu118

# Optional: Install FAISS GPU for faster search
pip uninstall faiss-cpu && pip install faiss-gpu

# Set environment variable
DEVICE=auto  # auto-detect and use GPU if available

______________________________________________________________________

🏗️ 建筑

MOSAIC由三个协同工作的微服务组成:

┌─────────────────────────────────────────────────────────────────────┐
│                        MOSAIC Architecture                          │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│  ┌──────────────┐      ┌──────────────┐      ┌─────────────────┐    │
│  │  mosaic-ui   │      │  mosaic-api  │      │   mosaic-mcp    │    │
│  │  (Next.js)   │ ───► │  (FastAPI)   │ ───► │   (FastMCP)     │    │
│  │   Port 3000  │      │   Port 8000  │      │   Port 9090     │    │
│  └──────────────┘      └──────────────┘      └─────────────────┘    │
│                                                                     │
│  • User Interface      • REST API            • Video Processing     │
│  • Video Upload        • LangChain Agent     • Frame Extraction     │
│  • Chat Interface      • MCP Client          • FAISS + ChromaDB     │
│  • Search UI           • Task Management     • Search Engine        │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

数据流

User Query → Frontend → API (Agent) → MCP Server (Tools) → Vector DBs
                                 ↓
                          Search Results
                                 ↓
                         Clip Generation
                                 ↓
                        Response to User

______________________________________________________________________

🚀 快速开始

使用Docker让MOSAIC在5分钟内运行:

先决条件

一个命令部署

# Clone the repository
git clone 
cd mosaic

# Set up environment variables
cp .env.example .env
# Edit .env with your API keys

# Start all services
docker-compose up -d

# Access the application
# Frontend: http://localhost:3000
# API: http://localhost:8000
# API Docs: http://localhost:8000/docs

就是这样! 🎉

______________________________________________________________________

📦 安装

选项1:Docker(推荐)

# Development mode with hot reload
docker-compose -f docker-compose.dev.yml up

# Production mode
docker-compose up -d

方案2:地方发展

1.后端(马赛克api)

cd mosaic-api

# Create virtual environment
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Run the API server
uvicorn app.api:app --reload --host 0.0.0.0 --port 8000

2.MCP服务器(马赛克MCP)

cd mosaic-mcp

# Create virtual environment
python -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Run the MCP server
python src/server.py

3.前端(马赛克ui)

cd mosaic-ui

# Install dependencies
npm install

# Run development server
npm run dev

# Production build
npm run build
npm start

______________________________________________________________________

💡 用法

1.上传视频

# Via API
curl -X POST "http://localhost:8000/api/videos/upload" \
  -F "file=@your-video.mp4"

# Returns: { "video_id": "unique_id", "status": "processing" }

或者使用以下web界面 http://localhost:3000

2.处理视频

curl -X POST "http://localhost:8000/api/videos/{video_id}/process"

这将:

  • 提取帧(每秒1帧)
  • 使用Whisper转录音频
  • 生成图像标题
  • 创建向量嵌入(CLIP+文本)
  • FAISS和ChromaDB索引

3.搜索与查询

# Chat with your video
curl -X POST "http://localhost:8000/api/chat" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "What does the speaker say about AI?",
    "video_id": "unique_id"
  }'

# Visual search
curl -X POST "http://localhost:8000/api/search/visual" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "person wearing red shirt",
    "video_id": "unique_id",
    "top_k": 5
  }'

4.生成剪辑

curl -X POST "http://localhost:8000/api/videos/{video_id}/clips" \
  -H "Content-Type: application/json" \
  -d '{
    "start_time": 120.5,
    "end_time": 145.0,
    "output_name": "highlight.mp4"
  }'

Web界面示例

  1. 上传视频:拖放或单击以选择
  2. 提出问题:“演讲者什么时候提到气候变化?”
  3. 视觉搜索:“查找所有有狗的帧”
  4. 获取剪辑:自动提取相关片段

______________________________________________________________________

📚 API 参考

核心终点

视频

  • POST /api/videos/upload -上传新视频
  • GET /api/videos -列出所有视频
  • GET /api/videos/{video_id} -获取视频详细信息
  • POST /api/videos/{video_id}/process -处理视频以进行搜索
  • DELETE /api/videos/{video_id} -删除视频和相关数据

搜索

  • POST /api/search/transcript -在成绩单中搜索
  • POST /api/search/visual -视觉相似性搜索
  • POST /api/search/caption -在AI生成的字幕中搜索
  • POST /api/search/combined -多模态搜索

聊天和代理

  • POST /api/chat -向视频代理发送消息
  • GET /api/chat/history -获取聊天记录
  • POST /api/chat/clear -清除聊天记录

片段

  • POST /api/videos/{video_id}/clips -生成视频剪辑
  • GET /api/clips -列出生成的剪辑
  • GET /api/clips/{clip_id} -下载剪辑

MCP服务器工具

MCP服务器公开了9个工具 http://localhost:9090/mcp/v1/tools/:

  1. process_video -处理和索引视频
  2. search_transcript -搜索转录音频
  3. search_visual -基于CLIP的视觉搜索
  4. search_caption -搜索图像标题
  5. get_transcript -检索完整成绩单
  6. get_video_metadata -获取视频信息
  7. list_videos -列出所有索引视频
  8. generate_clip -提取视频片段
  9. summarize_video -生成内容摘要

API完整文档: http://localhost:8000/docs (Swagger用户界面)

______________________________________________________________________

⚙️ 配置

环境变量

创建一个 .env 根目录中的文件:

# API Keys (Required)
MISTRAL_API_KEY=your_mistral_key_here
GROQ_API_KEY=your_groq_key_here

# Server Configuration
MCP_SERVER_URL=http://localhost:9090
API_HOST=0.0.0.0
API_PORT=8000
FRONTEND_PORT=3000

# Paths
STORAGE_PATH=./storage
UPLOAD_PATH=./storage/uploads
FRAMES_PATH=./storage/frames
CLIPS_PATH=./storage/clips

# Processing Settings
FRAME_RATE=1  # frames per second
MAX_FILE_SIZE=1000000000  # 1GB
BATCH_SIZE=32

# Model Settings
EMBEDDING_MODEL=clip-ViT-B-32
TEXT_EMBEDDING_MODEL=all-MiniLM-L6-v2
LLM_MODEL=mistral-large-latest
WHISPER_MODEL=whisper-large-v3-turbo

# Database
FAISS_INDEX_TYPE=Flat  # or 'IVF' for large datasets
CHROMA_PERSIST_DIRECTORY=./storage/chroma_db

# Logging
LOG_LEVEL=INFO

FFmpeg配置

确保FFmpeg已安装且可访问:

# Ubuntu/Debian
sudo apt-get install ffmpeg

# macOS
brew install ffmpeg

# Windows
# Download from https://ffmpeg.org/download.html

______________________________________________________________________

🛠️ 发展

项目结构

mosaic/
├── mosaic-api/          # FastAPI backend
│   ├── app/
│   │   ├── api.py       # REST endpoints
│   │   ├── agent.py     # LangChain agent
│   │   ├── mcp_client.py # MCP client
│   │   └── schemas.py   # Pydantic models
│   └── tests/
│
├── mosaic-mcp/          # MCP server
│   ├── src/
│   │   ├── server.py    # FastMCP server
│   │   ├── video_processor.py
│   │   └── search_engine.py
│   └── tests/
│
├── mosaic-ui/           # Next.js frontend
│   ├── app/
│   ├── components/
│   └── lib/
│
└── docs/                # Documentation
    ├── api-reference.md
    ├── architecture.md
    ├── deployment.md
    └── user-guide.md

运行测试

# Backend tests
cd mosaic-api
pytest tests/ -v

# MCP server tests
cd mosaic-mcp
pytest tests/ -v

# Frontend tests
cd mosaic-ui
npm test

代码质量

# Python linting
ruff check .
black .

# TypeScript linting
cd mosaic-ui
npm run lint

开发流程

  1. 创建要素分支: git checkout -b feature/your-feature
  2. 进行更改 并添加测试
  3. 运行测试: pytestnpm test
  4. 格式代码: black .npm run lint:fix
  5. 提交: git commit -m "feat: add your feature"
  6. : git push origin feature/your-feature
  7. 创建拉取请求

______________________________________________________________________

🏗️ 技术

后端堆栈

  • 快速API -现代Python web框架
  • LangChain -LLM编排和代理框架
  • FastMCP -模型上下文协议服务器
  • Uvicorn -ASGI服务器
  • 派丹蒂克 -数据验证

前端堆栈

  • Next.js 15 -React框架
  • 反应19 -UI库
  • TypeScript -类型安全
  • 尾风CSS -造型
  • Shadcn/ui -组件库

AI/ML

  • 米斯特拉尔AI -大型语言模型
  • Groq -快速LLM推理(Whisper,Llama Vision)
  • CLIP -视觉语义嵌入
  • 句子转换 -文本嵌入

数据和存储

  • FAISS -矢量相似性搜索(Facebook AI)
  • ChromaDB -用于嵌入的矢量数据库
  • SQLite -元数据存储
  • 本地文件系统 -媒体存储

开发运维

  • 码头工人 -集装箱化
  • Docker Compose -多容器编排
  • FFmpeg -视频/音频处理

______________________________________________________________________

🤝 贡献

我们欢迎捐款!以下是您可以提供帮助的方式:

贡献方式

  • 🐛 报告错误:打开一个包含详细信息的问题
  • 💡 建议功能:分享你的想法
  • 📖 改进文档:修正拼写错误,添加示例
  • 🔧 提交代码:创建pull请求

开发设置

  1. 克隆该仓库
  2. 克隆你的叉子: git clone
  3. 创建分支: git checkout -b feature/amazing-feature
  4. 进行更改并彻底测试
  5. 承诺: git commit -m "feat: add amazing feature"
  6. 推: git push origin feature/amazing-feature
  7. 打开拉取请求

代码风格

  • Python:遵循PEP 8,使用 black 用于格式化
  • TypeScript:遵循Airbnb风格指南
  • 承诺:使用 常规承诺

拉取请求指南

  • ✅ 包括新功能的测试
  • ✅ 更新文档
  • ✅ 确保所有测试通过
  • ✅ 添加有意义的提交消息
  • ✅ 链接相关问题

______________________________________________________________________

📄 许可证

该项目根据 MIT许可证 -看看 许可证 文件以获取详细信息。

______________________________________________________________________

🙏 致谢

  • Groq -用于快速LLM推理
  • 米斯特拉尔AI -用于强大的语言模型
  • 开放人工智能 -用于CLIP嵌入
  • 脸书人工智能 -用于FAISS矢量搜索
  • LangChain -用于代理编排
  • FastMCP -用于MCP协议的实施

______________________________________________________________________

📞 支持与联系

  • 文档: docs/
  • 问题:
  • 讨论:

______________________________________________________________________

🗺️ 路线图

  • \[\]实时视频流支持
  • \[\]多语言转录
  • \[\]自定义模型微调
  • \[\]协作视频注释
  • \[\]REST API速率限制
  • \[\]基于Web的视频编辑器
  • \[\]移动应用程序(React Native)
  • \[\]云部署模板(AWS、GCP、Azure)

______________________________________________________________________

由...制作❤️ MOSAIC团队

⭐ 如果你觉得这个项目有用,请在GitHub上给我们加星!

目录标签

目录标签

视频分析Python智能搜索自然语言处理本地部署多模态理解AI剪辑

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

9

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP