135 lines
3.5 KiB
Markdown
135 lines
3.5 KiB
Markdown
# 📊 AutoRAG Evaluation
|
||
|
||
AutoRAG Evaluation은 RAG(Relevance-Augmented Generation) 파이프라인을 평가하기 위한 도구입니다.
|
||
이 문서는 데이터 생성부터 RAG 평가 및 대시보드 활용까지의 전체 과정에 대한 안내를 제공합니다.
|
||
|
||
---
|
||
|
||
## **🚀 1. 환경 설정**
|
||
|
||
### **1️⃣ `.env` 파일 설정**
|
||
|
||
`.env.sample` 파일을 참고하여 `.env` 파일을 생성하고 필요한 환경 변수를 설정합니다.
|
||
|
||
### **2️⃣ Docker 이미지 빌드**
|
||
|
||
```bash
|
||
docker build -t autorag-base .
|
||
```
|
||
|
||
### **3️⃣ Docker Compose 백그라운드 실행**
|
||
|
||
```bash
|
||
docker compose up -d
|
||
```
|
||
|
||
### **4️⃣ 실행 모드 (Docker)**
|
||
|
||
AutoRAG Evaluation은 실행 모드에 따라 다르게 동작합니다.
|
||
Docker 실행 시 아래 명령어를 사용하여 모드를 선택하세요.
|
||
|
||
```bash
|
||
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️⃣ 프로젝트 폴더 생성**
|
||
|
||
```bash
|
||
cd projects
|
||
mkdir -p example_project/{raw_data,config}
|
||
```
|
||
|
||
- **`raw_data/`**: 원본 데이터 저장 (`.pdf`, `.txt` 등)
|
||
- **`config/`**: 설정 파일 저장 (`parse.yaml`, `chunk.yaml` 등)
|
||
|
||
### **2️⃣ 파싱 설정 (`parse.yaml`)**
|
||
|
||
```yaml
|
||
modules:
|
||
- module_type: langchain_parse
|
||
parse_method: pdfminer
|
||
```
|
||
|
||
### **3️⃣ 청킹 설정 (`chunk.yaml`)**
|
||
|
||
```yaml
|
||
modules:
|
||
- module_type: llama_index_chunk
|
||
chunk_method: Token
|
||
chunk_size: 1024
|
||
chunk_overlap: 24
|
||
add_file_name: en
|
||
```
|
||
|
||
### **4️⃣ QA 데이터 생성**
|
||
|
||
```bash
|
||
bash making.sh
|
||
```
|
||
|
||
> **참고:** `GPT-4o-mini` 모델을 사용하여 자동으로 QA 데이터를 생성합니다. (기본 20건)
|
||
|
||
---
|
||
|
||
## **🔍 3. RAG Pipeline 평가**
|
||
|
||
### **1️⃣ Ollama 모델 다운로드**
|
||
|
||
WSL(Windows Subsystem for Linux)에서 실행해야 합니다.
|
||
|
||
```bash
|
||
docker exec -it autorag-ollama bash
|
||
ollama pull phi4
|
||
ollama list
|
||
```
|
||
|
||
### **2️⃣ 평가 실행**
|
||
|
||
```bash
|
||
python main.py
|
||
```
|
||
|
||
### **3️⃣ 평가 결과 확인**
|
||
|
||
평가 결과는 프로젝트 폴더 내 `benchmark_*` 경로에 저장됩니다.
|
||
|
||
#### **✅ 전체 평가 결과**
|
||
|
||
```bash
|
||
cd projects/example_project/benchmark_*/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` 폴더에는 데이터 생성부터 평가까지 진행된 예제 파일이 포함되어 있습니다.
|
||
|
||
---
|