Skip to content

zjsspaas/rag-nootebook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

🤖 智能问答系统构建:实训课程设计(RAG架构)

项目简介

本项目是基于RAG(Retrieval-Augmented Generation)架构的智能问答系统课程设计,包含完整的教学手册和代码示例,适用于计算机、软件工程、大数据、人工智能应用等专业的学生学习。

📚 课程结构

阶段1: 基础理论与环境准备 (4-6 学时)

阶段2: RAG 核心技术实战 (12-16 学时)

阶段3: 系统集成与优化 (8-10 学时)

阶段4: 部署与展示 (8 学时)

🚀 快速开始

环境要求

  • Python 3.8+
  • pip
  • (可选) GPU支持(用于模型推理)

安装依赖

# 安装全局依赖
cd 代码示例
pip install -r requirements.txt

运行示例

# 进入对应的示例目录
cd 代码示例/stage1_basics/1.1_principle

# 运行示例
python demo1_huggingface_api.py

📁 项目结构

RAG/
├── README.md                          # 项目说明(本文件)
├── 教学手册/                          # 教学手册目录
│   ├── README.md                      # 课程总览
│   ├── 阶段1-基础理论与环境准备/
│   ├── 阶段2-RAG核心技术实战/
│   ├── 阶段3-系统集成与优化/
│   └── 阶段4-部署与展示/
└── 代码示例/                          # 代码示例目录
    ├── README.md                      # 代码说明
    ├── requirements.txt               # 全局依赖
    ├── stage1_basics/                 # 阶段1代码
    ├── stage2_rag_core/               # 阶段2代码
    ├── stage3_integration/            # 阶段3代码
    └── stage4_deployment/             # 阶段4代码

📖 使用指南

学习路径

  1. 理论学习:按顺序阅读各阶段的教学手册
  2. 实践操作:运行对应阶段的代码示例
  3. 动手实验:完成每个模块的实训任务
  4. 项目实践:在最终项目中应用所学知识

推荐学习方式

  1. 循序渐进:按阶段顺序学习,每个阶段都有前置知识依赖
  2. 理论结合实践:边学边做,通过代码理解概念
  3. 动手实验:完成每个模块的实训任务,加深理解
  4. 项目导向:以最终项目为目标,系统整合所学知识

🛠️ 技术栈

核心框架

  • LangChain / LlamaIndex:RAG框架
  • Sentence Transformers:Embedding模型
  • ChromaDB / Milvus:向量数据库

开发工具

  • Python 3.8+:主要编程语言
  • Streamlit / Gradio:Web界面
  • Docker:容器化部署

深度学习

  • Hugging Face Transformers:模型调用
  • PyTorch:深度学习框架

📝 注意事项

  1. 模型下载:首次运行需要下载模型,可能需要一些时间
  2. 资源要求:某些示例需要GPU支持,请检查环境
  3. 依赖管理:建议使用虚拟环境管理依赖
  4. 数据准备:部分示例需要准备数据文件

🔧 常见问题

Q: 模型下载很慢怎么办? A: 可以使用镜像源或手动下载模型到本地。

Q: 内存不足怎么办? A: 使用更小的模型或启用CPU模式(速度较慢)。

Q: 如何选择GPU/CPU? A: 代码中会自动检测,也可以手动指定device参数。

Q: 依赖冲突怎么办? A: 建议使用虚拟环境,或根据具体模块安装对应依赖。

📚 扩展资源

官方文档

推荐阅读

  • RAG相关论文和实践案例
  • 提示工程最佳实践
  • 向量数据库性能优化

🎯 课程目标

通过本课程学习,学生将能够:

  1. ✅ 理解RAG架构的原理和应用
  2. ✅ 掌握数据准备和处理技能
  3. ✅ 学会向量化和检索技术
  4. ✅ 掌握LLM集成和提示工程
  5. ✅ 能够评估和优化RAG系统
  6. ✅ 具备部署RAG系统的能力
  7. ✅ 完成完整的RAG项目开发

📄 许可证

本课程材料仅用于教学目的。

👥 贡献

如有问题或建议,欢迎反馈。


祝学习愉快!🎉

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors