피드로 돌아가기
Dev.toAI/ML
원문 읽기
Django ORM 그래프 기반 Vector Layer 구축을 통한 RAG 데이터 파이프라인 자동화
Your Django App Has Years of Data. Here's How to Make AI Agents Actually Use It.
AI 요약
Context
관계형 데이터베이스(RDBMS)에 파편화된 데이터를 LLM에 제공하기 위한 ETL 파이프라인 구축 및 Vector Store 동기화 비용 발생. 기존의 단순 키워드 검색이나 개별 필드 Vectorize 방식은 데이터 간의 관계적 맥락(Relational Context)을 상실하여 AI Agent의 답변 정확도를 저하시키는 한계 존재.
Technical Solution
- GraphResolver를 통한 ORM 관계 그래프 탐색 및 FK, M2M, 역참조 관계를 포함한 풍부한 컨텍스트 문서 생성
- _meta.get_fields() 기반의 재귀적 탐색과 Visited Set을 통한 순환 참조 방지 로직 설계
- weight_fields 설정을 통해 특정 필드의 텍스트를 반복 노출함으로써 Embedding Centroid를 조정하는 가중치 부여 메커니즘 구현
- post_save Signal을 활용한 RDBMS와 Vector Store 간의 실시간 데이터 동기화 자동화
- LangGraph 기반의 Query Expansion 및 Reranking 파이프라인 도입으로 검색 정밀도 향상
- Backend 추상화 계층 설계를 통해 ChromaDB, FAISS, pgvector, Qdrant 간의 설정 기반 전환 구조 채택
실천 포인트
- AI Agent 도입 시 단일 필드가 아닌 모델 관계망을 포함한 Document 구성 검토 - 검색 품질 향상을 위해 단순 필터링 대신 텍스트 반복을 통한 Embedding 가중치 조절 기법 적용 - 초기 단계에서는 ChromaDB/FAISS로 검증 후 서비스 규모에 따라 pgvector나 Qdrant로 확장하는 단계적 마이그레이션 전략 수립 - LLM의 환각 방지를 위해 Cosine Similarity 임계값(예:
0.7)을 설정한 컨텍스트 필터링 적용