๐ ๊ฒ์ ์ฆ๊ฐ ์์ฑ (RAG)
๋ง์ฝ Ollama๋ฅผ ์ฌ์ฉ ์ค์ด๋ผ๋ฉด, ๊ธฐ๋ณธ์ ์ผ๋ก 2048 ํ ํฐ ์ปจํ ์คํธ ๊ธธ์ด๋ก ์ค์ ๋์ด ์๋ค๋ ์ ์ ์ฃผ์ํ์ธ์. ์ด๋ก ์ธํด ๊ฒ์๋ ๋ฐ์ดํฐ๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ์ปจํ ์คํธ ์ฐฝ ๋ด์ ๋ง์ง ์์ ์ ํ ์ฌ์ฉ๋์ง ์์ ์ ์์ต๋๋ค. ๊ฒ์ ์ฆ๊ฐ ์์ฑ (RAG) ์ฑ๋ฅ์ ํฅ์์ํค๋ ค๋ฉด Ollama ๋ชจ๋ธ ์ค์ ์์ ์ปจํ ์คํธ ๊ธธ์ด๋ฅผ 8192+ ํ ํฐ์ผ๋ก ๋๋ฆฌ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๊ฒ์ ์ฆ๊ฐ ์์ฑ (RAG)์ ๋ค์ํ ์์ค์ ์ปจํ ์คํธ๋ฅผ ํตํฉํจ์ผ๋ก์จ ์ฑ๋ด์ ๋ํ ๊ธฐ๋ฅ์ ํฅ์์ํค๋ ์ฒจ๋จ ๊ธฐ์ ์ ๋๋ค. ๋ก์ปฌ ๋ฐ ์๊ฒฉ ๋ฌธ์, ์น ์ฝํ ์ธ , ์ฌ์ง์ด YouTube ๋น๋์ค์ ๊ฐ์ ๋ฉํฐ๋ฏธ๋์ด ์์ค์์ ๊ด๋ จ ์ ๋ณด๋ฅผ ๊ฒ์ํ์ฌ ์ด๋ฅผ ๋ฏธ๋ฆฌ ์ ์๋ RAG ํ ํ๋ฆฟ๊ณผ ๊ฒฐํฉํ๊ณ ์ฌ์ฉ์์ ํ๋กฌํํธ์ ์ถ๊ฐํ์ฌ ๋ณด๋ค ์ ์ตํ๊ณ ๋งฅ๋ฝ์ ์ธ ์๋ต์ ์ ๊ณตํฉ๋๋ค.
RAG์ ์ฃผ์ ์ฅ์ ์ค ํ๋๋ ๋ค์ํ ์์ค์์ ์ ๋ณด๋ฅผ ์ ๊ทผํ๊ณ ํตํฉํ ์ ์๋ ๋ฅ๋ ฅ์ผ๋ก, ๋ณต์กํ ๋ํ ์๋๋ฆฌ์ค์ ์ด์์ ์ธ ์๋ฃจ์ ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฌ์ฉ์๊ฐ ํน์ ๋ฌธ์๋ ์นํ์ด์ง์ ๊ด๋ จ๋ ์ง๋ฌธ์ ํ ๊ฒฝ์ฐ, RAG๋ ํด๋น ์์ค์์ ๊ด๋ จ ์ ๋ณด๋ฅผ ๊ฒ์ํ์ฌ ๋ํ ์๋ต์ ํตํฉํ ์ ์์ต๋๋ค. RAG๋ YouTube ๋น๋์ค์ ๊ฐ์ ๋ฉํฐ๋ฏธ๋์ด ์์ค์์๋ ์ ๋ณด๋ฅผ ๊ฒ์ํ๊ณ ํตํฉํ ์ ์์ต๋๋ค. ์ด๋ฌ ํ ๋น๋์ค์ ๋๋ณธ์ด๋ ์บก์ ์ ๋ถ์ํ์ฌ ๊ด๋ จ ์ ๋ณด๋ฅผ ์ถ์ถํ๊ณ ์ด๋ฅผ ๋ํ ์๋ต์ ํตํฉํ ์ ์์ต๋๋ค.
๋ก์ปฌ ๋ฐ ์๊ฒฉ RAG ํตํฉโ
๋ก์ปฌ ๋ฌธ์๋ ๋จผ์ ์์
๊ณต๊ฐ ์์ญ์ ๋ฌธ์ ์น์
์ ํตํด ์
๋ก๋๋์ด์ผ ํ๋ฉฐ, ์ฟผ๋ฆฌ ์ #
๊ธฐํธ๋ฅผ ์ฌ์ฉํด ์ก์ธ์คํ ์ ์์ต๋๋ค. ์ฑํ
์์ ์์ ๋ํ๋๋ ํ์ํ๋ URL์ ํด๋ฆญํ์ธ์. ์ ํํ๋ฉด Send a message
์์ ๋ฌธ์ ์์ด์ฝ์ด ๋ํ๋๋ฉฐ ์ฑ๊ณต์ ์ผ๋ก ๊ฒ์๋์์์ ํ์ํฉ๋๋ค.
#
๋ก ์์ํ๊ณ URL์ ๋ฐ๋ฅธ ํ๋กฌํํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์๋ฅผ ์์
๊ณต๊ฐ ์์ญ์ ์ง์ ๋ก๋ํ ์๋ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ์น ์ฝํ
์ธ ๋ฅผ ๋ํ์ ์ง์ ํตํฉํ ์ ์์ต๋๋ค.
RAG๋ฅผ ์ํ ์น ๊ฒ์โ
์น ์ฝํ
์ธ ํตํฉ์ ์ํด ๋ํ์ #
๋ก ์์ํ๊ณ ๋์ URL์ ๋ฐ๋ฅธ ์ฟผ๋ฆฌ๋ฅผ ์์ํ์ธ์. ์ฑํ
์์ ์์ ๋ํ๋๋ ํ์ํ๋ URL์ ํด๋ฆญํ์ธ์. ์ ํํ๋ฉด Send a message
์์ ๋ฌธ์ ์์ด์ฝ์ด ๋ํ๋๋ฉฐ ์ฑ๊ณต์ ์ผ๋ก ๊ฒ์๋์์์ ํ์ํฉ๋๋ค. Open WebUI๋ ๊ฐ๋ฅํ๋ค๋ฉด URL์ ์ ๋ณด๋ฅผ ๊ฒ์ํ๊ณ ๊ตฌ๋ฌธ์ ๋ถ์ํฉ๋๋ค.
์น ํ์ด์ง๋ ๋ค๋น๊ฒ์ด์ ๋ฐ ํธํฐ์ ๊ฐ์ ์ถ๊ฐ ์ ๋ณด๋ฅผ ํฌํจํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋ ๋์ ๊ฒฐ๊ณผ๋ฅผ ์ํด ํ์ด์ง์ ์๋ณธ ๋๋ ๋ ์ ์นํ์ ์ธ ๋ฒ์ ์ ๋งํฌํ์ธ์.
RAG ํ ํ๋ฆฟ ์ฌ์ฉ์ ์ง์ โ
๊ด๋ฆฌ์ ํจ๋
> ์ค์
> ๋ฌธ์
๋ฉ๋ด์์ RAG ํ
ํ๋ฆฟ์ ์ฌ์ฉ์ ์ง์ ํ์ธ์.
RAG ์๋ฒ ๋ฉ ์ง์โ
๊ด๋ฆฌ์ ํจ๋
> ์ค์
> ๋ฌธ์
๋ฉ๋ด์์ RAG ์๋ฒ ๋ฉ ๋ชจ๋ธ์ ์ง์ ๋ณ๊ฒฝํ์ธ์. ์ด ๊ธฐ๋ฅ์ Ollama ๋ฐ OpenAI ๋ชจ๋ธ์ ์ง์ํ๋ฉฐ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ๋ฌธ์ ์ฒ๋ฆฌ๋ฅผ ํฅ์์ํต๋๋ค.
RAG ๊ธฐ๋ฅ ๋ด ์ธ์ฉโ
RAG ๊ธฐ๋ฅ์ ์ฌ์ฉ์๊ฐ LLM์ ์ ๊ณต๋ ๋ฌธ์์ ์ปจํ ์คํธ๋ฅผ ์ถ์ ํ ์ ์๋๋ก ์ถ๊ฐ๋ ์ธ์ฉ์ ํตํด ์ฐธ์กฐ ํฌ์ธํธ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ธ๋ถ ์์ค๋ฅผ ๋ํ์ ์ฌ์ฉํ๋ ๋ฐ ์์ด ํฌ๋ช ์ฑ๊ณผ ์ ๋ขฐ์ฑ์ ๋ณด์ฅํฉ๋๋ค.
ํฅ์๋ RAG ํ์ดํ๋ผ์ธโ
RAG ์๋ฒ ๋ฉ ๊ธฐ๋ฅ์ ์ํ ํ์ด๋ธ๋ฆฌ๋ ๊ฒ์ ์๋ธ-๊ธฐ๋ฅ์ BM25
๋ฅผ ํตํด RAG ๊ธฐ๋ฅ์ ํฅ์์ํค๋ฉฐ CrossEncoder
๋ฅผ ํ์ฉํ ์์ ์ฌ์กฐ์ ๋ฐ ์ค์ ๊ฐ๋ฅํ ๊ด๋ จ์ฑ ์ ์ ์๊ณ๊ฐ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ํตํด ํน์ ์ฌ์ฉ ์ฌ๋ก์ ๋ง๋ ๋ ์ ํํ๊ณ ๋ง์ถคํ๋ RAG ๊ฒฝํ์ ์ ๊ณตํฉ๋๋ค.
YouTube RAG ํ์ดํ๋ผ์ธโ
๋น๋์ค URL์ ํตํด YouTube ๋น๋์ค๋ฅผ ์์ฝํ๋ ์ ์ฉ RAG ํ์ดํ๋ผ์ธ์ ๋น๋์ค transcription๊ณผ์ ์ํํ ์ํธ์์ฉ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ์ด ํ์ ์ ์ธ ๊ธฐ๋ฅ์ ๋น๋์ค ์ฝํ ์ธ ๋ฅผ ๋ํ์ ํตํฉํ์ฌ ๋ํ ๊ฒฝํ์ ๋์ฑ ํ๋ถํ๊ฒ ํฉ๋๋ค.
๋ฌธ์ ํ์ฑโ
๋ก์ปฌ ๋ฐ ์๊ฒฉ ๋ฌธ์์์ ์ฝํ
์ธ ๋ฅผ ์ถ์ถํ๊ธฐ ์ํ ๋ค์ํ ํ์๊ฐ ์์ต๋๋ค. ๋ ์์ธํ ๋ด์ฉ์ get_loader
๊ธฐ๋ฅ์ ์ฐธ์กฐํ์ธ์.
Google Drive ํตํฉโ
Google Picker API์ Google Drive API๊ฐ ํ์ฑํ๋ Google Cloud ํ๋ก์ ํธ์ ์์ ์ด๋ฃจ๋ ๊ฒฝ์ฐ, ์ด ๊ธฐ๋ฅ์ ํตํด ์ฌ์ฉ์๋ ์ฑํ
์ธํฐํ์ด์ค์์ ์ง์ Drive ํ์ผ์ ์ก์ธ์คํ๊ณ ๋ฌธ์, ์ฌ๋ผ์ด๋, ์คํ๋ ๋์ํธ ๋ฑ์ ์
๋ก๋ํ์ฌ ๋ํ์ ์ปจํ
์คํธ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ด๋ฆฌ์ ํจ๋
> ์ค์
> ๋ฌธ์
๋ฉ๋ด์์ ํ์ฑํํ ์ ์์ต๋๋ค. ์ฌ์ฉํ๋ ค๋ฉด GOOGLE_DRIVE_API_KEY
๋ฐ GOOGLE_DRIVE_CLIENT_ID
ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํด์ผ ํฉ๋๋ค.
์์ธ ์ง์นจโ
- OAuth 2.0 ํด๋ผ์ด์ธํธ๋ฅผ ์์ฑํ๊ณ ์ธ์ฆ๋ JavaScript ์ถ์ฒ ๋ฐ ์ธ์ฆ๋ ๋ฆฌ๋๋ ์ URI๋ฅผ Open-WebUI ์ธ์คํด์ค์ ์ก์ธ์คํ๋ URL (ํฌํธ๋ฅผ ํฌํจํ ๊ฒฝ์ฐ ํจ๊ป)๋ก ์ค์ ํ์ธ์.
- ํด๋น OAuth ํด๋ผ์ด์ธํธ์ ๊ด๋ จ๋ ํด๋ผ์ด์ธํธ ID๋ฅผ ๊ธฐ๋กํด ๋์ธ์.
- ํ๋ก์ ํธ์์ Google Drive API์ Google Picker API๋ฅผ ๋ชจ๋ ํ์ฑํํ๋์ง ํ์ธํ์ธ์.
- ๋ํ ์ฑ(ํ๋ก์ ํธ)์ ํ ์คํธ ๋ชจ๋๋ก ์ค์ ํ๊ณ Google Drive ์ด๋ฉ์ผ์ ์ฌ์ฉ์ ๋ชฉ๋ก์ ์ถ๊ฐํ์ธ์.
- ๊ถํ ๋ฒ์๋ฅผ ํด๋น API๊ฐ ์ ๊ณตํ๋ ๋ชจ๋ ๊ฒ์ ํฌํจํ๋๋ก ์ค์ ํ์ธ์. ์ฑ์ด ํ ์คํธ ๋ชจ๋์ผ ๊ฒฝ์ฐ Google์ ์ ํ๋ ํ ์คํธ ์ฌ์ฉ์์ ๋ฐ์ดํฐ๋ฅผ ์ก์ธ์คํ ์ ์๋๋ก ์ฑ์ ๊ฒ์ฆํ ํ์๊ฐ ์์ต๋๋ค.
- Google Picker API ํ์ด์ง๋ก ์ด๋ํ์ฌ
์๊ฒฉ ์ฆ๋ช ์์ฑ
๋ฒํผ์ ํด๋ฆญํ์ธ์. - API ํค๋ฅผ ์์ฑํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์์ ์น์ฌ์ดํธ๋ฅผ ์ ํํ์ธ์. ๊ทธ๋ฐ ๋ค์ 1๋จ๊ณ์์ Authorized JavaScript origins ๋ฐ Authorized redirect URIs ์ค์ ์ ์ ๋ ฅํ Open-WebUI ์ธ์คํด์ค์ URL์ ์ถ๊ฐํ์ธ์.
- API ํค์ ๋ํด Google Drive API ๋ฐ Google Picker API์๋ง ์ ๊ทผ ๊ถํ์ ์ค์ ํ์ธ์.
- ํ๊ฒฝ ๋ณ์
GOOGLE_DRIVE_CLIENT_ID
๋ฅผ 2๋จ๊ณ์์ ์์ฑํ OAuth ํด๋ผ์ด์ธํธ์ ํด๋ผ์ด์ธํธ ID๋ก ์ค์ ํ์ธ์. - ํ๊ฒฝ ๋ณ์
GOOGLE_DRIVE_API_KEY
๋ฅผ 7๋จ๊ณ์์ ์ค์ ํ API ํค ๊ฐ์ผ๋ก ์ค์ ํ์ธ์ (2๋จ๊ณ์์ ์์ฑํ OAuth ํด๋ผ์ด์ธํธ ์ํฌ๋ฆฟ์ ์๋). GOOGLE_REDIRECT_URI
๋ฅผ ๋ด Open-WebUI ์ธ์คํด์ค์ URL๋ก ์ค์ ํ์ธ์ (ํฌํธ๊ฐ ์์ ๊ฒฝ์ฐ ํฌํจ).- ๊ทธ ํ, ํด๋น ํ๊ฒฝ ๋ณ์๋ฅผ ํฌํจํ์ฌ Open-WebUI ์ธ์คํด์ค๋ฅผ ๋ค์ ์์ํ์ธ์.
- ๊ทธ๋ฐ ๋ค์,
Admin Panel
<Settings
<Documents
<Google Drive
์์ Google Drive๊ฐ ํ์ฑํ๋์๋์ง ํ์ธํ์ธ์.