◾Intro
🔻references
◾Main
🔻LangGraph의 등장배경
🔸Conventional RA점
- 기존의 Hallucination 문제는 지속적
- RAG를 적용한 답변이 실제 질문과 관계없이 RAG에 있는 ‘사전지식’만으로 답변한 것은 아닐까
- RAG 문서에 없는 내용을 인터넷 혹은 논문 탐색을 통해 지식 보강할 순 없을까
🔸LangGraph의 제안
- Node : Conventional RAG pipeline의 각 과정들을 “Node”라고 정의 → 어떤 작업을 수행할지 정의
- Edge : Node 사이의 연결선 → 다음으로 실행할 동작(node)을 정의
- State : Node와 Node 사이에서 전달되는 정보들 → dictionary 형태의 데이터 (현재의 상태 값을 저장 및 전달)
- Cycle 연산 기능 : edge를 사용하여 과거의 워크플로우로 돌아갈 수 있게 해주는 기능
- Human-in-the-loop : 필요시 사람의 판단에 따라 conditional edge의 판단을 무시하고 다음 단계를 결정하는 방법
⇒ “Conditional Egde”를 통해 상황별 분기 처리 → RAG pipeline에 유연성을 더함.
-
Query Transform 방법 예시

- RAG의 문서 검색이 올바르지 않은 경우 평가자 edge를 통해 다시 question 단계로 돌아갈 수 있는데 이 때 question이 똑같으면 결과가 같으므로 question에 변화를 주는 방법이다.