Files
autorag_evaluation/README.md
2025-03-18 16:41:12 +09:00

135 lines
3.5 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 📊 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` 폴더에는 데이터 생성부터 평가까지 진행된 예제 파일이 포함되어 있습니다.
---