3주차: LLM이란

이론 자료

📥 3주차-LLM이란-2025-1129.pptx 다운로드


실습: LLM 활용

환경 설정

conda activate myenv

# 필요 라이브러리 설치
pip install langchain langchain-google-genai google-generativeai

실습 1: LangChain 기본 사용법

import os
from langchain_google_genai import ChatGoogleGenerativeAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser

# API 키 설정
os.environ["GEMINI_API_KEY"] = "your-api-key"

# 1. 모델 생성
llm = ChatGoogleGenerativeAI(model="gemini-2.5-flash")

# 2. 프롬프트 템플릿
prompt = ChatPromptTemplate.from_messages([
    ("system", "당신은 친절한 AI 어시스턴트입니다."),
    ("user", "{input}")
])

# 3. LCEL 체인 구축
chain = prompt | llm | StrOutputParser()

# 4. 실행
response = chain.invoke({"input": "인공지능이란 무엇인가요?"})
print(response)

실습 2: RAG (Retrieval-Augmented Generation)

import json
from google import genai
from google.genai import types

# RAG 시스템 구성요소
# 1. 검색 함수 (Vector DB 시뮬레이션)
def document_search(query: str) -> str:
    """문서 검색 함수"""
    if "정책" in query or "규정" in query:
        documents = [
            "연차 휴가는 최소 15일이며, 미사용 시 익년 2월까지 보상 가능",
            "재택 근무는 주 2회까지 허용, 상사 승인 필요"
        ]
    else:
        documents = ["관련 문서를 찾을 수 없습니다."]

    return json.dumps({"retrieved_documents": documents})

# 2. RAG 파이프라인
# Query → 문서 검색 → LLM에 컨텍스트 전달 → 답변 생성

핵심 개념

용어 설명
LLM Large Language Model, 대규모 언어 모델
LangChain LLM 애플리케이션 개발 프레임워크
LCEL LangChain Expression Language, 체인 구성 문법
RAG Retrieval-Augmented Generation, 검색 증강 생성
프롬프트 LLM에 전달하는 입력 텍스트
Function Calling LLM이 외부 함수를 호출하는 기능

RAG 아키텍처

사용자 질문
    ↓
┌─────────────────┐
│  1. 검색(Retrieve)  │ → Vector DB에서 관련 문서 검색
└─────────────────┘
    ↓
┌─────────────────┐
│  2. 증강(Augment)   │ → 검색 결과를 프롬프트에 추가
└─────────────────┘
    ↓
┌─────────────────┐
│  3. 생성(Generate)  │ → LLM이 컨텍스트 기반 답변 생성
└─────────────────┘
    ↓
최종 답변

실습 파일 목록

전체 실습 코드 보기 - 클릭하면 소스 코드 확인 가능

파일 설명
랭체인1.py LangChain + Gemini 기본 사용법
구글1.py Google Gemini API 기본 호출
챗봇1.py 대화형 챗봇 (세션 관리)
함수1.py Function Calling 구현
rag1.py RAG 기본 구현
오픈1.py OpenAI GPT API 대화 예제

Table of contents