BESPIN Tech Blog
  • Home
  • Tech
    • CSP

      AWS

      GCP

      NCP

      Cloud

      Migration

      LZ, Control Tower

      Backup

      Monitoring

      Container

      Infra

      OS

      Middleware

      Data

      RDB

      Big Data Platform

      Application

      CI/CD

      BESPICK 구독하기 ㅣ 1668-1280

  • Trend
  • IT
최신 리포트 다운로드 지금 바로 문의하기
BESPIN Tech Blog
  • Home
  • Tech
    • CSP

      AWS

      GCP

      NCP

      Cloud

      Migration

      LZ, Control Tower

      Backup

      Monitoring

      Container

      Infra

      OS

      Middleware

      Data

      RDB

      Big Data Platform

      Application

      CI/CD

      BESPICK 구독하기 ㅣ 1668-1280

  • Trend
  • IT
최신 리포트 다운로드 지금 바로 문의하기
BESPIN Tech Blog
BESPIN Tech Blog
  • Tech
    • CSP
      • AWS
      • GCP
      • NCP
    • Cloud
      • Migration
      • LZ, Control Tower
      • Backup
      • Monitoring
      • Container
    • Infra
      • OS
      • Middleware
    • Data
      • RDB
      • Big Data Platform
    • Application
      • CI/CD
  • Trend
  • IT
  • Contact US
AI

AI 이것만은 알고가자 1편 : LangChain이란?

by 민우 서 2025년 04월 21일
2025년 04월 21일
8

안녕하세요 오늘은 BESPIN GLOBAL AX실 양재현님이 작성해주신 ‘AI 이것만은 알고가자 1편 : LangChain이란?’ 대해서 소개해드리도록 하겠습니다. 포스팅은 AI 관련된 기본 개념들에 대해 5편으로 나누어 공유 하고자 합니다.

목차

  1. lang chain 이란?
  2. langchain을 활용한 – PDF 챗봇 구축 예시

1. lang chain 이란?

  • 대규모 언어 모델 ( LLM ) 을 활용하여 복잡한 애플리케이션을 구축 할 수 있도록 도와주는 프레임워크입니다.
  • 강력하고 차별화된 애플리케이션은 api를 통해 언어 모델을 호출할 뿐만 아니라 이를 통해 개발될 것이라 믿습니다.
  • 데이터 인식 : 언어 모델을 다른 데이터 소스에 연결합니다. (벡터스토어 – 임베딩 )
  • 에이전트 기능 : 언어 모델이 환경과 상호 작용할수 있도록 합니다. ( 어떤 툴을 사용할지 랭체인이 결정 ) – 향후 에이전트의 묶음이 최종 chatgpt가 될 것으로 예상합니다.

따라서 lang chain이란 언어 모델을 더 잘 활용할 수 있게끔 도와주는 도구라고 이해하면 됩니다.

하지만 chatgpt 3.5는 파일업로드 기능 불가 등과 같은 한계점이 있습니다. 현재는 4o(멀티모달-추후 설명) , 4o-preview(추론) 은 이러한 문제를 해결할 수 있습니다.

  • chatgpt 3.5는 2021년까지의 데이터를 학습한 LLM 초거대언어모델이므로 2022년부터의 정보에 대해서는 답변을 하지 못합니다.
    -> 해결방안 : Vectorstrore 기반 정보 탐색 ( RAG ) or Agent를 활용한 검색 결합으로 대응이 가능합니다.
  • 토큰 제한 4096 , 8192 토큰이라는 입력 토큰 제한이 존재합니다.
  • TextSplitter를 활용한 문서 분할이 가능합니다.
  • 환경 현상 Fact에 대한 질문을 했을때 엉뚱한 대답을 하거나 거짓말을 하는 경우가 많습니다.(전문용어로 할루시네이션)
  • 주어진 문서에 대해서만 답하도록 프롬프트 입력하여 어느정도 해결이 가능합니다.

따라서 chatgpt를 개량하고 업그레이드 니즈가 필요합니다.

  • 파인튜닝(고비용) : 기존 딥러닝 모델의 weight를 조정하여 원하는 용도의 모델로 업데이트해야합니다. ( 미세조정 과정 )
     예시 ) gpt의 인코딩 구조를 가진 BERT를 미세조정하여 감성 분류 모델로 활용합니다.
  • N-shot learning : 0개~N개의 출력 예시를 제시하여, 딥러닝 용도에 알맞은 출력을 하도록 조정합니다.
  • In-context learning : 문맥을 제시하고, 이 문맥 기반으로 모델이 출력하도록 조정합니다.

따라서 langchain을 활용하면 위에 대한 문제를 해결 가능합니다.

  • LLM : 초거대 언어모델로 , 생성 모델의 엔진과 같은 역할을 하는 핵심 구성 요소입니다.
    – gpt 3.5 , Palm2 , llama , stablevicuna , wizardlm
  • 프롬프트 : 초거대 언어모델에게 지시하는 명령문입니다.
    – prompt template , chat prompt template , example selectors(n-shot), output Parsers
  • Index : LLM이 문서를 쉽게 탐색할 수 있도록 구조화 하는 모듈입니다.
    – document loaders, text splitters, vectorstores, retrivers
  • 메모리 : 채팅 이력을 기억하도록 하여 , 이를 기반으로 대화가 가능하도록 하는 모듈입니다.
  • chain 종류 : LLM 사슬을 형성하여 , 연속적인 LLM 호출이 가능하도록 하는 핵심 구성 요소입니다.
    – LLM chain , Question Answering , Summarization , Retrieval Question / answerring
  • Agents : LLM이 기존 Prompt template으로 수행할 수 없는 작업을 가능케하는 모듈입니다.
    – custom agent , Custom Multiaction agent , conversation agent

2. langchain을 활용한 – PDF 챗봇 구축 예시

  1. 문서 업로드 – 도큐먼트 로더 (pypdfloader를 활용한 문서 가져오기)
  2. 문서 분할 – text splitter ( pdf 문서를 여러 문서로 분할 ) – 각각의 청크
  3. 문서 임베딩 ( 임데딩 투 벡터스토어 ) – LLM이 이해할수 있도록 문서 수치화
  4. 임베딩 검색 – 벡터스토어 retriever “ what is python?” – 질문과 연관성이 높은 문서 추출
  5. 답변 생성 – Qa achain ( qustion – relevant ) – 질문과 연관성이 높은 문서 추출
  6. 사용자 질문에 대한 답변 생성
  7. 전체 워크플로우 실행
  • 샘플 코드 공유
from langchain.document_loaders import PyPDFLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import FAISS
from langchain.chains import RetrievalQA
from langchain.llms import OpenAI

# 1. 문서 업로드 – 도큐먼트 로더 (PyPDFLoader를 활용한 문서 가져오기)

def load_pdf(file_path):
    loader = PyPDFLoader(file_path)
    documents = loader.load()
    return documents

# 2. 문서 분할 – text splitter (PDF 문서를 여러 문서로 분할) – 각각의 청크

def split_documents(documents, chunk_size=1000, chunk_overlap=100):
    splitter = RecursiveCharacterTextSplitter(
        chunk_size=chunk_size,
        chunk_overlap=chunk_overlap,
        length_function=len
    )
    chunks = splitter.split_documents(documents)
    return chunks

# 3. 문서 임베딩 (임베딩 투 벡터스토어) – LLM이 이해할 수 있도록 문서 수치화

def create_vectorstore(chunks):
    embeddings = OpenAIEmbeddings()
    vectorstore = FAISS.from_documents(chunks, embeddings)
    return vectorstore

# 4. 임베딩 검색 – 벡터스토어 retriever “What is Python?” – 질문과 연관성이 높은 문서 추출

def get_retriever(vectorstore):
    retriever = vectorstore.as_retriever()
    return retriever

# 5. 답변 생성 – QA Chain (질문과 연관성이 높은 문서 추출 및 답변 생성)

def create_qa_chain(retriever):
    llm = OpenAI()
    qa_chain = RetrievalQA.from_chain_type(
        llm=llm,
        chain_type="stuff",
        retriever=retriever,
        return_source_documents=False
    )
    return qa_chain

# 6. 사용자 질문에 대한 답변 생성

def answer_question(qa_chain, question):
    answer = qa_chain.run(question)
    return answer

# 7. 전체 워크플로우 실행

ef main():
    # PDF 파일 경로 설정
    pdf_path = "example.pdf"  # 여기에 실제 PDF 파일 경로를 입력하세요.

위 코드를 보면 LangChain은 

  • 파일 로딩
  • 분할 
  • 임베딩
  • 검색

등의 작업을 처리하고 , chatgpt LLM 모델은 언어 생성 및 응답 생성에 활용됨으로써 종합적인 솔루션을 제공합니다.

따라서 langchain은 대규모 언어 모델(LLM) 을 활용하여 복잡한 애플리케이션을 구축할수 있도록 설계된 오픈소스 라이브러리로, 개발자들이 손쉽게 자연어 처리 기능을 통합하고 확장할 수 있게 도와줍니다. 

여기까지 ‘AI 이것만은 알고가자 1편 : LangChain이란?’에 대해 소개해드렸습니다. 유익한 정보가 되셨길 바랍니다. 감사합니다. 

Written by 양 재현/ AX실

BESPIN GLOBAL

관련

AILangchain

HOT Trend

Recent Posts

  • 딜로이트도, 맥킨지도, 베스핀글로벌도: AI 에이전트로 일 바꾸는 시대

    2025년 07월 04일 클라우드베스핀글로벌clouddata데이터AI인공지능HelpNow AIbespinglobalAI에이전트helpnow업무자동화딜로이트
  • ⚔️데이터센터에서 시작된 전쟁? 요즘 뜨는 AIDC 개념부터 트렌드까지!

    2025년 06월 27일 클라우드clouddata데이터AI데이터센터클라우드 데이터센터bespinglobalAIDCAI 인프라베스핀글로벌
  • 구글부터 엔비디아까지, 빅테크 기업들의 AI 전략 최신본📖

    2025년 06월 20일 cloud베스핀글로벌클라우드data데이터AI구글마이크로소프트엔비디아AI에이전트google I/ONVIDIA GTC 2025Microsoft build 2025
  • AI를 연결한다고? 업계가 주목하는 ‘MCP’ 알아보기🔍

    2025년 06월 13일 베스핀글로벌클라우드cloudAIMCP
  • [WhaTap] RDS Failover/Reboot 관제 2 – RDS Failover

    2025년 05월 30일 RDSRDS FailoverRebootFailoverbespin global

베스핀글로벌은 모든 기업의 AI 혁신을 실현하기 위해, 세상에서 가장 혁신적이고 자동화된 AI 서비스와 솔루션을 만들어갑니다.
상호 : 베스핀글로벌 주식회사 ㅣ 대표자명 : 김써니, 허양호 ㅣ 사업자등록증번호 : 638-87-00223 ㅣ 통신판매번호 : 2019-서울서초-0347 ㅣ 대표전화 : 1668-1280
사업장주소지 : 서울특별시 서초구 강남대로 327, 13,14,15,16층(서초동,대륭서초타워) ㅣ 이메일 : info@bespinglobal.com ㅣ 개인정보 처리방침 ㅣ 개인정보 처리방침 안내

© 2026 BESPIN GLOBAL, All Rights Reserved.

BESPINGLOBAL
패밀리 사이트
China MEA SEA US

BESPIN Tech Blog
  • Home
  • Tech
    • CSP

      AWS

      GCP

      NCP

      Cloud

      Migration

      LZ, Control Tower

      Backup

      Monitoring

      Container

      Infra

      OS

      Middleware

      Data

      RDB

      Big Data Platform

      Application

      CI/CD

      BESPICK 구독하기 ㅣ 1668-1280

  • Trend
  • IT