ํ์ถ๐ง์ ๊ณต์ ๊นํ๋ธ ๋ ํฌ์ ๋๋ค.
ํ์ถ๋ Langchain๐ฆ, Streamlit, Huggingface๐ค ๋ฑ์ผ๋ก ๊ตฌํ๋ RAG ์ถ์ฒ ์์คํ ์ ๋๋ค. ์ฌ๋ฆฌ๋ธ์์ ๋ฆฌ๋ทฐ๋ฅผ ํฌ๋กค๋งํด ๋ฒกํฐDB๋ฅผ ์์ฑํ๊ณ , ์ ์ ์ ์ง๋ฌธ๊ณผ ๊ฐ์ฅ ์ฐ๊ด์ฑ ๋์ ๋ฆฌ๋ทฐ๋ค์ ๋ฐํ์ผ๋ก ์ ์ ์ ๊ธฐํธ๋ฅผ ๋ฐ์ํ ํ์ฅํ์ ์ถ์ฒํด์ค๋๋ค.
ํ์ผ ๋ฐ ๋๋ ํ ๋ฆฌ ๋ชฉ๋ก
.
โโโ assets
โโโ chromedriver-win32
โโโ data
โโโ utils
โโโ README.md
โโโ crawling_one_json.py
โโโ main.py
โโโ rag.py
โโโ rag_local.py
โโโ requirements.txt
โโโ vectorstore.py
๊ฐ๋ฐ ํ๊ฒฝ
- Python 3.10.X
- Linux, NVIDIA A100 GPU x 2, cuDNN 11.8
Python venv ์์ฑ ํ,
pip install -r requirements.txt
- Huggingface API Token ๋ฐ๊ธ, ๊ฐ์ธ ๋ฉ๋ชจ, ๋ก์ปฌ ๊ธฐ๊ธฐ ๋ฑ์ ์ ์ฅ
utils/arguments.py
๋ดtoken
์ ๊ธฐ๋ณธ๊ฐ ์์ - Streamlit์ผ๋ก ์คํ:
streamlit run main.py --server.port <port number>
- ์ฑํ ์ฐฝ์ ์ํ๋ ํ์ฅํ ํน์ง ์ ๋ ฅ
Streamlit ํ๋ ์์ํฌ ์์ด, python ์คํ ํ์ผ๋ง์ผ๋ก ํ์ถ๋ฅผ ํ ์คํธํ๋ ๋ฐฉ๋ฒ์ ์๋ดํฉ๋๋ค.
- Huggingface API ์ด์ฉํ์ฌ ํ
์คํธ
python rag.py \ --token [API token] \ --model_id [huggingface model repo] \ # optional --top_k 10 \ # optional, default 5
- ๋ก์ปฌ์์ ๋ชจ๋ธ์ ๋ค์ด๋ก๋ ํ ํ
์คํธ (GPU ์ฌ์ฉ ๊ถ์ฅ)
python rag_local.py \ --token [API token] \ --model_id [huggingface model repo] \ # optional --top_k 10 \ # optional, default 5
- ๊น์์(ํ์ฅ): ๊ธฐํ, ๋ฐ์ดํฐ ํฌ๋กค๋ง
- ๊น๋ฏผ์(๊ธฐ์ ์ด๊ด): RAG ๊ตฌํ
- ์ค์ธ๋ฆผ: UI/UX, ๋ฐํ์๋ฃ
- ๊น์ฐ์ฃผ: ๊ธฐํ(์๋ฃ์กฐ์ฌ), ๊ฐ๋ฐ(ํ๋กฌํํธ ์์ง๋์ด๋ง), ๋ฐํ์๋ฃ
- ๊น๋ํฌ: ๊ฐ๋ฐ (ํ๋ก ํธ์๋)