본문 바로가기
AI 공부/AI 개발도구

[Langchain] 🚀 랭체인 Langchain 시작하기: 초보자를 위한 가이드

by 데이터 AI 벌집 2025. 4. 12.
반응형

[Langchain] 🚀 랭체인 Langchain 시작하기: 초보자를 위한 가이드

💡 Langchain이란?

Langchain은 자연어 처리(NLP) 모델을 기반으로 한 애플리케이션을 쉽게 개발할 수 있도록 도와주는 프레임워크입니다. 최근 LLM(대형 언어 모델)의 발전 덕분에 누구나 자연어 모델을 활용한 서비스를 만들 수 있는 시대가 되었고, Langchain은 그 진입장벽을 획기적으로 낮춰줍니다.

Langchain은 복잡한 인공지능 모델 통합 과정을 단순화시켜주며, 텍스트 생성, 요약, 번역, 질문 응답 등 다양한 작업을 수행할 수 있는 컴포넌트들을 제공합니다. 모듈형 구조 덕분에 유연하게 커스터마이징할 수 있다는 것도 큰 장점이죠.


🛠️ 환경 세팅 방법

Step 1: 필요한 준비물

  • Python 3.7 이상
  • 개발용 에디터 (VS Code, PyCharm, Jupyter 등)
  • 기본적인 Python 문법 지식

Step 2: Langchain 설치하기

# 가상환경 생성
python -m venv langchain-env
source langchain-env/bin/activate  # 윈도우는 langchain-env\Scripts\activate

# 필수 패키지 설치
pip install langchain
pip install openai  # OpenAI 모델 사용 시
pip install requests  # 외부 API 연동 시
 
 

가상환경을 이용하면 프로젝트 간 의존성 충돌을 방지할 수 있습니다.


🔑 Langchain 핵심 개념

1. Language Models (언어 모델)

Langchain은 OpenAI, Hugging Face 등의 다양한 언어 모델을 쉽게 연동할 수 있도록 도와줍니다.

from langchain import OpenAI
llm = OpenAI(api_key="your_openai_api_key")

2. Chains (체인)

"체인"은 여러 작업을 순차적으로 연결하는 구조입니다. 예를 들어 텍스트를 생성하고 그 결과를 요약하는 두 개의 체인을 연결할 수 있습니다.

from langchain import LLMChain

generate_chain = LLMChain(llm=llm, prompt="Generate a short story about a cat.")
summary_chain = LLMChain(llm=llm, prompt="Summarize this: {input}")

story = generate_chain.run()
summary = summary_chain.run(input=story)

3. Agents (에이전트)

에이전트는 상황에 따라 다양한 행동을 선택할 수 있는 동적 워크플로우입니다.

from langchain.agents import initialize_agent

tools = [/* 계산기나 외부 도구 등 */]
agent = initialize_agent(tools=tools, llm=llm, agent_type="zero-shot-react-description")

response = agent.run("What is the capital of France?")
print(response)  # Paris

 


💬 Langchain으로 간단한 챗봇 만들기

1단계: 목적 정의

  • 기술 관련 질문에 답하기
  • 답변을 요약해서 제공하기

2단계: 코드 구현

 
from langchain import OpenAI, LLMChain

llm = OpenAI(api_key="your_openai_api_key")
answer_chain = LLMChain(llm=llm, prompt="Answer this question with detail: {input}")
summary_chain = LLMChain(llm=llm, prompt="Summarize this: {input}")

while True:
    user_input = input("Ask a question about technology (type 'exit' to quit): ")
    if user_input.lower() == 'exit':
        break
    answer = answer_chain.run(input=user_input)
    summary = summary_chain.run(input=answer)
    print("Answer:", answer)
    print("Summary:", summary)

3단계: 실행

python tech_chatbot.py

 


🌐 고급 기능

맞춤형 프롬프트 설정하기
custom_prompt = "You are a tech expert. Answer with clarity: {input}"
custom_chain = LLMChain(llm=llm, prompt=custom_prompt)

response = custom_chain.run(input="What are the latest AI trends?")
print(response)

 


🧠 디버깅과 최적화 팁

로깅 추가하기

import logging
logging.basicConfig(level=logging.INFO)
 

캐싱 활용하기

from joblib import Memory

memory = Memory('./cache', verbose=0)

@memory.cache
def cached_query(question):
    return answer_chain.run(input=question)

✨ 마무리하며

Langchain은 단순한 챗봇부터 고도화된 에이전트 기반 애플리케이션까지 다양한 것을 가능하게 해주는 훌륭한 프레임워크입니다. Python에 익숙하다면 오늘부터라도 바로 시작할 수 있을 정도로 접근성이 좋습니다.

반응형