项目简介

RT-Capstone是一个先进的智能作业评分系统,旨在通过AI驱动的分析为学生作业提供全面评估。它支持数学、西班牙语、英语、科学和历史等多学科批改,具备多语言支持、多格式文件处理(PDF、DOCX、TXT、图像等)、OCR集成、智能编排和企业级安全保护。本仓库实现了MCP服务端,通过标准化的JSON-RPC协议提供上下文信息和功能,方便LLM客户端集成。

主要功能点

  • 资源托管与管理: 提供如作业元数据等上下文资源。
  • 工具注册与执行: 暴露30多种工具,包括语法检查、抄袭检测、内容关联性分析、多语言评分、作业摘要生成,以及针对数学、西班牙语、科学、历史等学科的专业分析工具。
  • Prompt模板定义: 支持可定制的Prompt模板,以适应不同的LLM交互模式。
  • 文件处理: 支持PDF(含OCR扫描件)、DOCX、DOC、MD、TXT和多种图像格式的文件内容提取与校验。
  • 智能分析: 自动识别作业主题和难度,并路由到相应的专业处理器进行评分与反馈。
  • 安全防护: 内置Prompt注入保护、输入验证、输出过滤等企业级安全功能。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/felixchess5/RT-Capstone.git
    cd RT-Capstone
  2. 创建并激活虚拟环境:
    python -m venv venv
    source venv/bin/activate  # Windows 用户请运行: .\venv\Scripts\activate
  3. 安装依赖:
    pip install -r requirements.txt
    # 安装MCP依赖 (必需)
    pip install 'mcp[cli]'
    # 安装额外的专业处理依赖 (可选,用于增强特定学科处理能力)
    pip install sympy spacy langdetect
    # 安装西班牙语SpaCy模型 (可选,用于增强西班牙语处理)
    python -m spacy download es_core_news_sm
  4. 安装Tesseract OCR: (用于处理扫描文档和图像文件,请根据您的操作系统选择安装方式)
    • macOS: 'brew install tesseract'
    • Ubuntu/Debian: 'sudo apt-get install tesseract-ocr'
    • Windows: 请从Tesseract GitHub Wiki下载并安装对应的Tesseract OCR发行版。
  5. 配置API密钥: 复制项目根目录下的 '.env.example' 文件为 '.env'。然后编辑 '.env' 文件,填入您的AI服务API密钥。至少需要一个Groq API密钥,Gemini API密钥是可选的,用于LLM冗余。
    GROQ_API_KEY=your_groq_api_key_here
    GEMINI_API_KEY=your_gemini_api_key_here # 可选的,用于LLM冗余
    LANGCHAIN_TRACING_V2=true              # 可选的,用于LangSmith追踪
    LANGCHAIN_API_KEY=your_langsmith_api_key # 如果开启LangSmith追踪,需要此密钥
    LANGCHAIN_PROJECT=Assignment Grader

服务器配置 (MCP客户端使用)

MCP客户端需要以下JSON格式的配置信息才能连接此MCP服务器。请注意,'command' 和 'args' 字段是实际的执行命令和参数,它们告诉MCP客户端如何启动服务器进程。

{
  "server_name": "assignment-grader",
  "command": "python",
  "args": [
    "src/main_agentic.py",
    "mcp"
  ],
  "description": "智能作业评分系统的MCP服务端,提供多学科评分、文件处理和安全工具。",
  "transport": "stdio"
}

参数注释:

  • 'server_name': MCP服务器的唯一标识符,用于客户端识别。
  • 'command': 用于启动MCP服务器进程的可执行文件或脚本的命令(例如:'python')。
  • 'args': 传递给 'command' 的参数列表。在此配置中,'src/main_agentic.py' 是MCP服务器的入口脚本,而 'mcp' 参数指示该脚本以MCP服务器模式运行。
  • 'description': 服务器功能的简要描述,供客户端用户参考。
  • 'transport': 服务器与客户端通信所使用的传输协议,'stdio' 表示通过标准输入输出进行通信,是MCP协议支持的一种常见传输方式。

基本使用方法

  1. 启动MCP服务器: 在项目根目录下,激活您创建的虚拟环境后运行以下命令:
    python src/main_agentic.py mcp
    服务器将启动并开始监听通过JSON-RPC协议发送的MCP客户端请求。
  2. (可选)作为代理式工作流处理文件: 如果您想以非MCP服务器模式,直接利用其强大的代理式AI工作流处理本地文件,可以将作业文件放入 'Assignments/' 文件夹(支持PDF、DOCX、DOC、MD、TXT、图像格式),然后运行:
    python src/main_agentic.py agentic
    系统将使用先进的代理式AI工作流自动处理这些文件,生成详细的评分报告和反馈。

信息

分类

AI与计算