์์ธ์ ๋๋ฌผ๋ณต์ง ์ ์ฑ ๋ฌธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉ์ ์ง๋ฌธ์ ๋ต๋ณํ๋ RAG ๊ธฐ๋ฐ ์ฑ๋ด์ ๋๋ค.
- PDF ๋ฌธ์๋ฅผ ์ฒญํฌ๋ก ๋ถํ ํ์ฌ ๋ฒกํฐ DB์ ์ ์ฅ
- ์ฌ์ฉ์ ์ง๋ฌธ์ ๋ํด ๊ด๋ จ ๋ฌธ์๋ฅผ ๊ฒ์ํ์ฌ Gemini LLM์ด ๋ต๋ณ ์์ฑ
- Streamlit ๊ธฐ๋ฐ ์น UI ์ ๊ณต
| ๋ถ๋ฅ | ๊ธฐ์ |
|---|---|
| Language | Python |
| RAG Framework | LangChain |
| Vector DB | ChromaDB |
| Embedding | Google text-embedding-004 |
| LLM | Google Gemini |
| UI | Streamlit |
โโโ data/ # ํ์ตํ PDF ๋ฌธ์
โโโ chroma_db/ # ๋ฒกํฐ DB ์ ์ฅ ๊ฒฝ๋ก (์๋ ์์ฑ)
โโโ ingest.py # [1๋จ๊ณ] ๋ฌธ์ ๋ก๋ ๋ฐ ๋ฒกํฐ DB ์ ์ฅ
โโโ main.py # [2๋จ๊ณ] CLI ๊ธฐ๋ฐ ์ฑ๋ด ์คํ
โโโ app.py # [2๋จ๊ณ] Streamlit ์น ์ฑ๋ด ์คํ
โโโ .env # API ํค ์ค์
pip install -r requirements.txt.env ํ์ผ ์์ฑ ํ API ํค ์
๋ ฅ: GOOGLE_API_KEY=your_api_key_here
python ingest.py์น UI (Streamlit)
streamlit run app.pyCLI
python main.pyPDF ๋ฌธ์ ๋ก๋ โ ์ฒญํฌ ๋ถํ (800์, overlap 100) โ ๋ฒกํฐ ์๋ฒ ๋ฉ โ ChromaDB ์ ์ฅ
โ
์ฌ์ฉ์ ์ง๋ฌธ โ ์ ์ฌ ๋ฌธ์ ๊ฒ์ (top 20) โ ํ๋กฌํํธ ๊ตฌ์ฑ โ Gemini ๋ต๋ณ ์์ฑ