Back to Projects

Backend/API / Healthcare Search

Health AI Search API

Retrieval-first 의료 정보 검색 및 응급도 판단 API

Service-level MVP2026FastAPI / Retrieval Pipeline / Response Design

자연어 증상 입력을 의료 쿼리로 정규화하고, 내부 DB·공공 의료 API·벡터 검색을 결합해 응급도와 행동 가이드를 반환하는 FastAPI 기반 검색 시스템입니다.

Problem

기존 의료 검색은 정보는 제공하지만 사용자가 무엇을 해야 하는지까지 연결하지 못했습니다. 자연어 증상과 의료 용어의 차이, 낮은 검색 정확도, 외부 API 지연도 함께 해결해야 했습니다.

Solution

LLM 생성보다 검색 신뢰성을 우선하는 Retrieval-first 구조를 잡고, 증상 정규화, Hybrid Retrieval, Reranking, Triage, UI 친화 응답 생성을 하나의 API 흐름으로 연결했습니다.

Architecture Flow

  1. 사용자 증상 입력
  2. 입력 검증 및 언어 감지
  3. Rule + ML + Semantic 기반 증상 정규화
  4. 내부 DB + MedlinePlus API + 벡터 검색 결합
  5. Semantic 0.7 / Keyword 0.3 기반 Hybrid Reranking
  6. Red / Yellow / Green 응급도 판단
  7. 행동 가이드를 포함한 UI 친화 응답 반환

Visual Highlights

핵심 화면과 설계 흐름

문제 정의, 구조 설계, 구현 흐름, 개선 포인트가 한눈에 보이는 시각 자료만 선별했습니다.

Health AI Search API architecture slide showing query normalization, hybrid retrieval, reranking, triage, and response flow
Retrieval-first Architecture
Health AI Search API slide explaining how search results become actionable medical guidance
Problem to Action
Health AI Search API core implementation slide showing validation, language detection, normalization, retrieval, reranking, triage, and response generation
Service Orchestration
Health AI Search API performance slide showing endpoint response time and optimization notes
Performance Notes
Health AI Search API slide summarizing encoding, search relevance, API latency, and multilingual quality issues with improvements
Issues and Improvements
Health AI Search API final slide summarizing retrieval-first architecture, performance-aware design, and real problem solving
System Design Thinking

Technical Highlights

  • Retrieval-first 구조로 생성보다 신뢰 가능한 검색 결과 제공을 우선
  • 자연어 증상을 rule, ML, semantic fallback 순서로 정규화
  • 내부 데이터와 외부 공공 의료 API를 병합하고 중복 제거
  • 응급도 판단 결과를 행동 가이드와 함께 응답 구조에 포함
  • 캐싱, 병렬 요청, circuit breaker로 외부 API 지연과 변동성 완화

Tech Stack

PythonFastAPIscikit-learnHugging FaceSentence TransformersMedlinePlus API

Results

  • 검색, 재정렬, 응급도 판단, 행동 가이드를 하나의 서비스 응답으로 통합
  • 로컬 환경 기준 triage 약 200ms, summary 약 143ms, normalize 약 800ms 수준으로 흐름 검증
  • 인코딩 불일치, 검색 품질 불균형, 외부 API 지연 같은 실제 이슈와 개선 방향을 정리

Retrospective

  • 의료 검색에서는 생성형 응답보다 신뢰 가능한 검색과 우선순위 정렬이 먼저라는 기준을 세웠습니다.
  • AI는 정체성이 아니라 검색, 재정렬, 판단 흐름을 보조하는 도구로 사용할 때 서비스 가치가 커진다는 점을 확인했습니다.
View GitHubRead Study Log