KT AIVLE SCHOOL 7기

[KT AIVLE SCHOOL 7기] - LLM ( 행복했다 api야..)

__hseong__ 2025. 4. 24. 20:19
728x90
반응형

드디어 미프 이후에 또 한 챕터가 끝났습니다~! 이번에는 llm 에 대해서 배웠고, KT AIVLE SCHOOL 에서는 무료로 해당 교육 기간동안 사용할 수 있는 무료 chatgpt api를 제공해줘서 정말 수월하게 실습을 진행했고, 구글 코랩 PRO 비용도 지원해주기 때문에 막힘없이 잘 끝낸 것 같습니다!

Part 1. Lang Graph 기초

LangGraph는 LLM 기반 워크플로우를 “그래프” 형태로 유연하게 구성할 수 있도록 도와주는 프레임워크입니다.

# 1. 상태 정의: state는 대화의 중간 정보를 저장함
class AgentState(TypedDict):
    input: str
    result: str
    
# 2. 노드 정의: 각 노드는 특정 기능을 수행하는 함수임
def start_node(state: AgentState):
    print("🟢 Start Node")
    return {"input": state["input"].upper()}  # 간단한 처리
    
def second_node(state: AgentState):
    print("🔵 Second Node")
    return {"result": f"Processed: {state['input']}"}

 

  • 먼저 TypedDict 이라는 것은 기본적으로 Lang Graph 에서는 딕셔너리 형태로 받기 때문에, 해당 자료형에 대한 함수를 사용할 수 있도록 import 하여 사용한다
  • 그리고 노드를 정의하는데, 향후 edge 를 통해 여러 복잡한 로직으로 모델을 구성하고 전체 프레임워크 관점에서 중요하기 때문에 위 함수 형태로 정의하고, return으로는 처리 로직이나 해야될 동작을 하도록 코드를 구현한다.
# 3. LangGraph 그래프 구성하기
graph = StateGraph(AgentState)

# 노드 등록
graph.add_node("start", start_node)
graph.add_node("second", second_node)

# 간선(edge) 정의: 어떤 순서로 노드가 실행될지 연결
graph.set_entry_point("start")         # 시작점
graph.add_edge("start", "second")      # start → second
graph.add_edge("second", END)          # second → 종료

# 그래프 빌드
graph_executor = graph.compile()

# ---
# ✅ 실행 테스트
test_state = {"input": "hello"}
final_result = graph_executor.invoke(test_state)

print("\n✅ 최종 결과:", final_result)
  • 그리고 재료는 완성되었으니 해당 재료들을 담을 틀이 필요하기 때문에 graph를 통해 전체 프레임을 선언한다
  • 그 후에는 노드를 등록하는데 add_node("사용할 노드 이름",선언한 노드(함수)명) 으로 사용할 노드들을 선언한다
  • 마지막으로는 add_edge(시작,끝) 이런 식으로 함수로 선언한다음에 ML 과 똑같은 결로 compile를 통해 해당 그래프를 실행을 시킨다!
  • 여기까지는 정말 간단하고 좋았다 , 그렇지만 현재의 정교한 기술이 요구되는 만큼 점점 어려워지는 로직이 나온다

 

🧠 LangGraph 핵심 개념 요약

개념 설명
Node 하나의 작업 단위 (예: LLM 호출, 함수 실행 등)
Edge 노드 간의 연결, 조건 분기를 만들 수 있음
State 노드 간에 주고받는 데이터 구조
Graph 전체 워크플로우를 정의하는 흐름도

 


🧩 LangChain 완전 정복 가이드

LangChain은 여러 LLM 호출을 “체인” 형태로 연결하며, 툴과 API, 사용자 메모리까지 통합할 수 있는 프레임워크입니다.

🧠 주요 개념

개념 설명
Chain LLM 호출을 순차적으로 연결
Tool 외부 함수/도구 등록 가능
Agent 툴 + 판단 로직으로 복잡한 흐름 처리
Memory 대화형 컨텍스트 저장

 

  • 전체적으로 RAG 에 대해서 기본부터 시작해서 동작 원리까지 알게되었고, 다음 미프가 해당 내용을 조금 꼼꼼하게 알고있어야 잘 진행할 수 있다고하니 이해될 때까지 문법은 몰라도 최대한 알도록 여러 논문들을 리뷰하면서 해야될 것 같다...!(어려워,,)

📚 RAG (Retrieval-Augmented Generation) 실전 가이드

"찾고 답하는" LLM 구조. 검색 + 생성 결합

🧠 핵심 구성

구성 설명
Retriever 질문에 맞는 문서 검색
LLM 문서 기반으로 응답 생성
Pipeline 검색 → 응답 전체 흐름

 

 

 

 

728x90
반응형