Skip to content

unclevicky/RAGSingleChat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RAGSingleChat 项目说明

项目概述

RAGSingleChat 是一个基于检索增强生成(Retrieval Augmented Generation, RAG)技术的聊天系统。该系统结合了文档检索和大语言模型,能够根据用户提供的问题,从本地文档中检索相关信息并生成回答。系统包含前端界面和后端逻辑,支持流式响应,提升用户交互体验。

项目结构

RAGSingleChat/
├── app.py                  # 命令行运行的主程序
├── chatbot/
│   ├── __init__.py
│   ├── rag_chatbot.py      # RAG 聊天机器人核心逻辑
├── config.json             # 配置文件,包含模型和嵌入的配置信息
├── data/                   # 存放用于检索的文档数据
│   ├── 信贷业务手册.md
│   └── ...
├── frontend/
│   ├── app.py              # 前端 Flask 应用程序
│   └── templates/
│       └── chat.html       # 聊天界面 HTML 文件
├── utils/
│   ├── data_loader.py      # 文档加载工具
│   ├── embedding.py        # 嵌入生成工具
│   └── text_splitter.py    # 文本分割工具
└── vectorstore/            # 存储向量数据库
    ├── index.faiss
    └── index.pkl

安装部署

环境准备

确保你的系统已经安装了 Python 3.10+ 版本。建议使用虚拟环境来管理项目依赖,以避免与其他项目的依赖冲突。

步骤

  1. 克隆项目 如果你还没有将项目克隆到本地,可以使用以下命令:
git clone <项目仓库地址>
cd RAGSingleChat
  1. 创建并激活虚拟环境
python -m venv venv
source venv/bin/activate  # Linux/macOS
venv\Scripts\activate      # Windows
  1. 安装依赖
pip install -r requirements.txt
  1. 配置模型和嵌入config.json 文件中配置你的模型和嵌入信息。确保 model_nameembedding_model 字段正确设置。
{
    "llm": {
        "default": "your_default_llm",
        "models": {
            "your_default_llm": {
                "apikey": "your_api_key",
                "model": "your_model_name",
                "url": "your_api_url",
                "model_kwargs": {
                    "temperature": 0.7,
                    "max_length": 512
                }
            }
        }
    },
    "embedding": {
        "default": "your_default_embedding",
        "models": {
            "your_default_embedding": {
                "model": "your_embedding_model_name"
            }
        }
    }
}
  1. 加载文档 将需要检索的知识库源文档放入 data/ 目录下。 第一次运行,系统会自动加载文档并生成向量数据库。后续直接使用即可,不再重复加载。 一定要先放入data目录下,再开始聊天,否则直接聊天会报错。找不到知识库。

运行项目

  1. 【测试用】启动后端服务,在命令行中进行测试 在激活虚拟环境后,使用以下命令启动命令行版本的聊天系统:
python app.py

【正式用】在激活虚拟环境后,使用以下命令启动命令行版本的聊天系统:

python app.py
  1. 【正式用】启动lask服务 在激活虚拟环境后,使用以下命令启动 Flask 前端:
python frontend/app.py
  1. 【正式用】通过浏览器访问并使用 打开浏览器,访问 URL_ADDRESS打开浏览器,访问 http://localhost:5000` 即可访问聊天界面。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors