Summary

<aside> ๐Ÿ’ก

CampusMate-RAG: Personalized ToDo & Univ. Announcement(SnoWe) RAG Search System for Academic Productivity

https://github.com/yjchun626/CampusMate-RAG

</aside>

CampusMate RAG

ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

๐Ÿง  ๋‚˜๋งŒ์˜ ์ผ์ • & ํ•™๊ต๊ณต์ง€ ๊ฒ€์ƒ‰ RAG ์ฑ—๋ด‡
โ€ข	์ž์—ฐ์–ด๋กœ ์ผ์ •, ํ™œ๋™, ํ•™๊ต ๊ณต์ง€๊นŒ์ง€ ๋ฐ”๋กœ ๋ฌผ์–ด๋ณผ ์ˆ˜ ์žˆ๋Š” โ€œ๋‚˜๋งŒ์˜ ๋น„์„œโ€
โ€ข	๐Ÿ’ฌ ์˜ˆ์‹œ ์ฟผ๋ฆฌ:
โ€ข	โ€œ8์›” 2์ผ์— ๋ญ ์žˆ์–ด?โ€
โ€ข	โ€œ์šด๋™ ์žˆ๋Š” ๋‚ ์€ ์–ธ์ œ์•ผ?โ€
โ€ข	โ€œ์žฅํ•™๊ธˆ ๊ด€๋ จ ๊ณต์ง€ ์•Œ๋ ค์ค˜โ€

๊ธฐ๋Šฅ ์ •๋ฆฌ (Features)

๊ธฐ๋Šฅ ์„ค๋ช…
์ผ์ • ์ž์—ฐ์–ด ๊ฒ€์ƒ‰ ๋‚ ์งœ, ํ‚ค์›Œ๋“œ, ์‹œ๊ฐ ๊ธฐ๋ฐ˜์œผ๋กœ ์ผ์ • ๊ฒ€์ƒ‰
ํ•™๊ต SnoWe ๊ณต์ง€์‚ฌํ•ญ ๊ฒ€์ƒ‰ ํ•™๊ต ๊ฒŒ์‹œ๊ธ€ ๋ฐ์ดํ„ฐ์…‹ ๊ธฐ๋ฐ˜ ํ‚ค์›Œ๋“œ ์œ„์ฃผ ๊ฒ€์ƒ‰
์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰ HuggingFace ํ•œ๊ตญ์–ด ์ง€์› ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ ์‚ฌ์šฉ โ†’ ํŒŒ์ธํŠœ๋‹ ์—†์ด๋„ ์ค€์ˆ˜ํ•œ ์„ฑ๋Šฅ ๋ณด์ž„
ํ‚ค์›Œ๋“œ, ๋‚ ์งœ, ์‹œ๊ฐ„ ๊ตฌ๋ถ„ ํŒŒ์„œ ์ •๊ทœํ‘œํ˜„์‹์œผ๋กœ ์‚ฌ์šฉ์ž์˜ ์งˆ์˜์—์„œ ์˜๋ฏธ ์ถ”์ถœ
To-do: ์ค‘๋ณต ๋ฐ์ดํ„ฐ ํ•„ํ„ฐ๋ง title(์ผ์ • ์ œ๋ชฉ) + datatime(์ผ์ • ์‹œ๊ฐ„) ๊ธฐ์ค€์œผ๋กœ ๋™์ผ ํ•ญ๋ชฉ ์ œ๊ฑฐ
์กฐ๊ฑด ์ผ์น˜๋˜๋Š” ๋ฐ์ดํ„ฐ ์—†์„ ์‹œ ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ ์ถœ๋ ฅ ์‚ฌ์šฉ์ž ์นœํ™” ์‘๋‹ต UX
์นด๋“œํ˜• UI ์ถœ๋ ฅ Streamlit์œผ๋กœ ๊น”๋”ํ•œ ๊ฒฐ๊ณผ ํ‘œ์‹œ

๊ตฌํ˜„ ์ƒ์„ธ

์‚ฌ์šฉ ๊ธฐ์ˆ  ์Šคํƒ

โ€ข	๐Ÿ”ค Language: Python 3.12
โ€ข	๐Ÿง  Embedding Model: `jhgan/ko-sbert-sts` (ํ•œ๊ตญ์–ด SBERT)
โ€ข	๐Ÿ“š Vector Store: Langchain + Chroma
โ€ข	๐Ÿ“ฆ Data Format: CSV (`todo.csv`, `article.csv`)
โ€ข	๐Ÿงฉ Keyword Parsing: `re` ์ •๊ทœํ‘œํ˜„์‹
โ€ข	๐Ÿ’ป UI Framework: Streamlit
โ€ข	๐Ÿ”ง ๊ธฐํƒ€: pandas, Huggingface Transformers
ํŒจํ‚ค์ง€ ์šฉ๋„
streamlit UI ๋ฐ ์„œ๋น„์Šค ํŽ˜์ด์ง€
pandas & numpy ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ ๊ตฌ์กฐ ๋ฐ ๋ฐฐ์—ด ์—ฐ์‚ฐ
sentence-transformers ํ•œ๊ตญ์–ด ์ž„๋ฒ ๋”ฉ(RAG) ๋ชจ๋ธ ๋กœ๋”ฉ
langchain-community HuggingFaceEmbeddings, Chroma ๋“ฑ ์‚ฌ์šฉ ์‹œ ํ•„์š”
chromadb ๋ฒกํ„ฐ DB engine (in-memory ๊ธฐ๋ฐ˜)

์‹œ์Šคํ…œ ๊ตฌ์กฐ ์š”์•ฝ