๊ท๋์ ๊ณ ๋ คํ๋ ๋ถ๋ค์ ์ํ AI ๊ธฐ๋ฐ ์ข ํฉ ์ ๋ณด ์ ๊ณต ๋ฐ ์ถ์ฒ ์๋น์ค์ ๋๋ค. RAG(Retrieval-Augmented Generation) ๊ธฐ์ ์ ํ์ฉํ์ฌ ์ฌ์ฉ์ ๋ง์ถคํ ๊ท๋ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
- RAG ๊ธฐ๋ฐ ์ง๋ฅํ ์ฑ๋ด: ๊ท๋ ๊ด๋ จ ์ง๋ฌธ์ ๋ํด ์ ํํ๊ณ ์์ธํ ๋ต๋ณ ์ ๊ณต
- ๋ง์ถคํ ์ถ์ฒ: ์ฌ์ฉ์ ์ํฉ๊ณผ ์ ํธ๋์ ๋ฐ๋ฅธ ๊ฐ์ธํ๋ ๊ท๋ ์ ๋ณด
- ์ค์๊ฐ ๋ํ: ์์ฐ์ค๋ฌ์ด ๋ํํ ์ธํฐํ์ด์ค๋ก ๋ณต์กํ ์ ๋ณด๋ ์ฝ๊ฒ ์ดํด
- ๊ท๋์ ์ํ ๋จ๊ณ๋ณ ์์ธ ๊ฐ์ด๋
- ์ด๋ณด์๋ฅผ ์ํ ์ค์ฉ์ ์ธ ์กฐ์ธ๊ณผ ํ
- ์ฒด๊ณ์ ์ธ ํ์ต ๊ฒฝ๋ก ์ ์
- ๋ง์ถคํ ๊ท๋ ์ง์ญ ์ถ์ฒ ์์คํ
- ์ค๋ฌธ์กฐ์ฌ ๊ธฐ๋ฐ ๊ฐ์ธํ ์๋น์ค
- ์ง์ญ๋ณ ์์ธ ์ ๋ณด ๋ฐ ํน์ฑ ๋ถ์
- ์๋ฌผ๋ณ ์์ต์ฑ ๋ถ์ ๋ฐ ์๋ฎฌ๋ ์ด์
- ๊ฒฝํ ์์ค๊ณผ ํ์ง ๋ฑ๊ธ ๋ฐ์
- ์๋ณ ์์ต ์ถ์ด ์๊ฐํ ๋ฐ ์์ธก
- ๊ท๋ ์ฑ๊ณต ์ฌ๋ก ๋ฐ ๋ฉํ ์ ๋ณด
- ์ง์ญ๋ณ ๋ฉํ ์ถ์ฒ
- ๊ท๋ ๊ฒฝํ์์์ ์ฐ๊ฒฐ
- ์ต์ ๊ท๋ ๊ด๋ จ ์์ ๋ฐ ์ ์ฑ
- ์ฑ๊ณต ์ฌ๋ก ๋ฐ ์ธํฐ๋ทฐ
- ์ ์ฑ ๋ณํ ๋ฐ ์์ฅ ๋ํฅ
- ์ง์ญ๋ณ ๊ท๋ ์ง์ ์ ์ฑ ์ ๋ณด
- ์ ๋ถ ์ง์์ฌ์ ์์ธ ์๋ด
- ์ค์๊ฐ ํํ ์ ๋ฐ์ดํธ
์ฌ์ฉ์ ์ง๋ฌธ โ ๊ฒ์ ์์ง โ ๊ด๋ จ ๋ฌธ์ ๊ฒ์ โ AI ์์ฑ โ ๋ต๋ณ ์ ๊ณต
- Agent System: ์ฌ์ฉ์ ์๋ ํ์ ๋ฐ ์์ ๋ถ๋ฐฐ
- Retriever: ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ด๋ จ ์ ๋ณด ๊ฒ์
- Generator: ๊ฒ์๋ ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ๋ต๋ณ ์์ฑ
- Response Builder: ์ต์ข ๋ต๋ณ ๊ตฌ์ฑ ๋ฐ ํฌ๋งทํ
- ์ญํ : ์ ์ฒด ๋ํ ํ๋ฆ์ ๊ด๋ฆฌํ๊ณ ์ฌ์ฉ์ ์ง๋ฌธ์ ์๋๋ฅผ ํ์ ํ๋ ์ค์ ์ ์ด ์์คํ
- ์ฃผ์ ๊ธฐ๋ฅ:
- ๋ํ ๋งฅ๋ฝ ๋ถ์ ๋ฐ ์ฐ๊ฒฐ์ฑ ํ์ธ
- ์ง๋ฌธ ์ ํ ๋ถ๋ฅ (ํ์ ์ง๋ฌธ vs ์๋ก์ด ์ง๋ฌธ)
- ์ ์ ํ ๋๋ฉ์ธ ์์ด์ ํธ ์ ํ ๋ฐ ๋ฐฐ์
- ์๋ต ํ์ง ๊ด๋ฆฌ ๋ฐ ์ผ๊ด์ฑ ์ ์ง
- ๋ด๋น ์์ญ: ์ ๋ถ ์ง์ ์ ์ฑ , ๋ณด์กฐ๊ธ, ๊ท๋ ์ง์ ์ฌ์
- ๋์ ๋ฐฉ์:
- ์ฌ์ฉ์ ์ํฉ์ ๋ง๋ ์ ์ฑ ๊ฒ์
- ์ง์ ์๊ฒฉ ๋ฐ ์ ์ฒญ ์ ์ฐจ ์๋ด
- ์ง์ญ๋ณ ๋ง์ถค ์ ์ฑ ์ถ์ฒ
- ๋ฐ์ดํฐ ์์ค: ๋๋ฆผ์ถ์ฐ์ํ๋ถ, ์ง์์ฒด ๊ณต๊ณต๋ฐ์ดํฐ
- ๋ด๋น ์์ญ: ๋์ ์ ๋ฌธ ์ฉ์ด, ๊ธฐ์ ์ ๊ฐ๋ , ์ด๋ณด์๋ฅผ ์ํ ์ค๋ช
- ๋์ ๋ฐฉ์:
- ๋ณต์กํ ๋์ ์ฉ์ด๋ฅผ ์ฌ์ด ์ธ์ด๋ก ๋ณํ
- ๋จ๊ณ๋ณ ํ์ต ๊ฒฝ๋ก ์ ์
- ๊ด๋ จ ์ฉ์ด ๊ฐ ์ฐ๊ฒฐ์ฑ ์ค๋ช
- ๋ฐ์ดํฐ ์์ค: ๋์ ์ ๋ฌธ ์ฌ์ , ๊ต์ก ์๋ฃ
- ๋ด๋น ์์ญ: ์๋ฌผ๋ณ ์ฌ๋ฐฐ ๊ธฐ์ , ๋๋ฒ, ์์ค ๊ด๋ฆฌ
- ๋์ ๋ฐฉ์:
- ์ฌ์ฉ์ ๊ฒฝํ ์์ค์ ๋ง๋ ์ฌ๋ฐฐ๋ฒ ์ ์
- ๊ณ์ ๋ณ ์ฌ๋ฐฐ ์ผ์ ๋ฐ ์ฃผ์์ฌํญ ์๋ด
- ๋ฌธ์ ํด๊ฒฐ ๋ฐ ํธ๋ฌ๋ธ์ํ ๊ฐ์ด๋
- ๋ฐ์ดํฐ ์์ค: ๋์ด์งํฅ์ฒญ, ์ ๋ฌธ๊ฐ ์ง์๋ฒ ์ด์ค
- ๋ด๋น ์์ญ: ์ง์ญ๋ณ ์ ํฉ ์๋ฌผ, ์์ต์ฑ ๋ถ์, ์์ฅ ๋ํฅ
- ๋์ ๋ฐฉ์:
- ์ง์ญ ํน์ฑ๊ณผ ๊ธฐํ ์กฐ๊ฑด ๋ถ์
- ์ด๋ณด์/๊ฒฝํ์๋ณ ์๋ฌผ ๋์ด๋ ํ๊ฐ
- ์์ต์ฑ ๋ฐ ์์ฅ์ฑ ์ข ํฉ ๋ถ์
- ๋ฐ์ดํฐ ์์ค: ์๋ฌผ๋ณ ์ฌ๋ฐฐ ๋ฐ์ดํฐ, ์์ฅ ๊ฐ๊ฒฉ ์ ๋ณด
์ฌ์ฉ์ ์ง๋ฌธ โ ์ํผ๋ฐ์ด์ ๊ฐ ๋ํ ๋งฅ๋ฝ ๋ถ์
- ํ์ ์ง๋ฌธ ํ๋ณ: ์ด์ ๋ํ์์ ์ฐ๊ด์ฑ ๋ถ์
- ์๋ก์ด ์ง๋ฌธ ํ๋ณ: ์์ ํ ์๋ก์ด ์ฃผ์ ๋ก ๋ถ๋ฅ
- ๋งฅ๋ฝ ๋ณํฉ: ํ์ ์ง๋ฌธ์ ๊ฒฝ์ฐ ์ด์ ๋ํ ๋งฅ๋ฝ๊ณผ ํตํฉ
์ง๋ฌธ ๋ถ์ โ ๋๋ฉ์ธ ๋ถ๋ฅ โ ์ ์ ํ ์์ด์ ํธ ์ ํ
- ์ ์ฑ /์ง์๊ธ: ๊ด๋ จ ์ ์ฑ ๊ฒ์ ๋ฐ ๋ง์ถคํ ์ถ์ฒ
- ์ฉ์ด: ์ ๋ฌธ ์ฉ์ด ํด์ค ๋ฐ ํ์ต ๊ฒฝ๋ก ์ ์
- ์ฌ๋ฐฐ๋ฐฉ์: ๋จ๊ณ๋ณ ์ฌ๋ฐฐ ๊ฐ์ด๋ ๋ฐ ๋ฌธ์ ํด๊ฒฐ
- ์๋ฌผ์ถ์ฒ: ์ง์ญ๋ณ ์ ํฉ ์๋ฌผ ๋ฐ ์์ต์ฑ ๋ถ์
์์ด์ ํธ ๊ฒฐ๊ณผ โ ์ํผ๋ฐ์ด์ ๊ฒํ โ ์ต์ข
์๋ต ๊ตฌ์ฑ
- ๋งฅ๋ฝ ์ธ์: ์ด์ ๋ํ๋ฅผ ๊ธฐ์ตํ๊ณ ์ฐ๊ฒฐ์ฑ ์ ์ง
- ์์ฐ์ค๋ฌ์ด ์ ํ: ์ฃผ์ ๋ณ๊ฒฝ ์ ๋ถ๋๋ฌ์ด ๋ํ ํ๋ฆ
- ๊ฐ์ธํ ํ์ต: ์ฌ์ฉ์ ํจํด ํ์ต ๋ฐ ๋ง์ถคํ ์๋ต
- ์ ๋ฌธ ์ง์: ๊ฐ ๋๋ฉ์ธ์ ๊น์ด ์๋ ์ ๋ณด ์ ๊ณต
- ์ด๋ณด์ ์นํ์ : ๋ณต์กํ ๊ฐ๋ ์ ์ฝ๊ฒ ์ดํดํ ์ ์๋๋ก ์ค๋ช
- ๋จ๊ณ๋ณ ํ์ต: ์ฌ์ฉ์ ์์ค์ ๋ง๋ ์ ์ง์ ์ ๋ณด ์ ๊ณต
- ๋์ ๋ฐ์ดํฐ: ์ต์ ์ ์ฑ ๋ฐ ์์ฅ ์ ๋ณด ๋ฐ์
- ์ฐ๊ฒฐ์ฑ: ๋ค์ํ ์ ๋ณด ๊ฐ์ ์ํธ ์ฐ๊ด์ฑ ํ์
- ๋ง์ถคํ ์ถ์ฒ: ๊ฐ์ธ ์ํฉ์ ์ต์ ํ๋ ์ ๋ณด ์ ๊ณต
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๋๋ฉ์ธ๋ณ ๋๊ตฌ (Domain Tools) โ
โโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโค
โ ์ ์ฑ
/์ง์๊ธ โ ๋์
์ฉ์ด โ ์ฌ๋ฐฐ ๋ฐฉ์ โ ์๋ฌผ์ถ์ฒ โ
โ (Policy) โ (Terms) โ (Cultivation) โ (Crops) โ
โโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโดโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ์ฌ์ฉ์ ์ง๋ฌธ (User Question) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ์ด์ ๋ํ์ ์ฐ๊ฒฐ์ฑ ํ์ธ (Context Check) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโดโโโโโโโโโโโโโโ
โผ โผ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ ํ์ ์ง๋ฌธ โ โ ์๋ก์ด ์ง๋ฌธ โ
โ (Follow-up) โ โ (New Question) โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ โ
โผ โผ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ ์ด์ ์ง๋ฌธ๊ณผ ๋ณํฉ โ โ ํ์ฌ ์ง๋ฌธ ๊ทธ๋๋ก โ
โ (Merge Context) โ โ (Use As Is) โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ์ง๋ฌธ ์๋ ๋ถ๋ฅ โ
โ (Intent Classification) โ
โ ์ ์ฑ
/์ง์๊ธ ยท ์ฉ์ด ยท ์ฌ๋ฐฐ๋ฐฉ์ ยท ์๋ฌผ์ถ์ฒ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ํด๋น ๋ถ์ผ ๋๊ตฌ ์คํ โ
โ (Execute Domain Tool) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๊ฒฐ๊ณผ ์ ๋ฆฌ โ
โ (Organize Results) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ์ต์ข
๋ต๋ณ + ๊ทผ๊ฑฐ + ์ถ๊ฐ ์ง๋ฌธ ์ ์ โ
โ (Final Answer + Basis + Suggestions) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ์ฌ์ฉ์์๊ฒ ์ ๋ฌ โ
โ (Deliver to User) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
AI ์์ด์ ํธ ์์คํ ์ ์ ์ฒด์ ์ธ ๋์ ํ๋ฆ์ ๋ณด์ฌ์ฃผ๋ ๋ค์ด์ด๊ทธ๋จ
๋ค์ด์ด๊ทธ๋จ ์ค๋ช :
- ๋๋ฉ์ธ๋ณ ๋๊ตฌ: 4๊ฐ์ ์ ๋ฌธ ์์ด์ ํธ๊ฐ ๊ฐ๊ฐ์ ์์ญ์ ๋ด๋น
- ์ฌ์ฉ์ ์ง๋ฌธ: ์์คํ ์ ์์์
- ๋ํ ์ฐ๊ฒฐ์ฑ ํ์ธ: ์ด์ ๋ํ์์ ์ฐ๊ด์ฑ ๋ถ์
- ์ง๋ฌธ ๋ถ๋ฅ: ํ์ ์ง๋ฌธ ๋๋ ์๋ก์ด ์ง๋ฌธ์ผ๋ก ๋ถ๋ฅ
- ์๋ ๋ถ๋ฅ: ์ ์ฑ /์ง์๊ธ, ์ฉ์ด, ์ฌ๋ฐฐ๋ฐฉ์, ์๋ฌผ์ถ์ฒ ์ค ์ ์ ํ ๋๋ฉ์ธ ์ ํ
- ๋๊ตฌ ์คํ: ํด๋น ๋ถ์ผ์ ์ ๋ฌธ ์์ด์ ํธ๊ฐ ์ ๋ณด ๊ฒ์ ๋ฐ ๋ถ์ ์ํ
- ๊ฒฐ๊ณผ ์ ๋ฆฌ: ๊ฒ์๋ ์ ๋ณด๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ์ ๋ฆฌ
- ์ต์ข ์๋ต: ๋ต๋ณ, ๊ทผ๊ฑฐ, ์ถ๊ฐ ์ง๋ฌธ ์ ์์ ํฌํจํ ์ข ํฉ ์๋ต
- ์ฌ์ฉ์ ์ ๋ฌ: ์์ฑ๋ ์๋ต์ ์ฌ์ฉ์์๊ฒ ์ ๊ณต
- ๋ฉ์์ง ํ: ๋น๋๊ธฐ ์ฒ๋ฆฌ ๋ฐ ๋ถํ ๋ถ์ฐ
- ์ํ ๊ด๋ฆฌ: ๋ํ ์ธ์ ๋ฐ ์ฌ์ฉ์ ์ปจํ ์คํธ ์ ์ง
- ์๋ฌ ํธ๋ค๋ง: ๊ฐ๋ณ ์์ด์ ํธ ์ฅ์ ์ ๋์ฒด ์ฒ๋ฆฌ
- ์บ์ฑ ์์คํ : ์์ฃผ ์ฌ์ฉ๋๋ ์ ๋ณด์ ๋น ๋ฅธ ์ ๊ทผ
- ๋ณ๋ ฌ ์ฒ๋ฆฌ: ์ฌ๋ฌ ์์ด์ ํธ์ ๋์ ์คํ
- ๋ฆฌ์์ค ๊ด๋ฆฌ: ๋ฉ๋ชจ๋ฆฌ ๋ฐ CPU ์ฌ์ฉ๋ ์ต์ ํ
- Streamlit: ์น ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ
- CSS3: ๋ฐ์ํ ๋์์ธ ๋ฐ ๋ชจ๋ UI
- HTML: ๋งํฌ์ ๋ฐ ๊ตฌ์กฐ
- Python 3.8+: ๋ฉ์ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
- LangChain: AI ์ฒด์ธ ๋ฐ ์์ด์ ํธ ํ๋ ์์ํฌ
- BGE-M3: ํ๊ตญ์ด ํนํ ์๋ฒ ๋ฉ ๋ชจ๋ธ
- ChromaDB: ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ChromaDB: ๋ฒกํฐ ๊ฒ์ ๋ฐ ์ ์ฅ
- Firebase: ์ฌ์ฉ์ ์ธ์ฆ ๋ฐ ๊ด๋ฆฌ
- SQLite: ๋ก์ปฌ ๋ฐ์ดํฐ ์ ์ฅ
- Pandas: ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐ ๋ถ์
- NumPy: ์์น ๊ณ์ฐ
- Plotly: ๋ฐ์ดํฐ ์๊ฐํ
git clone https://github.com/your-username/RAG.git
cd RAGpython -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activatepip install -r requirements.txt.streamlit/secrets.toml ํ์ผ์ Firebase ์ค์ ์ ์ถ๊ฐํ์ธ์:
[firebase]
apiKey = "your-api-key"
authDomain = "your-auth-domain"
projectId = "your-project-id"
storageBucket = "your-storage-bucket"
messagingSenderId = "your-messaging-sender-id"
appId = "your-app-id"streamlit run main.py- Firebase Authentication: ์ด๋ฉ์ผ/๋น๋ฐ๋ฒํธ ๊ธฐ๋ฐ ๋ก๊ทธ์ธ
- ์ธ์ ๊ด๋ฆฌ: ๋ก๊ทธ์ธ ์ํ ์ ์ง ๋ฐ ๋ณด์
- ๊ถํ ๊ด๋ฆฌ: ๋ก๊ทธ์ธ ํ ๋ชจ๋ ์๋น์ค ์ด์ฉ ๊ฐ๋ฅ
- ํค๋: ๋ก๊ณ ๋ฐ ๋ก๊ทธ์ธ/๋ก๊ทธ์์ ๋ฒํผ
- ์๋น์ค ๋ค๋น๊ฒ์ด์ : 7๊ฐ ์ฃผ์ ์๋น์ค ๋ฒํผ
- ํ์ด๋ก ์น์ : ์๋น์ค ์๊ฐ ๋ฐ ์์ ๋ฒํผ
- ํํ ์น์ : ์ง์์ ์ฑ ๋ฏธ๋ฆฌ๋ณด๊ธฐ
- ๋ด์ค ์น์ : ์ต์ ๊ท๋ ์์
- ์ถ์ฒ ์นด๋: ๋ฉํ ์ฐพ๊ธฐ ๋ฐ ์์ต ๊ณ์ฐ๊ธฐ
- ๋ก๊ทธ์ธ: ์ฐ์ธก ์๋จ ๋ก๊ทธ์ธ ๋ฒํผ ํด๋ฆญ
- ์๋น์ค ์ ํ: ์ํ๋ ์๋น์ค ๋ฒํผ ํด๋ฆญ
- ํ์ด์ง ์ด๋: ํด๋น ์๋น์ค ํ์ด์ง๋ก ์๋ ์ด๋
- AI ์ฑ๋ด: ๋ฉ์ธ ๊ธฐ๋ฅ์ผ๋ก ์์ฐ์ค๋ฌ์ด ๋ํํ ์ธํฐํ์ด์ค
- ๋ฐ์คํฌํฑ (1200px+): 3์ด ๊ทธ๋ฆฌ๋ ๋ ์ด์์
- ํ๋ธ๋ฆฟ (992px-1199px): 2์ด ๊ทธ๋ฆฌ๋ ๋ ์ด์์
- ๋ชจ๋ฐ์ผ (768px-991px): 1์ด ๊ทธ๋ฆฌ๋ ๋ ์ด์์
- ์ํ ๋ชจ๋ฐ์ผ (576px-767px): ์ต์ ํ๋ ๋ชจ๋ฐ์ผ ๋ ์ด์์
- ๊ทน์ํ (480px ์ดํ): ๊ทนํ ๋ชจ๋ฐ์ผ ํ๊ฒฝ ์ต์ ํ
- ๋ชจ๋ํ ๊ทธ๋ฆฐ ํค: ์นํ๊ฒฝ์ ์ด๊ณ ์ ๋ขฐ๊ฐ ์๋ ์์
- ๋ถ๋๋ฌ์ด ์ ๋๋ฉ์ด์ : ํธ๋ฒ ํจ๊ณผ ๋ฐ ์ ํ ์ ๋๋ฉ์ด์
- ์ง๊ด์ ์ธํฐํ์ด์ค: ์ฌ์ฉ์ ์นํ์ ์ธ ๋ค๋น๊ฒ์ด์
- ์ผ๊ด๋ ๋์์ธ: ํต์ผ๋ ์คํ์ผ ๊ฐ์ด๋๋ผ์ธ
- ์ง์ญ ๋ฐ์ดํฐ: ์ ๊ตญ ์๊ตฐ๊ตฌ๋ณ ์์ธ ์ ๋ณด
- ์๋ฌผ ๋ฐ์ดํฐ: ์๋ฌผ๋ณ ์ฌ๋ฐฐ ์ ๋ณด ๋ฐ ์์ต์ฑ
- ์ ์ฑ ๋ฐ์ดํฐ: ์ ๋ถ ๋ฐ ์ง์์ฒด ์ง์ ์ ์ฑ
- ๊ต์ก ํ๋ก๊ทธ๋จ: ๊ท๋ ๊ต์ก ๋ฐ ํ๋ จ ์ ๋ณด
- ์ฒญ๋ ์ฌ๋ก: ์ฑ๊ณต์ ์ธ ๊ท๋ ์ฌ๋ก ์ฐ๊ตฌ
- ๋๋ฆผ์ถ์ฐ์ํ๋ถ: ๊ณต์ ์ ์ฑ ๋ฐ ํต๊ณ
- ํต๊ณ์ฒญ: ์ธ๊ตฌ ๋ฐ ๊ฒฝ์ ๋ฐ์ดํฐ
- ๋์ํ๋น ๋ฐ์ดํฐ ๊ฑฐ๋์: ๋์ ๊ด๋ จ ๋น ๋ฐ์ดํฐ
- ์ง์์ฒด: ์ง์ญ๋ณ ํนํ ์ ๋ณด
- ๊ณต๊ณต๋ฐ์ดํฐ ํฌํธ: ์ ๋ถ ๊ณต๊ฐ ๋ฐ์ดํฐ
- IDE: PyCharm, VS Code ๋ฑ
- ๋ฒ์ ๊ด๋ฆฌ: Git
- ํจํค์ง ๊ด๋ฆฌ: pip, requirements.txt
# ๊ฐ๋ฐ ๋ชจ๋ ์คํ
streamlit run main.py --server.port 8501
# ๋๋ฒ๊ทธ ๋ชจ๋
streamlit run main.py --logger.level debug- ์ถ๊ฐ ์ง์ญ ๋ฐ์ดํฐ ํ๋ณด
- ์ฑ๋ด ์๋ต ํ์ง ๊ฐ์
- ๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ ๊ฒํ
- ๋ค๊ตญ์ด ์ง์ (์์ด, ์ค๊ตญ์ด)
- ๊ณ ๊ธ ๋ถ์ ๊ธฐ๋ฅ ์ถ๊ฐ
- API ์๋น์ค ์ ๊ณต
- AI ๋ชจ๋ธ ๊ณ ๋ํ
- ์ปค๋ฎค๋ํฐ ๊ธฐ๋ฅ ์ถ๊ฐ
- ์์ฉ ์๋น์ค ์ ํ
- ์์กด์ฑ ์ค์น ์ค๋ฅ: ๊ฐ์ํ๊ฒฝ ํ์ฑํ ํ์ธ
- Firebase ์ฐ๊ฒฐ ์ค๋ฅ: API ํค ๋ฐ ์ค์ ํ์ธ
- ๋ฒกํฐ DB ์ค๋ฅ: ๋ฐ์ดํฐ ํ์ผ ๊ฒฝ๋ก ํ์ธ
# Streamlit ๋ก๊ทธ ํ์ธ
streamlit run main.py --logger.level debug์ด ํ๋ก์ ํธ๋ MIT ๋ผ์ด์ ์ค ํ์ ๋ฐฐํฌ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ LICENSE ํ์ผ์ ์ฐธ์กฐํ์ธ์.
- ๋ฒ๊ทธ ๋ฆฌํฌํธ: Issues ํ์ด์ง์์ ๋ฒ๊ทธ ์ ๊ณ
- ๊ธฐ๋ฅ ์์ฒญ: ์๋ก์ด ๊ธฐ๋ฅ ์ ์ ๋ฐ ์์ด๋์ด ๊ณต์
- ๋ฌธ์์ฌํญ: ์ฌ์ฉ๋ฒ ๋ฐ ๊ธฐ์ ์ ์ง๋ฌธ
- GitHub Discussions: ํ๋ก์ ํธ ๊ด๋ จ ํ ๋ก ๋ฐ ์ง๋ฌธ
- Wiki: ์์ธํ ์ฌ์ฉ๋ฒ ๋ฐ ๊ฐ๋ฐ ๊ฐ์ด๋
์ด ํ๋ก์ ํธ๋ ๋ค์๊ณผ ๊ฐ์ ์คํ์์ค ํ๋ก์ ํธ์ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ฌ ๊ฐ๋ฐ๋์์ต๋๋ค:
- Streamlit: ์น ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ
- LangChain: AI ์ฒด์ธ ๋ฐ ์์ด์ ํธ ํ๋ ์์ํฌ
- ChromaDB: ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- Firebase: ์ฌ์ฉ์ ์ธ์ฆ ์๋น์ค
- ๋๋ฆผ์ถ์ฐ์ํ๋ถ: ๊ณต๊ณต ๋ฐ์ดํฐ ์ ๊ณต
ยฉ 2025 ๋ฌผ์ด๋ณด๋ | ๋ชจ๋ ๊ถ๋ฆฌ ๋ณด์
๊ท๋์ ๊ฟ์ ํ์ค๋ก ๋ง๋ค์ด๊ฐ๋ ์ฌ์ ์ ํจ๊ปํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๐ฑ