ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • #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를 활용해보는 것이 좋은 선택이 될 것입니다.

Designed by Tistory.