- 강의 질문
- AI TECH
검색 방식 질문
안녕하세요
제공해주신 강의를 바탕으로 ontology grounded - RAG를 구현하고자 하는데 질문이 있습니다.
온톨로지를 위한 rdf 트리플들이 저장된 fuseki를 사용하고, 벡터 검색을 위해서는 다른 솔루션(Elasticsearch 또는 neo4j)를 고민 중입니다.
이전에 "온톨로지 기반 지식 구조화 : 설계부터 Graph RAG·추론·BPM을 통한 AI 활용까지" 강의에서 온톨로지를 활용한 검색에 관한 질문을 했을 때 이런 답변을 주셨습니다
'''
Q) 온톨로지-RAG에서는 벡터 검색을 안쓰는가?
A) 실제로는 많이 씁니다. 최근 녹화를 완료한 "온톨로지 기반 프로덕트 레벨 AI Agent 서비스 구축" 강의에서도 벡터검색을 사용하고 있습니다.
그리고 앞으로도 Vector Search, Graph Search, Ontology, Symbolic Reasoning은 서로 경쟁관계가 아닌 혼합되는 방향으로 가고 있다고 생각합니다.
1차 검색 - Vector Search를 통한 문서 후보 검색
2차 필터링 - 온톨로지/그래프 기반으로 관계 필터링
3차 응답 생성 - LLM을 통한 최종 응답
이런 순서로 섞여있는 경우가 많습니다.
그렇기 때문에 Ontology-RAG라고 해서 벡터 검색을 등외시하는 것이 아니라, 오히려 Vector Search로 부족한 부분을 보완한다에 가깝습니다
'''
반면 해당 강의의 Inference Agent 아키텍처 파트에서는 온톨로지의 추론(hard)과 벡터 검색(soft)을 동시에 하는 구조로 이해하였습니다.
Q1)
물론 경우에 따라 다르겠지만 실무에서는 보통 어떤 방식이 더 사용되거나 선호되는지 알 수 있을까요?
Q2)
Inference Agent 아키텍처 파트에서 사용자 질의에서 hard 로직인 부분과 soft인 부분을 나누어서 각각 온톨로지 참조와 벡터 검색으로 나누어서 검색하게 하셨는데 사용자 질의에서 soft, hard로 나누는 건 앞단 LLM의 몫이라고 생각하면 될까요?
Q3)
솔루션 선택도 고민이 있습니다. OG-RAG 구현을 위해 두개의 솔루션을 하이브리드해서 사용한다면 fuseki + neo4j 조합을 추천하시나요?
neo4j도 fuseki와 같이 그래프, 관계적인 요소가 있어 단순 벡터 검색을 위해 neo4j까지 써야하나 고민이 있습니다.
감사합니다.