히스토리 관리
·
AI/LangGraph
🏁 학습할 내용히스토리 관리가 필요한 이유히스토리 관리 시작하기최적화를 위한 삭제Remove 담당 NodeHuman-in-the-loop📖 히스토리 1️⃣ 히스토리 관리가 필요한 이유중간에 장애가 발생해도 복구할 수 있음 대화 / 작업 흐름을 유지할 수 있음Human-in-the-loop: 개발자가 개입하여, 검토 및 수정을 할 수 있음디버깅 및 추적이 간편함 2️⃣ 히스토리 관리 시작하기checkpoints를 활용, Snapshot을 만듬, 우리는 간단한 MemorySaver checkpointer를 이용함checkpointer는 매 실행마다, 상태 스냅샷(checkpoint)를 thread에 누적하게 됨 💡 Thread란?checkpointer가 저장하는 checkpoint들을 묶는 고유 ID그..
tool
·
AI/LangGraph
🏁 학습할 내용랭체인 tool 활용랭그래프에서 tool 제공⛓️ LangChain tool 제공 1️⃣ tool 만들기랭체인에서 tool은 schema를 가진 함수다.@tool 데코레이설명파라미터 및 리턴 타입from langchain_core.tools import tool@tooldef add(a: int, b: int) -> int: """숫자 a와 b를 더합니다.""" return a + b@tooldef multiply(a: int, b: int) -> int: """숫자 a와 b를 곱합니다.""" return a * b 2️⃣ llm에 바인딩small_llm = AzureChatOpenAI( azure_deployment='gpt-4o-mini-2024-07-18'..
지금까지 우리가 만든건 Agent가 아니다??
·
AI/LangGraph
👋 들어가기 전 우리가 지금까지 만들었던, 그래프들을 에이전트로가 불러왔었는데, 사실 Agent가 아니였다라는충격적인 반전과 함께, 진짜 Agent는 어떤 것인지 알아보자.🏁 학습할 내용우리가 만들어왔던 Agent 복습그렇다면 우리가 만든건 뭘까?진짜 Agent란 ??🎯 이전 그래프 1️⃣ Agentic RAGLLM이 Retrieval 여부 결정문서와 관련도 판별 후, rewrite 여부 또는 END 2️⃣ Self RAG문서 관련도 측정 (RetrievalGrader)환각 점검 (Hallucination Grader)질문과 답변 관련성 점검 (Answer Grader)3️⃣Rotuer입려된 정보를 분류하여, 최적으 Node에게 보냄 4️⃣병렬아래 로직을 돌리기 위해 필요한 독립적은 노드들을 병렬로..
RunnablePassthrough
·
AI/LangGraph
⭐ 역할 🧩 역할데이터를 변환하거나 수정할 필요가 없는 경우파이프라인의 특정 단계를 건너뛰어야 하는 경우디버깅 또는 테스트 목적으로 데이터 흐름을 모니터링해야 하는 경우 🤖 예제로 흐름 파악하기tax_deduction_question가 invoke를 통해, tax_deduction_chain의 question: RunnablePassthrough로 들어감마찬가지로 tax_base_equation_question이 tax_base_retrieval_chain의 question: RunnablePassthrough로 들어감tax_base_equation_chain의 tax_base_equation_information에는 tax_base_retrieval_chain이 들어옴tax_base_retriev..
SubGraph와 Router
·
AI/LangGraph
👋 들어가기 전이번 내용은 이전에 만들었던, Self Rag, Corrective Rag, 신규 Graph를 모두 묶을려고한다.새로 등장하는 SubGraph와 Router를 이용해서 한번 진행해보자.🪧 Router ⭐정의 그래프의 흐름을 결정하는 핵심적인 의사결정 장치 🧩 역할입력된 정보를 분류하고, 이를 해당 분야의 전담 에이전트(Specialized Agents)에게 보내는 역할➡️ Sub Graph ⭐정의 다른 그래프 안에서 하나의 노드(Node)처럼 사용되는 독립된 그래프 🧩 역할멀티 에이전트 시스템 구축각 에이전트가 수행하는 복잡한 단계를 별도의 그래프로 분리하여 관리 가능 코드 재사용공통적으로 쓰이는 작업 흐름(예: 데이터 정제, 검색 로직)을 서브그래프로 만들어 여러 상위 그래프에..
Corrective RAG
·
AI/LangGraph
⭐ 정의RAG + 웹서치 ❓Self RAG와 다른점re-write 목적이 다름Self RAG는 retrieve를 잘하려고 rewriteretrieve는 기존의 가지고 있는 VectorStore 기반Corrective RAG는 Web Search를 잘하기위해 rewrite 🌊 흐름관련성 평가통과 시, generate실패 시, rewriterewriteWeb Seach를 위해, rewriteWeb Search검색 결과를 기반으로 generate💡웹서치 전에 rewrite가 꼭 필요할까??rewrite 역시 llm 호출이 필요하기 때문에, 굳이 필수는 아니다.공식문서는 rewrite노드가 있지만, 결과물에 크게 영향을 주지 않는다.출처https://wikidocs.net/270686 03. CRAG(Cor..