Files
autorag_evaluation/README.md
2025-03-14 17:28:01 +09:00

155 lines
3.2 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을 활용하여 RAG 파이프라인을 설정하고 평가하는 과정에 대한 안내입니다.
---
## 📌 환경 세팅
1. `.env` 파일을 설정합니다. (`.env.sample` 참고)
2. Docker 이미지를 빌드합니다.
```bash
docker build -t autorag-base .
```
3. Docker Compose를 실행하여 서비스를 시작합니다.
```bash
docker compose up -d
```
4. Hugginface embedding, Ollama LLM을 위한 추가 모듈 설치를 시작합니다.
```bash
pip install -r requirements_custom.txt
```
---
## 📂 데이터 생성
RAG 평가를 위해 **QA 데이터 세트**와 **코퍼스 데이터 세트**가 필요합니다.
### 1⃣ 프로젝트 폴더 생성
```bash
cd projects
mkdir -p "project_name"
cd "project_name"
mkdir -p raw_data config
```
- **`raw_data/`**: 분석할 원본 데이터를 저장 (`.pdf` 등)
- **`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
```
여러 개의 청킹 모듈을 사용할 경우, QA 데이터와 매핑해야 합니다.
### 4⃣ QA 데이터 생성
`raw_data/`에 저장된 파일을 바탕으로 **파싱 → 청킹 → QA 데이터 생성**을 진행합니다.
QA 데이터는 `GPT-4o-mini` 모델을 사용하여 **20건**을 생성합니다.
```bash
cd autorag-workspace
sh making.sh
```
---
## 🔍 RAG Pipeline 평가
### 1⃣ Ollama 모델 다운로드
WSL(Windows Subsystem for Linux)에서 실행합니다.
```bash
docker exec -it autorag-ollama bash
ollama pull phi4
ollama list
```
### 2⃣ AutoRAG 평가 실행
```bash
cd Autorag-workspace
python main.py
```
### 3⃣ 평가 결과 확인
평가 결과는 프로젝트 폴더 내 `benchmark_*` 경로에 저장됩니다.
#### ✅ 전체 파이프라인 평가 결과
```bash
cd projects/프로젝트이름/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
```
> 📌 **참고:** `./projects/example_01` 폴더는 데이터 생성부터 평가까지 진행된 예제입니다.
---
## 📊 평가 대시보드 실행
```bash
cd Autorag-workspace
sh dashboard.sh
```
AutoRAG 평가 결과를 자세히 확인할 수 있습니다.