- ๋งํฌ๋ค์ด ํ์ผ์ ์ง์๋จ์๋ก ๋ถํดํ๊ณ ์ฐ๊ด๊ด๊ณ๋ฅผ ๊ทธ๋ํํ
- ์ฐ๊ด๊ด๊ณ์์ ์์์ ์ด ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ผ๋ฉด ์ฐ๋์, ๋์ฐฉ์ง๋ ์ด๋ก์
- pgvector ์ฝ์ฌ์ธ ์ ์ฌ๋๋ก topk๋ฅผ ๊ตฌํ ๋ค์
- ๋ฒกํฐ๋ด์ ์ด 0.7 ์ด์์ธ ๊ฒฝ์ฐ์๋ง ์ฐ๊ด์๋ ๊ฒ์ผ๋ก ํ๋จ
- ์น๊ฒ์์ ๊ท๋ฌด๊ฐ์ค์ด ์ฐธ์ด๋ผ๋ฉด ๋นจ๊ฐ ๋
ธ๋๋ก ์ถ๊ฐ์ฐ๊ฒฐ
- ๊ท๋ฌด๊ฐ์ค์ ์น๊ฒ์๊ฒฐ๊ณผ๋ณ ํ๋ฅด์๋์ ์ฃผ์ฅํ๋ ๋ด์ฉ์ ์ถ์ถ
- ์ ๋ฌธ๊ฐ๋ค ์ฐฌ/๋ฐ ์๊ฒฌ์ ๋ค์๊ฒฐ๋ก ์ฑํ/๊ธฐ๊ฐ
- ์ฑํํ๋ฉด ๋นจ๊ฐ ๋ ธ๋๋ฅผ ์ถ๊ฐ ์ฐ๊ฒฐํด์ค
๊ฐ์ํ๊ฒฝ๊ณผ ์์กด์ฑ์ ์ค์นํ๊ณ
python -m venv .venv
. .venvb/bin/activate
pip install -r requirements.txt
python/demo ํ์ด์ง๋ก ๋ค์ด๊ฐ์ ๋ฐ๋ก ๊ตฌ๋ํฉ๋๋ค!
streamlit run demo.py
M1 ๋งฅ๋ถ์์ด ๊ธฐ์ค์ผ๋ก ๋ก์ปฌ์์ ๊ตฌ๋ํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ๋๋ฆฝ๋๋ค.
๊ฐ์ํ๊ฒฝ๊ณผ ์์กด์ฑ์ ์ค์นํ๊ณ
python -m venv .venv
. .venvb/bin/activate
pip install -r requirements.txt
docker ํด๋๋ก ์ง์
ํด์ db์ dbadmin์ ๊ตฌ๋ํฉ๋๋ค.
docker์ด๋ฏธ์ง๊ฐ ์๋ค๋ฉด ๋น๋๋ถํฐ ํด์ค๋๋ค.
docker-compose build #๊ด๋ฆฌ์๊ถํ์ผ๋ก ์คํ
docker compose up
ํ์ํ ์์กด์ฑ์ ์ค์นํ๊ณ app.py์์ ์๋์ ๊ฐ์ด ๋ฃจํธ๊ฒฝ๋ก, ์ํ๋ง, ํ ์คํธ ๊ฐ์๋ฅผ ์กฐ์ ํฉ๋๋ค.
# ๋งํฌ๋ค์ด ํ์ผ์ด ์์นํ ๋ฃจํธ๊ฒฝ๋ก๋ฅผ ์
๋ ฅํฉ๋๋ค.
root_dir = '/Users/bachtaeyeong/20_DocHub/TIL'
# ํ์ผ์ ๋ฒํท ์ฌ์ด์ฆ๋งํผ ๋๋คํ๊ฒ ์ํ๋งํฉ๋๋ค
file_list = sample_file_list(file_list=file_list, bucket_size=10)
# ํ์ผ์ ์ ํด์ง ํ
์คํธ๊ฑด์๋งํผ๋ง ์ฒ๋ฆฌํฉ๋๋ค.
keyconcept_list = split_file_into_keyconcept(file_list=file_list[:10])
python ํด๋๋ก ์ด๋ํด์ app.py ํ์ผ์ ์คํํฉ๋๋ค.
ํ์ค์ถ๋ ฅ์ ๋ก๊ทธํ์ผ์ ์ ์ฅํ๊ณ , tqdm ํ๋ก๊ทธ๋ ์ค๋ฐ๋ง ํ์ํฉ๋๋ค.
wandb๋ฅผ ์ ์ฉํด๋ฌ์ app.py๋ง ์คํํด๋ ๋๊ธดํฉ๋๋ค.
python app.py > logs/$(date +%Y-%m-%d_%H:%M:%S).log
๋์ผํ๊ฒ python ํด๋์์ streamlit์ ์คํํฉ๋๋ค.
streamlit run view.py
๋ก์ปฌ์์ ๊ตฌ๋ํ ๋ฐ๋ชจ๋ฅผ ์ญ์ ํ ๋๋ ์ด๋ ๊ฒ ํฉ๋๋ค.
docker compose down #์์ฑํ ๋์ปค ์ปจํ
์ด๋๊ฐ ์ญ์ ๋จ
docker volume prune #๋์ปค ์ปจํ
์ด๋์ ํ ๋น๋์ง ์์ ๊ฐ์ ๋ณผ๋ฅจ์ ๋ชจ๋ ์ญ์