inflearn logo
강의

講義

知識共有

AIエージェントで実装するRAGシステム(w. LangGraph)

メッセージグラフ (Messages Graph) / フィードバックループ (Feedback Loop) を理解する

tool_search_graph 서브그래프 구현 관련 질문: 조건부 분기 처리 및 supervisor 연결 방법

144

yeongjae80669468

投稿した質問数 158

0

섹션 6. 서브그래프입니다!

안녕하세요,

tool_search_graph 관련 서브그래프 구현에 대해 두 가지 질문이 있습니다

  1. 조건부 분기 처리 시, question에 따라 분기된 후에 해당 툴에 맞게 질문을 추가로 필터링하는 과정이 필요한지 궁금합니다. 현재는 간단해서 그냥 하신건지요? question을 찍어보니, 그대로 넘어와서요

  2. 해당 서브그래프를 supervisor 하단에 배치했을 때, 코드상으로 어떻게 연결할 수 있는지 구체적인 방법이 궁금합니다.

답변 부탁드립니다

llm langchain rag ai-agent langgraph

回答 2

0

yeongjae80669468

감사합니다!

0

pdstudio

안녕하세요. 판다스 스튜디오입니다.

1. 질문 필터링 관련

일반적으로 조건부 분기 후 도구에 맞는 적절한 필터링이 필요합니다. 단순 프로토타입에서는 생략할 수 있지만, 실제 사용 시에는 도구에 맞게 가공하는 과정이 권장됩니다.

def filter_for_search_tool(state):
    original_question = state.get("question", "")
    # 필터링 로직 (예: 검색에 적합한 키워드 추출)
    filtered_question = "검색어: " + extract_keywords(original_question)
    return {"question": filtered_question}

2. Supervisor 하단에 서브그래프 연결 방법

다음 예시와 같이 메인 그래프에 서브그래프를 노드로 추가하고, 조건부 엣지로 연결합니다.

# 서브그래프 생성
search_graph = create_search_tool_graph()
db_graph = create_database_tool_graph()

# 메인 그래프에 서브그래프 연결
main_graph = StateGraph(State)
main_graph.add_node("supervisor", supervisor)
main_graph.add_node("search_tool", search_graph)
main_graph.add_node("database_tool", db_graph)

# 라우팅 함수 (supervisor 결정에 따라 분기)
def route(state):
    return state["next_step"]

# 조건부 엣지 설정
main_graph.add_edge(START, "supervisor")
main_graph.add_conditional_edges(
    "supervisor", route,
    {
        "search_tool": "search_tool",
        "database_tool": "database_tool",
        "end": END
    }
)

# 서브그래프에서 supervisor로 돌아오는 경로
main_graph.add_edge("search_tool", "supervisor")
main_graph.add_edge("database_tool", "supervisor")

감사합니다!

섹션2-11 내용중 tool_call

0

21

2

gradio 를 통한 챗봇 인터페이스 실습이 진행되지 않습니다.

0

43

1

모델의 성능에 따라서 선택하는 도구가 많이 차이 나나요?

0

142

2

Fan-in 시 여러개 노드에서 하나로 병합되는 과정에서 질문 입니다.

0

78

3

로드맵

0

110

2

강의 46에서 노드의 병렬 수행시 Thread-Safety 문제는 없을까요?

0

104

2

similarity_search 후 왜 다시 LLM을 통해 grade를 측정 하나요?

0

106

2

agent_executor 실행시 JSONDecodeError에러가 발생해요.

0

145

4

툴의 숫자가 많을때 동작

0

121

2

안녕하세요 후속강의 듣고 싶은데, 비용이 부담되어서..

0

139

2

[실습을 위한 환경 설정 방법] 자료가 없습니다.

0

176

3

최근 안내해주신 수강생 이벤트 관련 문의입니다.

0

110

1

AI 에이전트로 구현하는 RAG 시스템 수강생입니다.

0

155

1

수업 자료 문의

0

176

3

docker 환경에서 해당 서비스를 구성해보는 건 어떤가요?

0

174

2

numpy 설치 에러

0

486

1

The onnxruntime python package is not installed.

0

223

1

섹션 5, 사용자 정의 조건부 엣지 관련 질문입니다.

0

130

1

강사님의 LLM 모델의 버전이 어떻게 되나요?

0

224

1

Agent RAG 구현에서 '정보 추출 및 평가' 노드 결과 애러

0

128

2

메시지 그래프/피드백 루프 활용하기에서 질문

0

110

1

에이전틱 루프에서의 병렬 노드 구현 문의

0

139

2

[공유] llama3-groq 모델명 수정 필요

0

196

1

수업자료 문의

1

211

2