Streamlit 기반 자연어 질의로 ‘개인 일정’과 ‘학교 공지’를 검색할 수 있는 AI RAG 챗봇
- 배포된 Streamlit App으로 실시간 체험
- Notion 프로젝트 포트폴리오 (📑 상세 기술구조, 문제해결 프로세스 등)
- 자연어로 일정/공지(예: “8월 3일 운동 뭐 있어?”, “장학금 모집 안내”) 검색
- 날짜/키워드/시각 기반 파싱 & 커스텀 RAG
- 중복 결과 필터링 & 카드형 UI
- Pandas + 한국어 임베딩 챗봇 + Streamlit
- 데이터셋
.csv구조 지원
- Python 3.12+
- Streamlit (UI/배포)
- pandas, re, datetime
- HuggingFace Sentence-Transformers (
jhgan/ko-sbert-sts) - Langchain, Chroma
project-root/
├── app.py (메인 실행 파일)
├── data/
│ ├── todo.csv # 일정/할일 데이터
│ └── article.csv # 공지 게시글 데이터
├── README.md
└── requirements.txt
- 사용자 자연어 쿼리 입력
- 날짜/키워드/시각 파싱(정규식)
- pandas로 candidate 필터링
- 필요시 임베딩 기반 RAG 또는 필터 결과만 사용
- 결과 데이터값 중복 제거 후 카드 UI로 결과 표시
-
필수 환경
- Python >= 3.10 (추천 3.12)
- pip 업데이트
-
의존 패키지 설치
pip install -r requirements.txt- 데이터 파일 준비
- data/todo.csv, data/article.csv에 샘플 데이터 추가
- Note: 추후 데이터 파일 임의 지정 필요 없이 웹 스크래핑을 통해 데이터셋 얻는 기능 구현 예정
- Streamlit 실행
streamlit run app.py- 실행 후 주소(예:
http://localhost:8501)에서 확인