๐ฌ ์ฅ๊ณ ๋ก ๋ง๋๋ RAG ์น ์ฑํ ์๋น์คยถ
AI ์๋์ ๋ฐ์ดํฐ๋ ๋ชจ๋ ์๋น์ค์ ํต์ฌ ์์ฐ์ ๋๋ค.
์ด ํํ ๋ฆฌ์ผ์ ํ์ด์ฌ/์ฅ๊ณ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฌ๋ถ์ ๋ฐ์ดํฐ๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ์ ์ฅํ๊ณ , ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๋ฉฐ, RAG(Retrieval-Augmented Generation) ๊ธฐ์ ์ ํตํด AI ์๋น์ค์ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๊ฒ ๋ฉ๋๋ค. ์ฅ๊ณ ์ ๊ฐ๋ ฅํ ORM๊ณผ ์น ํ๋ ์์ํฌ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ๋ฐ์ดํฐ ๊ด๋ฆฌ์ ์์ฐ์ฑ์ ๋์ด๊ณ , LLM์ ์ ์ฌ๋ ฅ์ ์ต๋ํ ํ์ฉํ ์น ์ฑํ ์๋น์ค๋ฅผ ํจ๊ป ๋ง๋ค์ด๋ด ์๋ค! ๐
๋ฌผ๋ก LangChain/LangGraph ์ฝ๋์๋ ์ฅ๊ณ ๋ชจ๋ธ์ ๋ฃ์ด์ ์ฌ์ฉํ์ค ์ ์์ด์.
ํํ ๋ฆฌ์ผ ๋ชฉ์
ํ์ด์ฌ/์ฅ๊ณ ๊ธฐ๋ฐ์ผ๋ก ์์ฌ์ด ๋ฌธ์/์๋ฒ ๋ฉ ๊ด๋ฆฌ + ์ฝ๊ณ ๊ฐ๊ฒฐํ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌํ
ํ์ด์ฌ/์ฅ๊ณ ์ ํจ๊ป ์ฌ๋ฌ๋ถ์ ๋ฐ์ดํฐ/๋๊ตฌ๋ฅผ ์ง์ ๊ด๋ฆฌ/๊ฐ๋ฐํ์ธ์. ;-)
RAG #02. ์ค์ : ์ธ๋ฒ RAG๋ฅผ ์ํ pgvector ์๋ฒ ๋ฉ ํํ ๋ฆฌ์ผ์์ ๋ค๋ค๋ ๋ด์ฉ์ ๋ณด์ํด์, โํ์ด์ฌ ๋ฌธ๋ฒ์ด ์ต์ํ ์น/LLM ์ด๋ณด ๊ฐ๋ฐ์โ ๋์์ผ๋ก ์ฌ๊ตฌ์ฑํ์ต๋๋ค.
django-pyhub-rag
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฐ๋ฐ/ํ์ฉํ์ฌ ํ์ด์ฌ/์ฅ๊ณ ์ค์ฌ์ผ๋ก ์์ฐ์ฑ ๋์ RAG ์น ์ฑํ
์๋น์ค๋ฅผ ๊ตฌํํฉ๋๋ค.
์ฅ๊ณ ๋ชจ๋ธ์ ํ์ฉํ ์๋ฒ ๋ฉ ์์ฑ/์ ์ฅ ๋ฐ ์ ์ฌ๋ ๊ฒ์ (์ฝ์ฌ์ธ ๊ฑฐ๋ฆฌ)
SQLite/PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฐ์ ๋ชจ๋ธ ์ฝ๋๋ก ์ง์
๋ชจ๋ธ ํด๋์ค ์์ ๋ง์ผ๋ก ๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ ์์ฑ
์ฑํ ๋ฐฉ ๊ธฐ๋ณธ ํ๋ฉด ๊ตฌ์ฑ (์์ฑ/๋ชฉ๋ก, ์ฑํ )
HTMX๋ฅผ ํ์ฉํ ์ฑํ UI ๊ตฌํ
LLM ์ฑํ ์ RAG ๋ถ์ด๊ธฐ
์ต์ข ๊ฒฐ๊ณผ ํ๋ฉด ๋ฏธ๋ฆฌ๋ณด๊ธฐ

์ค์๊ธฐ ์ ์ยถ
ํธ์ฆ์จ๋ฉยถ
๐ ์ฅ๊ณ ํ๋ก์ ํธ ์์ฑ ๋ฐ ํ๊ฒฝ๋ณ์ OPENAI_API_KEY ์ค์
๐โโ๏ธ ์ธ๋ฒ ํด์๋ก ๋ฌธ์ ์ ์ฅ ๋ฐ ์ ์ฌ ๋ฌธ์ ๊ฒ์
๐ HTML Form๊ณผ ์ฅ๊ณ Form์ ํ์ฉํ ์ฑํ ๋ฉ์์ง ์ ์ก ๋ฐ ์๋ต
๋ถ๋ก
๋ชฉ์ฐจ
- ๐ฅณ ํธ์ฆ์จ๋ฉ์ ์ค์๊ธฐ ์ ์ ๋ฏธ๋ฆฌ ํ์ธํด์ฃผ์ธ์.
- ๐จโ๐ป ํธ์ฆ์จ๋ฉ ์๊ฐ. ์ค์ตํ๊ฒฝ ํ์ธ
- ๐ ์ฅ๊ณ ํ๋ก์ ํธ ์์ฑ ๋ฐ ํ๊ฒฝ๋ณ์
OPENAI_API_KEY
์ค์ - ๐ช ์ฅ๊ณ ๋ฌธ์ ๋ชจ๋ธ ์์ฑ ๋ฐ ๋ง์ด๊ทธ๋ ์ด์
- ๐โโ๏ธ ์ธ๋ฒ ํด์๋ก ๋ฌธ์ ์ ์ฅ ๋ฐ ์ ์ฌ ๋ฌธ์ ๊ฒ์
- ๐ ๋ฌธ์ ๊ฒ์ ํ์ด์ง
- ๐ ๋ช ๋ นํ RAG ์ฑํ ๊ตฌํ
- ๐ฌ ์ฑํ ๋ฐฉ/๋ฉ์์ง ๋ชจ๋ธ ๋ฐ ๊ธฐ๋ณธ ํ์ด์ง ๊ตฌ์ฑ
- ๐ HTML Form๊ณผ ์ฅ๊ณ Form์ ํ์ฉํ ์ฑํ ๋ฉ์์ง ์ ์ก ๋ฐ ์๋ต
- โฃ๏ธ HTMX๋ฅผ ํตํด JS์์ด ๋ชจ๋ ์น ์ฑํ UI
- ๐ LLM ์ฑํ ์ RAG ๋ผ์น๊ธฐ
- ๋ง์น๋ฉฐ
- ๋ถ๋ก #1. ๋ํ ํ์ ์คํ์ผ ๊ฐ์
- ๋ถ๋ก #2. AI ์๋ต markdown ํฌ๋งท ๋ณํ
- ๋ถ๋ก #3. ์๋ต ๋๊ธฐ ์ค ํ์
- ๋ถ๋ก #4. Anthropic API ์๋ต ๋ฐ๊ธฐ