项目简介

ExamPrepAgent 是一个智能AI代理,旨在帮助学生准备各类考试,特别是Linux Foundation认证考试。它通过一个基于Model Context Protocol (MCP) 的服务器,结合大型语言模型 (LLM),提供互动式的学习体验,包括随机问题练习、语义搜索答案和引导式对话。

主要功能点

  • 智能问答: 提供随机练习题,帮助巩固知识点。
  • 知识搜索: 支持对知识库进行语义和关键词搜索,查找相关问题、答案和详细解释。
  • 互动学习: 通过引导式对话深入理解学习内容,提升学习效率。
  • 多模态支持: 结合语音输入(ASR)和语音输出(TTS)功能,提供更自然的交互体验。
  • 可扩展知识库: 可轻松加载和管理各种自定义的Q&A数据集。

安装步骤

  1. 克隆仓库: 打开终端,使用Git命令克隆项目到本地。
    git clone https://github.com/cardea-mcp/ExamPrepAgent.git
    cd ExamPrepAgent
  2. 安装依赖: 在项目根目录,安装所需的Python库。
    pip install fastmcp fastapi requests mysql-connector-python ffmpeg
  3. 配置环境变量:
    • 从 '.'env.example' 文件创建 '.env' 文件,例如复制为 '.env'。
    • 编辑 '.env' 文件,填写LLM服务API端点('BASE_URL')、API密钥('API_KEY')、系统Prompt('SYSTEM_PROMPT')等必要信息。
    • 如果需要语音功能,还需要配置ASR(语音识别)服务和TTS(文本转语音)服务的API端点和密钥。
    • 配置TiDB数据库的连接URL('TIDB_CONNECTION')和表名('TIDB_TABLE_NAME')。
  4. 设置问答数据库:
    • 进入 'dataset' 目录。
      cd dataset
    • 下载Q&A知识库CSV文件。例如,下载Kubernetes Q&A数据集,并将其保存为 'qa.csv'。
      curl -L -o qa.csv https://huggingface.co/datasets/ItshMoh/k8_qa_pairs/resolve/main/kubernetes_qa_output.csv
    • 返回项目根目录,运行脚本将CSV数据加载到数据库中。
      cd ..
      python csv_loader.py

服务器配置 (供MCP客户端连接)

ExamPrepAgent 的MCP服务器端点信息如下。如果您是MCP客户端的开发者或用户,可以使用这些配置信息来连接MCP服务器并获取其提供的工具和功能。

{
  "server_name": "Exam-Bot",
  "command": "python3",
  "args": ["main.py"],
  "host": "127.0.0.1",
  "port": 9096,
  "path": "/mcp",
  "transport": "http",
  "description": "ExamPrepAgent MCP服务器,提供智能问答和知识搜索工具,辅助LLM客户端进行考试备考学习。"
}
  • 'server_name': MCP服务器的识别名称。
  • 'command': 启动MCP服务器所使用的命令,通常是Python解释器。
  • 'args': 传递给启动命令的参数,这里是MCP服务器的主程序文件。
  • 'host': MCP服务器监听的IP地址,默认是本地回环地址。
  • 'port': MCP服务器监听的端口号。
  • 'path': MCP服务在HTTP协议下的具体路径。
  • 'transport': MCP服务器使用的传输协议类型。
  • 'description': MCP服务器提供的功能简介。

基本使用方法

  1. 启动MCP服务器: 在项目根目录,打开一个终端并运行以下命令。
    python3 main.py
  2. 启动聊天机器人应用: 打开另一个终端,在项目根目录运行以下命令以启动前端应用。
    python3 app.py
  3. 打开您的网络浏览器,访问 'http://127.0.0.1:8000' (或您在 '.env' 文件中配置的相应地址和端口),即可开始使用ExamPrepAgent聊天机器人进行考试备考。

信息

分类

AI与计算