开源项目CAG安装与配置指南
1. 项目基础介绍
Cache-Augmented Generation(CAG)是一个开源项目,旨在提出一种简化和高效的知识增强生成方法,作为Retrieval-Augmented Generation(RAG)的替代。CAG通过预先加载所有相关资源到模型上下文中并缓存运行时参数,来避免实时检索步骤,从而降低延迟、提高可靠性,并简化系统设计。该项目的主要编程语言是Python。
2. 关键技术和框架
- 大型语言模型(LLM): CAG利用现代大型语言模型的扩展上下文窗口功能。
- 预加载和缓存: 通过预加载资源和缓存模型参数,减少实时检索的需要。
- BERT分数: 使用BERTscore来评估文本相似性。
- 环境配置: 使用.env文件来管理环境变量。
- Docker: 支持Docker容器化,便于部署和运行。
3. 安装和配置准备工作
在开始安装前,请确保您的系统中已安装以下环境和工具:
- Python 3.x
- pip(Python包管理器)
- Docker(可选,用于容器化)
详细安装步骤
步骤1:克隆项目仓库
首先,您需要从GitHub上克隆项目仓库到本地环境:
git clone https://github.com/hhhuang/CAG.git
cd CAG
步骤2:安装依赖
使用pip安装项目所需的Python包:
pip install -r requirements.txt
步骤3:准备数据集
项目依赖于squad和hotpotqa数据集,您需要下载这些数据集:
sh downloads.sh
步骤4:配置环境变量
创建一个.env文件,并填入必要的环境变量:
cp .env.template .env
编辑.env文件,根据需要添加或更新环境变量。
步骤5:运行示例脚本
运行以下任意脚本来执行CAG或RAG实验:
# 运行CAG实验
python kvcache.py --kvcache file --dataset squad-train --similarity bertscore --maxKnowledge 5 --maxParagraph 100 --maxQuestion 1000 --modelname "meta-llama/Llama-3.1-8B-Instruct" --randomSeed 0 --output "./result_kvcache.txt"
# 或者运行RAG实验
python rag.py --index bm25 --dataset hotpotqa-train --similarity bertscore --maxKnowledge 80 --maxParagraph 100 --maxQuestion 80 --topk 3 --modelname "meta-llama/Llama-3.1-8B-Instruct" --randomSeed 0 --output "./rag_results.txt"
步骤6:使用Docker(可选)
如果使用Docker,首先构建项目镜像:
docker build -t my-cag-app .
然后运行Docker容器:
对于GPU用户:
docker run --gpus all -it --rm my-cag-app
对于CPU用户:
docker run -it --rm my-cag-app
确保.env文件中的环境变量在构建镜像之前已经填充完毕。
以上步骤将引导您完成CAG项目的安装和配置。遵循这份指南,即便是编程新手也能够顺利地开始使用这个项目。