logo
0
0
WeChat Login
刘培江<liupj@datamargin.com>
增加相关文档

LangGraph 论文查询系统

项目概述

这是一个基于 LangGraph 和人工智能技术构建的论文查询系统,提供智能的论文检索、关键词提取和搜索策略推荐功能。系统采用前后端分离架构,前端负责用户交互,后端提供 AI 驱动的论文查询服务。

项目结构

langGraphDemo/ ├── blank/ # 后端服务主目录 ├── frontend/ # 前端应用目录 ├── mcp/ # 微服务组件 ├── start_all.sh # 启动所有服务的脚本 └── test_start_all.sh # 测试启动脚本

各模块职能

后端模块 (blank/)

blank/ ├── agent/ # 智能代理模块 │ ├── paper_query_agent.py # 论文查询代理实现 │ └── prompts/ # 提示模板目录 ├── ai/ # AI 核心模块 │ ├── llm.py # 大语言模型配置 │ └── workflow.py # AI 工作流定义 ├── api/ # API 接口模块 │ ├── models.py # 数据模型定义 │ └── routes.py # API 路由定义 ├── config.py # 配置文件 ├── main.py # 后端入口文件 ├── prompts/ # 系统提示目录 ├── requirements.txt # 依赖包列表 ├── services/ # 服务模块 │ └── mcp_client.py # MCP 服务客户端 ├── setup_env.py # 环境设置脚本 └── test_*.py # 各类测试文件

前端模块 (frontend/)

frontend/ ├── src/ # 源代码目录 │ ├── App.vue # 根组件 │ ├── main.ts # 入口文件 │ ├── router/ # 路由配置 │ ├── services/ # API 服务 │ ├── stores/ # 状态管理 │ ├── style.css # 全局样式 │ ├── views/ # 视图组件 │ │ └── PaperQueryView.vue # 论文查询视图 │ └── components/ # 通用组件 ├── index.html # 入口 HTML ├── package.json # 前端依赖 └── vite.config.ts # Vite 配置

微服务模块 (mcp/)

mcp/ ├── http_server.py # HTTP 服务器 ├── math_server.py # 数学服务 ├── quick_test.py # 快速测试 ├── requirements.txt # 依赖包列表 └── start_server.sh # 启动脚本

技术栈

后端技术

  • Python: 核心编程语言
  • FastAPI: 高性能 API 框架
  • LangGraph: 状态管理和工作流编排
  • LangChain: 大语言模型应用框架
  • Pydantic: 数据验证和模型定义
  • OpenAI API: 大语言模型服务
  • Uvicorn: ASGI 服务器

前端技术

  • Vue.js: 前端框架
  • TypeScript: 类型化 JavaScript
  • Vite: 构建工具
  • Markdown-it: Markdown 渲染库
  • DOMPurify: HTML 净化库
  • GitHub-markdown-css: GitHub 风格 Markdown 样式
  • Pinia: 状态管理
  • Vue Router: 路由管理

安装和运行

后端安装

  1. 进入后端目录
cd blank
  1. 创建并激活虚拟环境
python -m venv .venv source .venv/bin/activate # macOS/Linux
  1. 安装依赖
pip install -r requirements.txt
  1. 启动后端服务
python main.py

前端安装

  1. 进入前端目录
cd frontend
  1. 安装依赖
pnpm install
  1. 启动前端服务
pnpm dev

一键启动所有服务

./start_all.sh

功能特点

  • 智能论文查询与推荐
  • 关键词提取与分析
  • 搜索策略生成与优化
  • 响应式用户界面
  • Markdown 内容渲染

注意事项

  • 确保所有依赖包版本兼容
  • 配置正确的 API 密钥
  • 遵循项目结构组织代码