허브알레리 레メディ 어드바이저 - 할머니의 지혜를 LLM로 만나다
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발, 인공지능, DevOps
대상자
- 중급 이상의 개발자 (Python, Flask, LLM 기술 습득자)
- AI/데이터 과학에 관심 있는 개발자 (LLM, 벡터 검색, MindsDB 활용)
- 트레이드 오프 없는 프로토타입 개발을 원하는 개발자 (Docker, uv, Ollama 사용 경험)
- 난이도: 중간 (AI 모델 통합 및 데이터베이스 설정 기초 지식 필요)
핵심 요약
- LLM 기반의 전통 의학 검색 엔진 (Gemini, Ollama 활용), 벡터 검색 기반의 SQL 쿼리 (
semantic_search('headache relief', content)
) - 안전성 필터링 (
safety LIKE '%Safe%'
), 사용자 맞춤형 제안 (임신 안전한 처방 등) - 개발 편의성 강화 (uv, Docker, Flask 기반의 빠른 배포, 자동 설정 기능)
섹션별 세부 요약
1. 앱 소개
- AI 기반의 전통 의학 검색 엔진
- 사용자 질문 (예: "감기 치료법")에 대해 자연어 처리 및 필터링된 결과 제공
- 사용자 제안된 처방 추가 기능 제공
- Gemini 및 Ollama 기반의 대화형 에이전트
- 전통 의학 컨텍스트에서의 대화 처리
- 사용자 맞춤형 안전성 필터링 기능
2. 기술 스택
- 핵심 기술
- LLM 에이전트:
gemini-2.0-flash
- 벡터 임베딩:
deepseek-r1:1.5b
(Ollama 활용) - 데이터베이스:
MindsDB
+ Native KB - 백엔드:
Flask + Jinja2
- UI:
Bootstrap 5
- 개발 도구
uv
(pip 대체)Docker
(MindsDB, Ollama 이미지 실행)
3. 개발 설정
- 빠른 배포 프로세스
```bash
git clone https://github.com/Zedoman/Herbal.git
uv venv
uv pip install .
docker run -p 47334:47334 mindsdb/mindsdb
ollama run deepseek-r1:1.5b
```
- 자동 설정 기능
- 첫 실행 시 KB, LLM 엔진, 샘플 데이터 자동 초기화
4. 주요 기능
- 세마틱 검색 + SQL 쿼리
```sql
SELECT * FROM herbal_remedy_kb
WHERE semantic_search('headache relief', content)
AND symptom = 'Headache'
AND safety LIKE '%Safe%'
LIMIT 20;
```
- 안전성 필터링
- 특정 사용자 조건 (예: 임신)에 맞는 처방 추천
- UI/UX 특징
- 응답형 카드, 안전성 정보 명확히 제공
5. 향후 개선 방향
- 사용자 계정 및 즐겨찾기 기능 추가
- 약물 상호작용 메타데이터 수집
- 아유르베다 및 중의학 지원 확장
- 모바일 앱으로의 확장 가능성
결론
- LLM + 벡터 검색 기반의 AI 앱 개발 사례로,
MindsDB
,Ollama
,uv
활용 시 빠른 프로토타입 가능 - 의약품 안전성 필터링 기능을 통해 사용자 맞춤형 추천 구현 가능
- GitHub 저장소에서 코드 및 데모 확인: Herbal Repo