Skip to content

lwj-st/rag

Repository files navigation

🤖 RAG智能问答系统

一个简单的智能问答系统,可以上传PDF文档,然后问问题获得答案。

✨ 功能特点

  • 📚 智能问答: 上传PDF文档,问问题就能得到答案
  • 📁 文档上传: 支持PDF文件上传
  • 🌐 Web界面: 简单易用的网页界面
  • 🔌 API接口: 支持程序调用
  • 💻 无需GPU: 支持API模式,普通电脑就能用

🚀 快速开始

方式一:Web界面(推荐新手)

  1. 启动服务

    cd rag
    bash start_web.sh
  2. 打开浏览器 访问:http://localhost:8080

  3. 开始使用

    • 点击"文档上传",选择PDF文件
    • 点击"智能问答",输入问题即可

方式二:API模式(无需GPU)

  1. 编辑配置

    # 编辑 start_web_api_mode.sh
    API_TYPE="openai"  # 选择API类型
    export OPENAI_API_KEY="你的API密钥"
  2. 启动服务

    bash start_web_api_mode.sh
  3. 使用方式同上

📋 支持的API

API类型 适用场景 费用
OpenAI 通用问答 按使用量付费
通义千问 中文优化 按使用量付费
Azure 企业应用 按使用量付费
Claude 安全要求高 按使用量付费

🛠️ 环境要求

  • Python 3.8+
  • 普通电脑即可(API模式)
  • 有GPU更好(本地模式)

📁 项目结构

rag/
├── start_web.sh              # Web界面启动脚本
├── start_web_api_mode.sh     # API模式启动脚本
├── web_interface.py          # Web界面程序
├── api_server.py             # API接口程序
├── requirements.txt          # 依赖包列表
├── uploads/                  # 上传文件目录
└── chroma_db/               # 数据库目录

⚙️ 配置说明

本地模式(需要GPU)

# 编辑 start_web.sh
export LLM_MODEL_PATH="/path/to/your/model"

API模式(无需GPU)

# 编辑 start_web_api_mode.sh
API_TYPE="openai"  # 或 "qwen", "azure", "anthropic"
export OPENAI_API_KEY="your-api-key"

🎯 使用示例

1. 上传文档

  • 点击"文档上传"标签
  • 选择PDF文件
  • 等待上传完成

2. 开始问答

  • 点击"智能问答"标签
  • 输入问题,如:"这个文档的主要内容是什么?"
  • 点击发送,等待回答

3. 查看文件

  • 点击"文件管理"标签
  • 查看已上传的文档列表

🔧 常见问题

Q: 启动时提示"模型加载失败"

A: 检查模型路径是否正确,或切换到API模式

Q: 回答不准确怎么办?

A: 尝试重新上传文档,或调整问题描述

Q: 如何切换模型?

A: 编辑启动脚本中的 LLM_MODEL_PATHAPI_TYPE

Q: 支持哪些文件格式?

A: 目前只支持PDF格式

📞 技术支持

如果遇到问题:

  1. 检查Python环境是否正确
  2. 确认依赖包已安装:pip install -r requirements.txt
  3. 查看错误日志信息

🎉 开始使用

选择适合你的启动方式:

新手推荐: bash start_web.sh 无GPU用户: bash start_web_api_mode.sh


享受智能问答的乐趣! 🚀

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors