课程材料问答系统

一个基于检索增强生成(RAG)的系统,用于通过语义搜索和AI生成回答关于课程材料的问题。

  • by jimmy-setiadi
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 jimmy-setiadi/rag-chatbot

使用说明

教材RAG系统

一个检索增强生成(RAG)系统,旨在使用语义搜索和人工智能支持的回答来回答有关课程材料的问题。

概述

此应用程序是一个全栈web应用程序,使用户能够查询课程材料并接收智能、上下文感知的响应。它使用ChromaDB进行矢量存储,使用Anthropic的Claude进行AI生成,并提供了一个用于交互的web界面。

先决条件

  • Python 3.13或更高版本
  • uv(Python包管理器)
  • 人类API密钥(用于Claude AI)
  • Node.js(用于MCP Playwright服务器)
  • 对于Windows:使用Git Bash运行应用程序命令- 下载适用于Windows的Git

安装

  1. 安装uv (如果尚未安装)

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. 安装Python依赖项

    uv sync
    
  3. 设置环境变量

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

    ANTHROPIC_API_KEY=your_anthropic_api_key_here
    

运行应用程序

快速开始

使用提供的shell脚本:

chmod +x run.sh
./run.sh

手动启动

cd backend
uv run uvicorn app:app --reload --port 8000

该应用程序将在以下网址提供:

  • Web界面: http://localhost:8000
  • API文件: http://localhost:8000/docs

MCP编剧服务器

该项目包括一个使用Playwright实现浏览器自动化的MCP(模型上下文协议)服务器。

快速启动MCP服务器

# Direct npx command
npx @modelcontextprotocol/server-playwright

# Or using npm
npm install
npm run mcp

# Or using provided scripts
# Windows: start-mcp-playwright.bat
# Unix/Linux: ./start-mcp-playwright.sh

看 README-MCP.md 了解详细的MCP服务器文档。

特性

  • RAG系统:使用ChromaDB和Claude AI进行语义搜索
  • 可点击的源链接:课程视频的直接链接
  • 会话管理:对话历史和背景
  • 新聊天功能:清晰的对话,重新开始
  • MCP集成:浏览器自动化功能
  • 模拟服务器:在没有API信用的情况下进行测试
  • GitHub集成:使用Amazon Q进行自动代码审查