- ๋ก์ปฌ ํ๊ฒฝ์์ RAG ์ต์ ๊ธฐ๋ฅ ์ค์ตํด๋ณด๊ธฐ ์ํ ํ๋ก์ ํธ
- ๋ฌธ์ โ ๊ฒ์ โ LLM์๊ฒ ์ง๋ฌธํ์ฌ ๋ต๋ณ ๋ฐ์๋ณด๊ธฐ
- Python 3.10.14
- LangChain
- ๋ฒกํฐ ๊ฒ์ ์์ง (๋ฒกํฐ ๊ฒ์ ์ค์ต์ฉ): FAISS
- ๋ฒกํฐ์คํ ์ด: Qdrant
- ์๋ฒ ๋ฉ ๋ชจ๋ธ: Hugging Face BAAI/bge-m3
- LLM: Ollama + Llama3
Python ์ค์น ํ
- ๊ฐ์ํ๊ฒฝ ์์ฑ ๋ฐ ํ์ฑํ
python -m venv .venv
# Mac / Linux
source .venv/bin/activate
# Windows
.venv\Scripts\activate
- ํ์ ํจํค์ง ์ค์น
pip install \
langchain \
langchain-community \
langchain-ollama \
langchain-qdrant \
ollama \
faiss-cpu \
qdrant-client \
sentence-transformers \
python-dotenv
https://ollama.com ์ฌ์ดํธ์์ OS๋ณ ์ฑ ์ค์น
์ค์น ํ ์ํ๋ ๋ชจ๋ธ ์ค์น
| ๋ชจ๋ธ | ์ด์ |
|---|---|
llama3korean8B4QKM |
ํ๊ตญ์ด ๊ฐํ bilingual ๋ชจ๋ธ |
llama3:8b |
๊ธฐ๋ณธ ์ฑ๋ฅ ์ข๊ณ ์์ ์ |
qwen2.5:7b |
ํ๊ธ ์ง๋ฌธ์ ์๋์ ์ผ๋ก ๊ฐํจ |
deepseek-r1:8b |
ํ๊ตญ์ด ํฌํจ ๋ค๊ตญ์ด ๊ณ ์ฑ๋ฅ ์ฒ๋ฆฌ |
์ํ๋ ๋ชจ๋ธ ์ค์น
> ollama run llama3
๋ชจ๋ธ ์ค์น ๋๋๋ฉด ์ค์น ํ์ธ
- Qdrant ๋ก์ปฌ Docker ์ค์น ๋ฐ ์คํ
๋์ปค ์ค์น ํ Qdrant ์ด๋ฏธ์ง Pull & Run
mkdir -p qdrant_storage
docker run -d --name qdrant \
-p 6333:6333 -p 6334:6334 \
-v "$(pwd)/qdrant_storage:/qdrant/storage" \
qdrant/qdrant
1) ingest.py
data/raw ๊ฒฝ๋ก์ ๋ค์ด์๋ ๋ฌธ์ ๋ด์ฉ์ผ๋ก ๋ฒกํฐ DB ์์ฑ
python src/main/ingest.py
localhost:6333/dashboard ์์ ์ปฌ๋ ์
์ด ์ ์์ฑ๋์๋์ง ํ์ธ
2) qa.py
์์ฑ๋ ๋ฒกํฐ DB์์ ์ฌ์ฉ์์๊ฒ ๋ฐ์ ์ง๋ฌธ ๋ด์ฉ์ ๊ฒ์ํ์ฌ ํด๋น ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ต๋ณ ์์ฑ
python src/main/qa.py
์คํ ์์



