Token导航 LogoToken导航TokenDH.com
Movie MCP Assistant logo
数据服务stdio官方级别未说明来源级核验

Movie MCP Assistant

MCP Server

一个结合传统SQL查询与AI语义搜索的综合性电影数据库系统,适用于电影发现、数据分析和自然语言处理场景。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
数据分析Python搜索自然语言处理

安装说明

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

作者 / 组织

AbhitejT

提供方

AbhitejT

最后核验

2026/5/17 20:23

快速接入

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

命令预览

pip install -r requirements.txt

详细介绍

🎬 电影数据库助理专业版

一个复杂的电影数据库系统,将传统的SQL查询与尖端的人工智能语义搜索功能相结合。该系统基于模型上下文协议(MCP)架构,通过结构化数据分析和自然语言情节理解提供全面的电影发现。

✨ 主要特点

🔍 多模态搜索功能

  • 📊 结构化查询:传统的基于SQL的电影元数据搜索(类型、预算、评级、演员、导演、票房表现)
  • 🧠 语义搜索:使用先进的向量嵌入技术对故事主题和叙事元素进行基于AI的情节搜索
  • 🔄 混合搜索:结构化过滤器与语义搜索的智能组合,用于超精确的电影发现

🏗️ 现代建筑

  • 🤖 模型上下文协议(MCP):用于无缝LLM交互的尖端AI集成框架
  • 🐘 PostgreSQL+pgvector:用于语义相似性搜索的高性能矢量数据库
  • ⚡ 快速API:具有双端点架构的轻量级REST API后端
  • 🎨 溪流:具有实时搜索功能的漂亮交互式web界面
  • 🧩 Azure OpenAI集成:专业级嵌入和语言处理

📁 全面的数据支持

  • 📈 Kaggle数据集:完全支持“电影数据集”(Movies_metadata.csv、credits.csv、keywords.csv)
  • 📖 绘图矢量化:对电影情节和概要的高级语义理解
  • 🔗 关系完整性:具有外键关系的规范化数据库
  • 📊 元数据:预算、收入、收视率、演员、工作人员、流派、关键字等

🚀 快速开始

📋 先决条件

  • Python 3.8+ 使用pip
  • PostgreSQL 12+ 带pgvector扩展
  • Azure OpenAI 具有API访问权限的帐户
  • Git 用于版本控制

⚙️ 安装

  1. 📥 克隆仓库
git clone https://github.com/yourusername/movie-database-import.git
cd movie-database-import
  1. 📦 安装依赖项
pip install -r requirements.txt
  1. 🐘 使用pgvector设置PostgreSQL
# Install PostgreSQL (Ubuntu/Debian)
sudo apt-get install postgresql postgresql-contrib

# Install pgvector extension
sudo apt-get install postgresql-14-pgvector

# Create database
sudo -u postgres createdb movies_db
sudo -u postgres psql -d movies_db -c "CREATE EXTENSION vector;"
  1. 🔧 配置环境

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

# Database Configuration
DB_HOST=localhost
DB_PORT=5432
DB_NAME=movies_db
DB_USER=postgres
DB_PASSWORD=moviepassword

# Azure OpenAI Configuration
AZURE_OPENAI_API_KEY=your_api_key_here
AZURE_OPENAI_ENDPOINT=https://your-endpoint.openai.azure.com/
AZURE_OPENAI_DEPLOYMENT_NAME=text-embedding-ada-002
AZURE_OPENAI_API_VERSION=2023-05-15

# API Configuration
STRUCTURED_API_PORT=8000
RAG_API_PORT=8001

# Optional: Ollama Configuration (for local embeddings)
OLLAMA_URL=http://localhost:11434
OLLAMA_MODEL=llama3.2:3b
OLLAMA_EMBEDDING_MODEL=nomic-embed-text
  1. 📊 下载电影数据集

下载自 Kaggle的“电影数据集”:

  • movies_metadata.csv
  • credits.csv
  • keywords.csv

更新 db_config.json:

{
  "username": "postgres",
  "password": "moviepassword",
  "host": "localhost",
  "db_name": "movies_db",
  "batch_size": 50000
}

🎯 使用指南

1.📥 加载电影数据

# Load structured movie data into PostgreSQL
python loader.py /path/to/kaggle/movie/dataset

2.🚀 启动API服务

终端1-结构化查询API:

cd movie-mcp-system/src/core/api
python structured_server.py
# API available at http://localhost:8000

终端2-RAG语义API:

cd movie-mcp-system/src/core/api  
python rag_server.py
# API available at http://localhost:8001

3.🔄 矢量化绘图数据(一次性设置)

cd movie-mcp-system/data
python vectorize_plots.py

4.🎨 启动Web界面

cd movie-mcp-system/ui
streamlit run movie_ui.py

🌐 访问应用程序: http://localhost:8501

5.🎮 替代方案:使用主入口点

# Start all services
python main.py start

# Start only UI
python main.py start --ui-only

# Start only APIs  
python main.py start --apis-only

# Vectorize data
python main.py data --vectorize

# Run tests
python main.py test --type demo

🌐 api参考

📊 结构化查询API(localhost:8000)

端点方法描述示例
/queryPOST自然语言到SQL{"question": "Top 10 action movies by budget"}
/hybrid-queryPOST组合结构化+语义见混合搜索部分
/healthGET服务运行状况检查返回API状态

🧠 RAG语义API(localhost:8001)

端点方法描述示例
/rag-queryPOST语义图搜索{"query": "time travel movies"}
/vectorizePOST创建绘图嵌入{"csv_file_path": "plots.csv"}
/rag-statsGET矢量数据库统计返回嵌入计数
/healthGET服务运行状况检查返回API状态

🗄️ 数据库模式

📊 核心表

  • movies -主要电影数据(标题、预算、收入、评级、发布日期、概述)
  • persons -演员和导演信息
  • genres -电影类型分类
  • keywords -描述性标签和主题
  • languages -可用语言
  • production_companies -电影制片厂
  • countries -生产国
  • collections -电影系列/特许经营

🔗 关系表

  • actors -电影演员与演员关系
  • directors -电影导演关系
  • movies_genres -电影流派协会
  • movies_keywords -电影关键字关联
  • spoken_languages -电影语言协会
  • production_countries -电影国家协会

🧠 向量扩展

  • pg向量 1536维OpenAI嵌入的集成
  • 余弦相似度 语义图匹配搜索
  • 高效索引 用于快速相似性查询

💡 查询示例

📊 结构化查询

  • “票房收入最高的十部电影是什么?”
  • “查找2015-2020年评分高于3.5的科幻电影”
  • “哪些演员出现在最多的电影中?”

语义查询

  • “关于时间旅行和改变过去的电影”
  • “涉及人工智能和机器人的故事”
  • “叙述者不可靠的心理惊悚片”

混合查询

  • 类型:动作+情节:“善恶史诗般的战斗”+预算>1亿美元

贡献

  1. 复刻仓库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

致谢

  • Kaggle的“电影数据集”
  • PostgreSQL和pgvector社区
  • MCP框架开发人员
  • 精简团队,打造卓越的UI框架

目录标签

目录标签

数据分析Python搜索自然语言处理电影数据库本地部署语义搜索AI集成

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP