-
#1 Lang Graph란 무엇인가요?LangChain & LangGraph 2025. 3. 18. 20:00
Lang Graph란 무엇인가?
Lang Graph는 복잡한 언어 모델 기반 워크플로우를 구축하고 실행하는 데 사용되는 프레임워크입니다. LangChain의 확장형으로, AI 기반 응용 프로그램에서 흐름을 시각적으로 설계하고 관리할 수 있도록 돕습니다.
1. Lang Graph의 개념
Lang Graph는 노드(Node)와 엣지(Edge)로 구성된 그래프 형태의 구조를 사용하여 언어 모델을 실행하는 워크플로우를 구축하는 방식입니다. 이를 통해 사용자는 복잡한 AI 프로세스를 손쉽게 관리하고 조작할 수 있습니다.
- 노드(Node): 각 단계(예: 데이터 처리, 모델 실행, 후처리)를 담당하는 구성 요소
- 엣지(Edge): 노드 간의 관계 및 데이터 흐름을 연결하는 요소
이러한 구조를 활용하면 대규모 AI 모델을 효율적으로 조립하고 실행할 수 있으며, 코드의 재사용성과 유지보수성을 높일 수 있습니다.
2. Lang Graph의 특징
- 시각적인 워크플로우 구축: 코드로만 처리해야 했던 복잡한 AI 모델 흐름을 직관적으로 구성 가능
- 다양한 모델과 통합 가능: GPT, Claude, Gemini 등 다양한 LLM(Language Model)과 연동 가능
- 유연한 확장성: API, 데이터베이스, 외부 서비스와 쉽게 연결 가능
- 병렬 및 순차 실행 지원: 여러 개의 태스크를 동시에 실행하거나 순차적으로 실행하는 설정 가능
3. Lang Graph 예제
아래 예제는 사용자가 입력한 문서를 AI 모델을 활용해 분석하고, 감성 분석과 요약을 동시에 수행한 후 결과를 저장하고 출력하는 Lang Graph 워크플로우를 보여줍니다.
from langgraph.graph import Graph from langchain.llms import OpenAI # Lang Graph 초기화 graph = Graph() def document_input_node(text): return text def preprocessing_node(text): return text.strip().lower() def ai_model_node(text): llm = OpenAI(model_name="gpt-4o") response = llm("다음 문서를 분석하세요: " + text) return response def sentiment_analysis_node(text): llm = OpenAI(model_name="gpt-4o") sentiment = llm("이 텍스트의 감성을 분석하세요: " + text) return sentiment def summarization_node(text): llm = OpenAI(model_name="gpt-4o") summary = llm("이 텍스트를 요약하세요: " + text) return summary def storage_node(data): print("결과 저장 완료:", data) return data def output_node(data): print("최종 출력:", data) return data # 그래프 구성 graph.add_node("document_input", document_input_node) graph.add_node("preprocessing", preprocessing_node) graph.add_node("ai_model", ai_model_node) graph.add_node("sentiment_analysis", sentiment_analysis_node) graph.add_node("summarization", summarization_node) graph.add_node("storage", storage_node) graph.add_node("output", output_node) graph.add_edge("document_input", "preprocessing") graph.add_edge("preprocessing", "ai_model") graph.add_edge("ai_model", "sentiment_analysis") graph.add_edge("ai_model", "summarization") graph.add_edge("sentiment_analysis", "storage") graph.add_edge("summarization", "storage") graph.add_edge("storage", "output") # 실행 document_text = "Lang Graph는 AI 기반 워크플로우 구축을 위한 프레임워크입니다." graph.run("document_input", document_text)
실행 과정 시각화
graph TD; A[문서 입력] --> B[전처리]; B --> C[AI 분석]; C --> D1[감성 분석]; C --> D2[요약]; D1 --> E[결과 저장]; D2 --> E; E --> F[최종 출력];
5. 결론
노드와 엣지를 활용하여 다양한 AI 모델을 결합하고 확장할 수 있으며, 직관적인 방식으로 프로세스를 구성할 수 있습니다.
AI 기반 프로젝트를 보다 효율적으로 관리하고자 한다면 Lang Graph를 활용해보는 것이 좋은 선택이 될 것입니다.
'LangChain & LangGraph' 카테고리의 다른 글
#5 LangGraph 심화: 성능 최적화 기법 [1] (2) 2025.03.18 #4 LangGraph 심화: 스레드 및 병렬 처리 (0) 2025.03.18 #3 LangGraph 심화: 분기 및 조건부 실행과 오류 처리 전략 (0) 2025.03.18 #5 LangGraph 심화: 성능 최적화 기법 [2] (0) 2025.03.18 #2 LangGraph 심화: 상태 관리와 대화형 에이전트 구축 (0) 2025.03.18