155 lines
3.2 KiB
Markdown
155 lines
3.2 KiB
Markdown
# 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 평가 결과를 자세히 확인할 수 있습니다.
|