Fix Dockerfile build issue
This commit is contained in:
136
README.md
136
README.md
@@ -1,51 +1,68 @@
|
||||
# AutoRAG Evaluation
|
||||
# 📊 AutoRAG Evaluation
|
||||
|
||||
이 문서는 AutoRAG을 활용하여 RAG 파이프라인을 설정하고 평가하는 과정에 대한 안내입니다.
|
||||
AutoRAG Evaluation은 RAG(Relevance-Augmented Generation) 파이프라인을 평가하기 위한 도구입니다.
|
||||
이 문서는 데이터 생성부터 RAG 평가 및 대시보드 활용까지의 전체 과정에 대한 안내를 제공합니다.
|
||||
|
||||
---
|
||||
|
||||
## 📌 환경 세팅
|
||||
## **🚀 1. 환경 설정**
|
||||
|
||||
1. `.env` 파일을 설정합니다. (`.env.sample` 참고)
|
||||
2. Docker 이미지를 빌드합니다.
|
||||
### **1️⃣ `.env` 파일 설정**
|
||||
|
||||
`.env.sample` 파일을 참고하여 `.env` 파일을 생성하고 필요한 환경 변수를 설정합니다.
|
||||
|
||||
### **2️⃣ Docker 이미지 빌드**
|
||||
|
||||
```bash
|
||||
docker build -t autorag-base .
|
||||
docker build -t autorag-base .
|
||||
```
|
||||
|
||||
3. Docker Compose를 실행하여 서비스를 시작합니다.
|
||||
### **3️⃣ Docker Compose 백그라운드 실행**
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
4. Hugginface embedding, Ollama LLM을 위한 추가 모듈 설치를 시작합니다.
|
||||
### **4️⃣ 실행 모드 (Docker)**
|
||||
|
||||
AutoRAG Evaluation은 실행 모드에 따라 다르게 동작합니다.
|
||||
Docker 실행 시 아래 명령어를 사용하여 모드를 선택하세요.
|
||||
|
||||
```bash
|
||||
pip install -r requirements_custom.txt
|
||||
docker run autorag-base <mode>
|
||||
```
|
||||
|
||||
| 실행 모드 | 설명 |
|
||||
| ---------- | -------------------------------- |
|
||||
| `data-gen` | 데이터 생성 (`making.sh` 실행) |
|
||||
| `evaluate` | RAG 평가 (`main.py` 실행) |
|
||||
| `bash` | 컨테이너 내부 접근 (`/bin/bash`) |
|
||||
|
||||
예시:
|
||||
|
||||
```bash
|
||||
docker run autorag-base data-gen
|
||||
docker run autorag-base evaluate
|
||||
docker run autorag-base bash
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📂 데이터 생성
|
||||
## **📂 2. 데이터 생성**
|
||||
|
||||
RAG 평가를 위해 **QA 데이터 세트**와 **코퍼스 데이터 세트**가 필요합니다.
|
||||
|
||||
### 1️⃣ 프로젝트 폴더 생성
|
||||
### **1️⃣ 프로젝트 폴더 생성**
|
||||
|
||||
```bash
|
||||
cd projects
|
||||
mkdir -p "project_name"
|
||||
cd "project_name"
|
||||
mkdir -p raw_data config
|
||||
mkdir -p example_project/{raw_data,config}
|
||||
```
|
||||
|
||||
- **`raw_data/`**: 분석할 원본 데이터를 저장 (`.pdf` 등)
|
||||
- **`config/`**: 파싱(`parse.yaml`), 청킹(`chunk.yaml`) 설정 파일을 저장
|
||||
- **`raw_data/`**: 원본 데이터 저장 (`.pdf`, `.txt` 등)
|
||||
- **`config/`**: 설정 파일 저장 (`parse.yaml`, `chunk.yaml` 등)
|
||||
|
||||
### 2️⃣ 파싱 설정 (`parse.yaml`)
|
||||
|
||||
파싱 모듈을 설정합니다.
|
||||
### **2️⃣ 파싱 설정 (`parse.yaml`)**
|
||||
|
||||
```yaml
|
||||
modules:
|
||||
@@ -53,11 +70,7 @@ modules:
|
||||
parse_method: pdfminer
|
||||
```
|
||||
|
||||
여러 개의 파싱 모듈을 동시에 사용할 수도 있습니다.
|
||||
|
||||
### 3️⃣ 청킹 설정 (`chunk.yaml`)
|
||||
|
||||
청킹 모듈을 설정합니다.
|
||||
### **3️⃣ 청킹 설정 (`chunk.yaml`)**
|
||||
|
||||
```yaml
|
||||
modules:
|
||||
@@ -68,25 +81,21 @@ modules:
|
||||
add_file_name: en
|
||||
```
|
||||
|
||||
여러 개의 청킹 모듈을 사용할 경우, QA 데이터와 매핑해야 합니다.
|
||||
|
||||
### 4️⃣ QA 데이터 생성
|
||||
|
||||
`raw_data/`에 저장된 파일을 바탕으로 **파싱 → 청킹 → QA 데이터 생성**을 진행합니다.
|
||||
QA 데이터는 `GPT-4o-mini` 모델을 사용하여 **20건**을 생성합니다.
|
||||
### **4️⃣ QA 데이터 생성**
|
||||
|
||||
```bash
|
||||
cd autorag-workspace
|
||||
sh making.sh
|
||||
bash making.sh
|
||||
```
|
||||
|
||||
> **참고:** `GPT-4o-mini` 모델을 사용하여 자동으로 QA 데이터를 생성합니다. (기본 20건)
|
||||
|
||||
---
|
||||
|
||||
## 🔍 RAG Pipeline 평가
|
||||
## **🔍 3. RAG Pipeline 평가**
|
||||
|
||||
### 1️⃣ Ollama 모델 다운로드
|
||||
### **1️⃣ Ollama 모델 다운로드**
|
||||
|
||||
WSL(Windows Subsystem for Linux)에서 실행합니다.
|
||||
WSL(Windows Subsystem for Linux)에서 실행해야 합니다.
|
||||
|
||||
```bash
|
||||
docker exec -it autorag-ollama bash
|
||||
@@ -94,61 +103,32 @@ ollama pull phi4
|
||||
ollama list
|
||||
```
|
||||
|
||||
### 2️⃣ AutoRAG 평가 실행
|
||||
### **2️⃣ 평가 실행**
|
||||
|
||||
```bash
|
||||
cd Autorag-workspace
|
||||
python main.py
|
||||
```
|
||||
|
||||
### 3️⃣ 평가 결과 확인
|
||||
### **3️⃣ 평가 결과 확인**
|
||||
|
||||
평가 결과는 프로젝트 폴더 내 `benchmark_*` 경로에 저장됩니다.
|
||||
|
||||
#### ✅ 전체 파이프라인 평가 결과
|
||||
#### **✅ 전체 평가 결과**
|
||||
|
||||
```bash
|
||||
cd projects/프로젝트이름/benchmark_{*}/*/
|
||||
summary.csv
|
||||
cd projects/example_project/benchmark_*/summary.csv
|
||||
```
|
||||
|
||||
#### ✅ 세부 평가 결과
|
||||
#### **✅ 세부 평가 결과**
|
||||
|
||||
- **검색기 노드 라인 평가 결과**
|
||||
```bash
|
||||
cd ./retrieve_node_line
|
||||
summary.csv
|
||||
```
|
||||
- **검색 노드 평가 결과**
|
||||
```bash
|
||||
cd ./retrieve_node_line/retrival
|
||||
summary.csv
|
||||
```
|
||||
- **리랭커 노드 평가 결과**
|
||||
```bash
|
||||
cd ./retrieve_node_line/passage_reranker
|
||||
summary.csv
|
||||
```
|
||||
- **생성기 노드 라인 평가 결과**
|
||||
```bash
|
||||
cd ./post_retrieve_node_line
|
||||
summary.csv
|
||||
```
|
||||
- **생성 노드 평가 결과**
|
||||
```bash
|
||||
cd ./post_retrieve_node_line/generator
|
||||
summary.csv
|
||||
```
|
||||
| 평가 항목 | 파일 경로 |
|
||||
| ------------------------- | --------------------------------------------------- |
|
||||
| **검색기 노드 라인 평가** | `./retrieve_node_line/summary.csv` |
|
||||
| **검색 노드 평가** | `./retrieve_node_line/retrieval/summary.csv` |
|
||||
| **리랭커 노드 평가** | `./retrieve_node_line/passage_reranker/summary.csv` |
|
||||
| **생성기 노드 라인 평가** | `./post_retrieve_node_line/summary.csv` |
|
||||
| **생성 노드 평가** | `./post_retrieve_node_line/generator/summary.csv` |
|
||||
|
||||
> 📌 **참고:** `./projects/example_01` 폴더는 데이터 생성부터 평가까지 진행된 예제입니다.
|
||||
> 📌 `./projects/example_01` 폴더에는 데이터 생성부터 평가까지 진행된 예제 파일이 포함되어 있습니다.
|
||||
|
||||
---
|
||||
|
||||
## 📊 평가 대시보드 실행
|
||||
|
||||
```bash
|
||||
cd Autorag-workspace
|
||||
sh dashboard.sh
|
||||
```
|
||||
|
||||
AutoRAG 평가 결과를 자세히 확인할 수 있습니다.
|
||||
|
||||
Reference in New Issue
Block a user