CLIP + FAISS ๊ธฐ๋ฐ ๋ก์ปฌ ์ด๋ฏธ์ง ๊ฒ์๊ธฐ
์ํ๋ ๋ฌธ์ฅ์ ์ ๋ ฅํ๋ฉด, ์ด๋ฏธ์ง ํด๋๋ฅผ ์ธ๋ฑ์ฑํด ๊ฐ์ฅ ์ ์ฌํ ์ด๋ฏธ์ง๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ์์ค๋๋ค.
Clifa๋ ๋ก์ปฌ ํ๊ฒฝ์์ ๋์ํ๋ ์๋งจํฑ ์ด๋ฏธ์ง ๊ฒ์ ๋ฐ์คํฌํฑ ์ฑ์
๋๋ค.
๋ค๊ตญ์ด CLIP ์๋ฒ ๋ฉ๊ณผ FAISS ๋ฒกํฐ ์ธ๋ฑ์ค๋ฅผ ๊ฒฐํฉํด, ํ์ผ๋ช
๊ธฐ๋ฐ ํ์๋ณด๋ค ๋น ๋ฅด๊ณ ์ ํํ๊ฒ ์ํ๋ ์ด๋ฏธ์ง๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
- ๋ฌธ์ : ์ด๋ฏธ์ง๊ฐ ๋ง์์ง์๋ก ํด๋/ํ์ผ๋ช ๊ธฐ๋ฐ ํ์์ ํจ์จ์ด ๊ธ๊ฒฉํ ๋จ์ด์ง
- ํด๊ฒฐ: ํ ์คํธ-์ด๋ฏธ์ง ์๋ฒ ๋ฉ ๊ฒ์์ผ๋ก "์ค๋ช ์ผ๋ก ์ฐพ๋" ์ํฌํ๋ก์ฐ ์ ๊ณต
- ํต์ฌ ๊ฐ์น: ๋ก์ปฌ ์ฒ๋ฆฌ ๊ธฐ๋ฐ ์๋/ํ๋ผ์ด๋ฒ์, ๋ค๊ตญ์ด ๊ฒ์, ์ค์ฌ์ฉ ์ค์ฌ UI/UX
-
๐ ์ด๋ฏธ์ง ํด๋ ์ธ๋ฑ์ฑ
- CLIP ์๋ฒ ๋ฉ + FAISS ์ธ๋ฑ์ค๋ฅผ ํ์ฉํ ๊ณ ์ ๊ฒ์
- ์ต์ด ์ ์ฒด ์ธ๋ฑ์ฑ ๋ฐ ๋ณ๊ฒฝ ๊ฐ์ง ๊ธฐ๋ฐ ์๋ ์ธ๋ฑ์ฑ ์ง์
- ์งํ ์ํฉ ํ์ (ํผ์ผํธ %, ํ์ฌ/์ ์ฒด ๊ฐ์)
- ์ธ๋ฑ์ฑ ์์ ์ค ์ทจ์ ๊ฐ๋ฅ
-
๐ ํ ์คํธ ๊ธฐ๋ฐ ์ด๋ฏธ์ง ๊ฒ์
- ์์ฐ์ด ์ฟผ๋ฆฌ๋ก ์ด๋ฏธ์ง ์ฐพ๊ธฐ (์:
"๋ฒค์น์ ์์์๋ ๊ฐ์์ง","a dog sitting on a bench") - 50๊ฐ ์ด์ ์ธ์ด ์ง์: ํ๊ตญ์ด, ์์ด, ์ผ๋ณธ์ด, ์ค๊ตญ์ด ๋ฑ ๋ค๊ตญ์ด ๊ฒ์ ๊ฐ๋ฅ
- Sentence-Transformers Multilingual CLIP ๋ชจ๋ธ ์ฌ์ฉ
- ๊ฒ์ ๊ฒฐ๊ณผ ์ธ๋ค์ผ + ํ์ผ๋ช ๊ทธ๋ฆฌ๋ ํ์
- ๋๋ธํด๋ฆญ ์ ์๋ณธ ์ด๋ฏธ์ง ์ด๊ธฐ
- ์์ฐ์ด ์ฟผ๋ฆฌ๋ก ์ด๋ฏธ์ง ์ฐพ๊ธฐ (์:
-
๐จ UI/UX
- PySide6 ๊ธฐ๋ฐ ํ๋ ์๋ฆฌ์ค GUI
- Windows 10+ Acrylic Blur ํจ๊ณผ ์ง์
- ์ฐํ๋จ ํ์ ์ฐฝ + ๋๋๊ทธ ์ด๋ ๊ฐ๋ฅ
- ์์คํ ํธ๋ ์ด ์์ด์ฝ (์ด๊ธฐ/์จ๊ธฐ๊ธฐ, ์ฆ์ ์ธ๋ฑ์ฑ, ์ข ๋ฃ)
-
โ๏ธ ์ค์ & ์์ ์ฑ
- ์ด๋ฏธ์ง ๋ฃจํธ ๋๋ ํ ๋ฆฌ ์ง์ (QSettings ์ ์ฅ)
- ์๋ชป๋ ๊ฒฝ๋ก๋ ์ด๋ฏธ์ง ์์ ๊ฐ์ง ์ ์๋ด
- ๋ก๊น
์ง์ (
LOCALAPPDATA\Clifa\logs)
C:\Users\[User]\AppData\Local\Clifa๊ฒฝ๋ก์ ํ์ด์ฌ ๊ฐ์ํ๊ฒฝ ๋ฐ ์์กด ํจํค์ง ์๋ ์ค์น๋ ํ ์๋ ์คํ
- ์ค์น/์ด๊ธฐํ ๋์ ์ฝ์ ์ฐฝ ๋์ ์์ ์ค์น ์ฐฝ(์คํ๋์)์ด ํ์๋ฉ๋๋ค.
- ๋จ๊ณ: 1) ๊ฐ์ํ๊ฒฝ ์์ฑ โ 2) ์ฑ ํ์ผ ์ค๋น โ 3) PyTorch ์ค์น(CUDA/CPU) โ 4) ๊ธฐํ ํจํค์ง โ 5) CLIP ๋ชจ๋ธ ๋ค์ด๋ก๋ โ 6) ์ฑ ์์
- CLIP ๋ชจ๋ธ ๋ค์ด๋ก๋: ์ค์น ๋จ๊ณ์์ ์ด๋ฏธ์ง ์ธ์ฝ๋(clip-ViT-B-32)์ ๋ค๊ตญ์ด ํ ์คํธ ์ธ์ฝ๋(clip-ViT-B-32-multilingual-v1)๋ฅผ ์๋์ผ๋ก ๋ค์ด๋ก๋ํฉ๋๋ค. ๋คํธ์ํฌ ์๋์ ๋ฐ๋ผ ์ ๋ถ ์์๋ ์ ์์ต๋๋ค.
- ์ค์น ์งํ ์ํฉ์ ์ฒดํฌ๋ฆฌ์คํธ(โณ โ ๐ โ โ )๋ก ์ค์๊ฐ ํ์๋๋ฉฐ, ๋ก๊ทธ๋ ํ์ผ๋ก๋ ์ ์ฅ๋ฉ๋๋ค.
- ์ค์น๊ฐ ๋๋๋ฉด ์ฑ์ด ํธ๋ ์ด๋ก ์ต์ํ๋ ์ ์์ต๋๋ค. ํธ๋ ์ด ์์ด์ฝ์ ๋๋ธํด๋ฆญํ๋ฉด ์ฐฝ์ด ์ด๋ฆฝ๋๋ค.
- Multilingual CLIP ๋ชจ๋ธ ์ฌ์ฉ: Sentence-Transformers์
clip-ViT-B-32-multilingual-v1๋ชจ๋ธ์ ํตํด 50๊ฐ ์ด์ ์ธ์ด๋ฅผ ๋ค์ดํฐ๋ธ ์ง์ํฉ๋๋ค. - ์ง์ ์ธ์ด: ํ๊ตญ์ด(ko), ์ผ๋ณธ์ด(ja), ์ค๊ตญ์ด(zh-cn, zh-tw), ์์ด(en), ๋ ์ผ์ด(de), ํ๋์ค์ด(fr), ์คํ์ธ์ด(es) ๋ฑ
- ๋ฒ์ญ ๋ถํ์: ๋ณ๋ ๋ฒ์ญ API ์์ด ํ๊ตญ์ด, ์ผ๋ณธ์ด ๋ฑ์ผ๋ก ๋ฐ๋ก ๊ฒ์ ๊ฐ๋ฅํฉ๋๋ค.
- ๋์ ๋ฐฉ์:
- ํ ์คํธ ์ฟผ๋ฆฌ๋ฅผ ๋ค๊ตญ์ด CLIP ์ธ์ฝ๋๋ก ์๋ฒ ๋ฉ ๋ณํ
- ์ด๋ฏธ์ง ์๋ฒ ๋ฉ๊ณผ์ ์ ์ฌ๋๋ฅผ FAISS๋ก ๊ณ ์ ๊ฒ์
- ๋ณ๋ ๋ฒ์ญ ๊ณผ์ ์์ด ์ ๋ ฅํ ์ธ์ด ๊ทธ๋๋ก ๊ฒ์
- ๋ฐ์ฒ ์ค์น ๋ก๊ทธ:
%LOCALAPPDATA%\Clifa\logs\launcher.log - ์ฑ ์คํ ๋ก๊ทธ:
%LOCALAPPDATA%\Clifa\logs\controller.log
- ์ค์น ํ ๋ฐ๋ก ๊บผ์ง๋ ๊ฒ์ฒ๋ผ ๋ณด์ผ ๋:
- ์ค์ ๋ก๋ ํธ๋ ์ด๋ก ์ต์ํ๋์์ ์ ์์ต๋๋ค. ํธ๋ ์ด ์์ด์ฝ์ ๋๋ธํด๋ฆญํด ์ด์ด๋ณด์ธ์.
- ์ ๋ก๊ทธ ํ์ผ(ํนํ
controller.log)์์ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ํ์ธํ์ธ์. - ๋คํธ์ํฌ ํ๊ฒฝ(ํ๋ก์/๋ฐฉํ๋ฒฝ)์์ ๋ชจ๋ธ ๋ค์ด๋ก๋๊ฐ ์ฐจ๋จ๋์ง ์์๋์ง ํ์ธํ์ธ์.
- ์ค์น ์ค๋จ ํ ์ฌ์คํ ์ ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ๋ค์ ์คํํ๋ฉด ๋ณต๊ตฌ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.
- ๋ฒ๊ทธ ์ ๋ณด, ๊ธฐ๋ฅ ์ ์์ Issues์์ ํด์ฃผ์ธ์.
- PR ํ์ํฉ๋๋ค! ๐