RAG(Retrieval-Augmented Generation) κΈ°λ°μ BOAZ FAQ μ±λ΄μ λλ€. μ§μμλ€μ΄ μμ£Ό 묻λ μ§λ¬Έμ λν΄ μ ννκ³ λμ μΈ μλ΅μ μ 곡ν©λλ€.
BOAZ 리ν¬λ£¨ν κΈ°κ°λ§λ€ λ°λ³΅λλ FAQ μλ΅μ μλννκ³ μ, ν¬λ‘€λ§ + λ²‘ν° κ²μ + μμ±ν λͺ¨λΈμ κ²°ν©ν μ±λ΄μ ꡬμΆν©λλ€.
μ¬μ©μμ μ§λ¬Έμ μλ―Έ κΈ°λ°μΌλ‘ 벑ν°ννμ¬ κ΄λ ¨ λ¬Έμλ₯Ό κ²μνκ³ , κ·Έ λ¬Έμλ₯Ό κΈ°λ°μΌλ‘ μμ°μ€λ¬μ΄ λ¬Έμ₯μ μμ±νμ¬ μλ΅ν©λλ€.
- BOAZ 곡μ ννμ΄μ§μ μ±λ΄ λ°°ν¬
- μ§μμμ λ€μν μ§λ¬Έμ μ ννκ² λμ
- νμ κΈ°μμμλ μ μ§λ³΄μ κ°λ₯ν ꡬ쑰 μ€κ³
κ²½μ¬μ Β· κΉμμ² Β· μκ΄μ° Β· μ μλ¦°
# 1. .env νμΌμ Pineconeκ³Ό Gemini API ν€ μ
λ ₯
# μμ (.env)
# PINECONE_API_KEY=your_pinecone_key
# GEMINI_API_KEY=your_gemini_key# 2. κ°μνκ²½ μμ±
python -m venv venv# 3. κ°μνκ²½ νμ±ν (Windows κΈ°μ€)
source venv/Scripts/activate# 4. ν¨ν€μ§ μ€μΉ
pip install -r requirements.txt# 5. 벑ν°μ€ν μ΄ μμ±
python vectorstore/dense_uploader.py
python vectorstore/sparse_uploader.py# 6. Streamlit μ± μ€ν
streamlit run app.pyboaz_rag/
βββ app.py # Streamlit UI μ€ν
βββ chain.py # Gemini LLM λ° QA μ²΄μΈ μ μ
βββ config.py # μ μ μ€μ (λͺ¨λΈλͺ
, indexλͺ
λ±)
βββ preprocess.py # PDF/CSV λ¬Έμ λ‘λ© λ° μ²νΉ
βββ retriever/ # λ²‘ν° κ²μκΈ° μ μ
β βββ dense_retriever.py # SBERT κΈ°λ°
β βββ sparse_retriever.py # BM25 κΈ°λ°
β βββ factory.py # μ€μ κΈ°λ° retriever μ ν
βββ vectorstore/ # μΈλ±μ€ μ
λ‘λ μ€ν¬λ¦½νΈ
β βββ dense_uploader.py
β βββ sparse_uploader.py
βββ data/ # μλ³Έ λ¬Έμ μ μ₯ ν΄λ
βββ data_with_meta/ # μ²ν¬ + λ§€ν JSON μ μ₯μ
β βββ id_to_text_dense.json
βββ .env # νκ²½ λ³μ μ€μ
βββ requirements.txt # ν¨ν€μ§ λͺ©λ‘