AI 기반 뉴스 큐레이션 서비스

Dify + Milvus 기반 RAG 파이프라인으로 최신 뉴스 검색, 요약, 중요도 생성 등의 기능을 포함하는 AI 서비스
담당 역할
RAG 파이프라인 설계 및 Dify 워크플로우 개발 담당
// 아키텍처

설계 근거
뉴스 기사 크롤링 → 지식베이스 적재 → RAG 구조 LLM 응답
// 기술 스택
선택 이유: 노코드 워크플로우로 빠른 프로토타이핑, LLM·코드·지식검색 노드 통합
선택 이유: 대규모 벡터 검색 최적화, etcd·MinIO와 Docker Compose로 자체 호스팅
선택 이유: 실시간 대화 응답에 필요한 낮은 지연시간, 비용 대비 성능 우수
선택 이유: Knowledge Base 청크 임베딩, score_threshold 0.5 기준 적합
선택 이유: 최신 뉴스 실시간 검색으로 학습 데이터 한계 극복 및 환각 감소
// 문제 해결 경험
rag_chat 워크플로우에서 지식검색 노드가 ... 상태로 응답 없이 무한 대기. Dify 컨테이너는 전부 Up 상태이고 별다른 에러 메시지도 없어 원인 파악 어려움
Milvus가 Dify와 별도 docker-compose.yml로 구성되어 있고 restart: always 옵션이 없었던 탓에, 서버 재부팅이나 Docker 재시작 시 Milvus만 자동으로 올라오지 않은 것이 원인. Dify 지식검색 노드는 Milvus에 벡터 검색 요청을 보내는데, Milvus가 내려가 있으면 응답을 받지 못하고 무한 대기 상태가 됨
즉시 해결은 docker compose up -d 로 Milvus 수동 재시작. 재발 방지를 위해 docker-compose.yml의 etcd·minio·standalone 세 서비스 모두에 restart: always 추가
이후 서버 재부팅 시에도 Milvus가 자동으로 기동되어 동일 장애 재발 없음
// 회고
RAG 파이프라인 전체 설계 및 벡터 DB 연동 경험
검색 정확도 튜닝 및 Prompt Engineering에 많은 시간 소요
사용자 관심사 기반 개인화 뉴스 추천 기능 및 Agent 구조 확장 예정