Skip to content

Repository files navigation

Paper Search Assistant

项目简介

Paper Search Assistant 是一个基于三层架构的论文搜索助手,支持论文上传、切分、向量化存储以及基于大语言模型的智能问答功能。用户可以通过界面上传 PDF 文件,系统会自动解析内容并存储到向量数据库中,支持基于用户查询的相关内容检索和推荐。

项目架构

  • 界面层frontend

    使用 Vue 3 和 Element Plus 构建,提供用户友好的交互界面。

  • 业务层backend

    使用 FastAPI 构建,负责用户管理、论文管理和与算法层的交互。

  • 算法层backend_algo

    使用 FastAPI 构建,负责调用大语言模型、向量化处理和向量数据库的管理。

功能特性

  1. 用户管理

    • 用户注册、登录、登出。
    • 用户信息查询和管理。
  2. 论文管理

    • 支持上传 PDF 文件,自动解析内容。
    • 提供论文列表和详情查看功能。
  3. 智能问答

    • 基于用户输入的问题,检索相关论文内容。
    • 调用大语言模型生成回答,并推荐相关论文。
  4. 向量化存储

    • 使用向量数据库(ChromaDB)存储论文内容的向量表示。
    • 支持高效的向量检索。

环境准备

1. 安装依赖

  • 前端依赖

    cd frontend
    npm install
  • 业务层依赖

    cd backend
    pip install -r requirements.txt
  • 算法层依赖

    cd backend_algo
    pip install -r requirements.txt

2. 启动向量数据库

确保已安装 ChromaDB,运行以下命令启动向量数据库:

chroma run --path ./data_vector_db --host localhost --port 8002

启动项目

运行以下命令启动所有服务:

python start_all.py

服务启动后:

  • 前端服务运行在 http://localhost:5173
  • 业务层服务运行在 http://localhost:8000
  • 算法层服务运行在 http://localhost:8001

使用说明

1. 用户注册和登录

  • 打开前端页面,点击注册按钮填写用户信息完成注册。
  • 注册成功后,使用用户名和密码登录系统。

2. 上传论文

  • 登录后,进入论文列表页面,点击“上传论文”按钮。
  • 填写论文标题、作者、摘要,并上传 PDF 文件。
  • 系统会自动解析 PDF 内容并存储到向量数据库中。

3. 智能问答

  • 进入聊天页面,输入研究问题。
  • 系统会调用算法层检索相关论文内容,并生成回答。

4. 查看论文详情

  • 在论文列表页面,点击论文标题查看详情。
  • 支持在线预览 PDF 文件。

项目目录结构

mysql_fastapi_vue_sample_project/
├── backend/                # 业务层代码
│   ├── main.py             # FastAPI 主入口
│   ├── models.py           # 数据库模型
│   ├── crud.py             # 数据库操作
│   ├── schemas.py          # 数据模型
│   ├── database.py         # 数据库连接
│   ├── security.py         # 用户认证
│   ├── uploads/            # 上传的 PDF 文件存储目录
│   └── requirements.txt    # 依赖文件
├── backend_algo/           # 算法层代码
│   ├── main.py             # FastAPI 主入口
│   ├── schemas.py          # 数据模型
│   ├── test_embed.py       # 向量化测试代码
│   ├── test_rank.py        # 排序测试代码
│   ├── test_vector_db.py   # 向量数据库测试代码
│   └── requirements.txt    # 依赖文件
├── frontend/               # 前端代码
│   ├── src/                # Vue 3 源代码
│   ├── public/             # 静态资源
│   ├── vite.config.ts      # Vite 配置文件
│   └── package.json        # 前端依赖文件
├── start_all.py            # 启动脚本
└── README.md               # 项目说明文档

接口文档

  • 业务层http://localhost:8000/docs
  • 算法层http://localhost:8001/docs

许可证

本项目基于 MIT 许可证开源,详情请参阅 LICENSE 文件。

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages