Spaces:
Running
Running
| # Data Collection Spec | |
| ## ๊ฐ์ | |
| ์ด ํ๋ก์ ํธ๋ ๋ฉ๊ตฌ๋ฐ ์ฑ๋ด์ RAG ์์์ ๋ ๊ณ์ธต์ผ๋ก ๊ด๋ฆฌํ๋ค. | |
| - ์คํ์ผ/ํ๋ฅด์๋์ฉ ๋ฐ์ดํฐ | |
| - ์: `megumin_qa_dataset.json` | |
| - ์ฌ์ค/์ค์ ์ฉ ๋ฐ์ดํฐ | |
| - ์: `namuwiki_qa.json` | |
| ์ฌ์ค/์ค์ ์ฉ ๋ฐ์ดํฐ๋ ๋๋ฌด์ํค ๋ฌธ์๋ฅผ ์ ๋ณ ์์งํด QA JSON์ผ๋ก ๋ณํํ๊ณ , ์ดํ FAISS ์ธ๋ฑ์ค๋ก ๊ฒ์ํ๋ค. | |
| ## ์์ง ๋์ | |
| ๋๋ฌด์ํค ๋ฌธ์๋ ๋ณ์นญ์ผ๋ก ์ ๋ ฅํ ์ ์์ผ๋ฉฐ, ์ค์ ๊ฒ์ ์์๋ ์ ์ ๋ฌธ์๋ช ์ผ๋ก ๋ณํํ๋ค. | |
| ์: | |
| - `์นด์ฆ๋ง` -> `์ฌํ ์นด์ฆ๋ง` | |
| - `์์ฟ ์` -> `์์ฟ ์(์ด ๋ฉ์ง ์ธ๊ณ์ ์ถ๋ณต์!)` | |
| - `๋คํฌ๋์ค` -> `๋คํฌ๋์ค(์ด ๋ฉ์ง ์ธ๊ณ์ ์ถ๋ณต์!)` | |
| - `์ธ๊ณ๊ด` -> `์ด ๋ฉ์ง ์ธ๊ณ์ ์ถ๋ณต์!/์ค์ ` | |
| - `์ง์ญ` -> `์ด ๋ฉ์ง ์ธ๊ณ์ ์ถ๋ณต์!/์ง์ญ` | |
| ์ ์ฅ ์ `source.title`์ ์งง์ ํ์๋ช ์ผ๋ก ์ ๊ทํํ๋ค. | |
| ์: | |
| - `์ฌํ ์นด์ฆ๋ง` -> `์นด์ฆ๋ง` | |
| - `์์ฟ ์(์ด ๋ฉ์ง ์ธ๊ณ์ ์ถ๋ณต์!)` -> `์์ฟ ์` | |
| - `์ด ๋ฉ์ง ์ธ๊ณ์ ์ถ๋ณต์!/์ค์ ` -> `์ธ๊ณ๊ด` | |
| - `์ด ๋ฉ์ง ์ธ๊ณ์ ์ถ๋ณต์!/์ง์ญ` -> `์ธ๊ณ๊ด` | |
| ## ๋ณํ ๊ท์น | |
| - ์ถ๋ ฅ ํฌ๋งท์ QA JSON ์ ์ง | |
| - `question`์ ์ฌ์ฉ์ ์ง๋ฌธํ์ด ์๋๋ผ ๊ฒ์์ฉ ์์ ๋ชฉ ์์ฝ | |
| - `answer`๋ ์ค๋ฆฝ ์์ฝํ ๋ณธ๋ฌธ | |
| - ํ, ์ด๋ฏธ์ง, ๋ถํ์ํ ์ฅ์ ์์๋ ์ ์ธ | |
| - chunk ๊ธธ์ด๋ ์ฝ 200์ ๋ด์ธ | |
| - chunk overlap์ 1~2๋ฌธ์ฅ | |
| ## ์ ์ฅ ํ์ผ | |
| - `data/processed/namuwiki_qa.json` | |
| - ๋๋ฌด์ํค ๊ธฐ๋ฐ ํตํฉ QA ๋ฐ์ดํฐ | |
| - `data/processed/megumin_qa_dataset.json` | |
| - ๊ธฐ์กด ๋ฉ๊ตฌ๋ฐ ์คํ์ผ/ํ๋ฅด์๋ QA ๋ฐ์ดํฐ | |
| - `data/processed/megumin_questions.faiss` | |
| - ์คํ์ผ ๋ฐ์ดํฐ question ์ธ๋ฑ์ค | |
| - `data/processed/megumin_question_answer.faiss` | |
| - ์คํ์ผ ๋ฐ์ดํฐ question+answer ์ธ๋ฑ์ค | |
| - `data/processed/megumin_questions_meta.json` | |
| - ์คํ์ผ ๋ฐ์ดํฐ ์ธ๋ฑ์ค์ ์๋ฌธ ๋ ์ฝ๋ ๋งคํ | |
| - `data/processed/namuwiki_questions.faiss` | |
| - ๋๋ฌด์ํค ๋ฐ์ดํฐ question ์ธ๋ฑ์ค | |
| - `data/processed/namuwiki_question_answer.faiss` | |
| - ๋๋ฌด์ํค ๋ฐ์ดํฐ question+answer ์ธ๋ฑ์ค | |
| - `data/processed/namuwiki_questions_meta.json` | |
| - ๋๋ฌด์ํค ๋ฐ์ดํฐ ์ธ๋ฑ์ค์ ์๋ฌธ ๋ ์ฝ๋ ๋งคํ | |
| ## ๋ณํฉ ์ ์ฅ ๊ท์น | |
| `crawl_namuwiki_to_qa.py`๋ ์ถ๋ ฅ ํ์ผ์ด ์ด๋ฏธ ์กด์ฌํ๋ฉด ๊ธฐ์กด `items`์ ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณํฉํ๋ค. | |
| - ์ฐ์ ์ค๋ณต ๊ธฐ์ค: `chunk_id` | |
| - ๋ณด์กฐ ๊ธฐ์ค: `source.url + chunk_index + question` | |
| ๋ณํฉ ํ ์๋ณ์๋ ๋ค์ ๊ท์น์ผ๋ก ์ ๊ทํํ๋ค. | |
| - `chunk_id` | |
| - title๋ณ ์ฐ์ ๋ฒํธ ์ ์ง | |
| - ์: `๋ฉ๊ตฌ๋ฐ_0000`, `์นด์ฆ๋ง_0185` | |
| - `chunk_index` | |
| - ์ ์ฒด ํ์ผ ๊ธฐ์ค ์ฐ์ ๋ฒํธ | |
| - ์: `0`, `135`, `320` | |
| ## ๊ด๋ จ ์คํฌ๋ฆฝํธ | |
| - `scripts/crawl_namuwiki_to_qa.py` | |
| - ๋๋ฌด์ํค ๋ฌธ์๋ฅผ QA JSON์ผ๋ก ๋ณํ | |
| - `scripts/build_faiss_index.py` | |
| - ์คํ์ผ/๋๋ฌด์ํค ๋ฐ์ดํฐ ๊ฐ๊ฐ์ ๋ํด question ์ธ๋ฑ์ค์ question+answer ์ธ๋ฑ์ค๋ฅผ ์์ฑ | |
| - `scripts/expand_persona_from_namuwiki.py` | |
| - ์ฌ์ค/์ค์ QA๋ฅผ ๋ฉ๊ตฌ๋ฐ ์คํ์ผ QA ์ด์์ผ๋ก ํ์ฅ | |
| ## ์ด์ ๋ฉ๋ชจ | |
| - ๋๋ฌด์ํค ๊ธฐ๋ฐ ๋ฐ์ดํฐ๋ ์ฌ์ค/์ค์ ๋ณด๊ฐ์ฉ์ด๋ค. | |
| - ๊ธฐ์กด `megumin_qa_dataset.json`์ ๋ฉ๊ตฌ๋ฐ ๋งํฌ์ ๊ฐ์ ์ ์ ์ง์ ๋ ์ค์ํ๋ค. | |
| - ์ต์ข Agent๋ ๋ ๋ฐ์ดํฐ์์ ํจ๊ป ๊ฒ์ํด ์ฌ์ฉํ๋ค. | |