목록Deep Learning/LangGraph (3)
Patrick's 데이터 세상
Human-in-the-Loop, 인간 개입 시스템에이전트나 워크플로우에서 도구 호출하는 것을 검토, 편집 및 승인하려면 LangGraph의 인간 개입 기능을 활용하여 워크플로우의 어느 단계에서든 사람의 개입을 가능하게 합니다. 모델 출력에 대해 검증, 수정 또는 추가적인 맥락이 필요한 경우 대규모 언어 모델(LLM) 기반 애플리케이션에서 특히 유용합니다. 👉🏻 주요 기능지속적인 실행 상태: 인터럽트는 그래프 상태를 저장하는 LangGraph의 지속성 계층을 사용하여, 사용자가 재개할 때까지 그래프 실행을 무기한 일시 중지할 수 있습니다. LangGraph가 각 단계 후 그래프 상태를 체크포인트하기 때문에 가능하며, 이를 통해 시스템은 실행 컨텍스트를 유지하고 나중에 워크플로를 재개하여 중단된 지..
Persistence 영속성LangGraph는 체크포인트를 통해 구현된 내장형 영속성 레이어를 제공합니다. 체크포인트를 사용하여 그래프를 컴파일할 때, 체크포인트는 각 Super-steps 마다 그래프 상태의 체크포인트를 저장합니다. 이러한 체크포인트는 스레드에 저장되며, 그래프 실행 후에도 액세스 할 수 있습니다. 스레드는 실행 후에도 그래프의 상태에 액세스 할 수 있도록 허용하기 때문에, 인간 개입(human-in-the-loop), 메모리, 시간 여행, 고장 허용성 등 다양한 강력한 기능이 가능합니다. LangGraph API는 체크포인트를 자동으로 처리하고 체크포인트를 수동으로 구현하거나 구성할 필요가 없고 API는 모든 영속성 인프라를 배경에서 자동으로 처리합니다. 👉🏻 Threads스레드..
LangGraph는 LangChain 기반의 파이썬 오픈소스 프레임워크로, 상태(state) 기반으로 모듈화 하여 LLM 모델을 에이전트로써 제어하는 워크플로우를 쉽게 설계하고 실행할 수 있도록 도와줍니다. 특히, 기존 Naive RAG나 Advanced RAG에서 보였던 순환 구조나 분기 흐름에서의 한계를 보완하는 설계 방식을 말합니다.프로젝트에서는 초기 설계 방식을 Naive RAG인 LangChain을 활용하여 벡터 디비 기반으로 답변할 수 있도록 설계하였습니다. 그러나, Naive RAG는 단방향이므로 usecase의 증가로 분기 흐름의 한계, 정보 접근성의 한계 등의 문제가 있었습니다.최근 Agent 성격의 챗봇은 굉장히 많은 케이스의 상황에 맞는 답변이 필요해졌고, 이 니즈에 부합할 수 있는 ..