티스토리 뷰

카테고리 없음

별첨 #6. LangChain이란?

미니대왕님 2025. 12. 21. 21:30

별첨 #1 KoSimCSE란?

별첨 #2. Chunking 청킹이란...

별첨 #3. n8n 완전 정복 가이드

별첨 #4. Chroma DB 완전 가이드

별첨 #4-1. Milvus란? 

별첨 #5. RAG란? 

별첨 #6. LangChain이란?

별첨 #7. MCP 서버 탑재

별첨 #8. Embedding)이란?

별첨 #9. LLaMA란

별첨 #10. kiwipiepy(키위파이파이)

별첨 #11. Poetry란?

✅ LangChain이란?

LangChain은 GPT 같은 **대형 언어 모델(LLM)**을 활용하여
문서 질의응답(Q&A), 챗봇, 에이전트, RAG 시스템을 빠르게 만들 수 있는 Python/JavaScript 프레임워크입니다.

🔹 한 줄 요약:

GPT에게 “기억”, “검색”, “문서 분석”, “외부 도구 활용” 능력을 주는 연결 도구

🧠 LangChain의 핵심 구성요소

설명

 

구성요소 설명
LLM GPT, Claude, KoAlpaca 등 연결
Prompt 모델에게 던지는 지시어 구성
Chain LLM + 도구 + 흐름을 연결
Tool / Agent 웹 검색, 계산기 등 외부 도구와 상호작용
Vector Store FAISS, Milvus 등 검색 DB와 연결
Memory 대화 이력을 기억 (챗봇용)
Document Loader PDF, Notion, 웹사이트 등 문서 로딩
Embeddings 의미 기반 벡터화 처리

✅ 설치 방법

Python 기준:

pip install langchain
  • 추가 도구들:
pip install openai faiss-cpu sentence-transformers
 

🔧 기본 사용법

📘 1. LLM 연결 (GPT)

from langchain.chat_models import ChatOpenAI

llm = ChatOpenAI(model_name="gpt-3.5-turbo")
response = llm.predict("한국의 수도는 어디인가요?")
print(response)
 
 

🔗 2. 체인 (Chain) 구성

 
 
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain

template = "다음 질문에 대답해 주세요: {question}"
prompt = PromptTemplate.from_template(template)

chain = LLMChain(llm=llm, prompt=prompt)

result = chain.run("AI가 세상을 어떻게 바꾸나요?")
print(result)

📚 3. 문서 질문 응답 (RAG)

from langchain.embeddings import HuggingFaceEmbeddings
from langchain.vectorstores import FAISS
from langchain.chains import RetrievalQA

# 문서 임베딩 및 벡터 DB 구축
texts = ["서울은 대한민국의 수도입니다.", "GPT는 OpenAI가 개발했습니다."]
embedding = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2")
db = FAISS.from_texts(texts, embedding)

# 질문 응답 체인 구성
qa = RetrievalQA.from_chain_type(llm=llm, retriever=db.as_retriever())
response = qa.run("서울은 어디의 수도인가요?")
print(response)
 

🧠 4. 메모리 (대화 기억)

from langchain.memory import ConversationBufferMemory
from langchain.chains import ConversationChain

memory = ConversationBufferMemory()
chat = ConversationChain(llm=llm, memory=memory)

print(chat.run("안녕?"))
print(chat.run("내가 누구인지 기억해?"))
 
 

🧩 LangChain 실전 활용 방안


 

활용 분야 설명
✅ 문서 질문 응답 (RAG) 사내 문서 → 질문 → GPT가 문서 기반 답변
✅ 데이터 분석봇 Pandas DF + GPT 조합
✅ 멀티툴 에이전트 웹 검색, 계산기, 파일 접근 등 연동
✅ 채팅 챗봇 기억 유지 + 감정 분석 등
✅ 자동화 Agent 이메일, Slack 자동화, Task 수행
✅ AI Copilot 코드 작성, 문서 요약, 고객 응대 보조

🔧 주요 LangChain 도구


 

 

도구 설명
LLMChain 프롬프트 + LLM 연결
RetrievalQA 검색 기반 질문응답
Agent 외부 도구 사용 가능 (계산, 검색 등)
VectorStore 벡터DB 연동 (FAISS, Milvus, Chroma 등)
Memory 대화 기록 저장
DocumentLoader PDF, 웹, CSV, Notion 문서 로딩

⚙️ LangChain + 오픈소스 연동 예시


 

기능연동  도구
문서 업로드 PyPDF, Tika, Textract
임베딩 HuggingFace, OpenAI
벡터 저장 FAISS, Chroma, Milvus
대시보드 Streamlit, Superset
API 서버화 FastAPI, Flask
로컬 LLM KoAlpaca, LLaMA, Mistral

🚀 LangChain 시작을 위한 추천 조합 (RAG 기준)


구성추천  도구
LLM GPT-4 (또는 KoAlpaca)
임베딩 HuggingFace MiniLM
벡터 DB FAISS (개발용), Milvus (운영용)
문서 분할 LangChain Splitter
UI Streamlit
API FastAPI

🔐 LangChain 단점 & 주의사항


항목 설명
업데이트 많음 버전 호환 잘 확인해야 함 (빠르게 바뀜)
디버깅 어려움 내부 체인이 복잡해질수록 추적 힘듬
성능 튜닝 필요 청킹/임베딩 품질, 프롬프트 설계 중요
비용 LLM API 사용 시 토큰 비용 발생

✅ 정리


요약 내용
LangChain이란? GPT 같은 LLM을 활용하는 자동화 프레임워크
무엇을 할 수 있나? 문서 Q&A, 챗봇, 에이전트, 자동화 등
설치는? pip install langchain
시작은? LLMChain, RetrievalQA, VectorStore부터
연결 가능한 도구 GPT, HuggingFace, Milvus, FAISS, PDF, CSV 등 대부분의 외부 데이터
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2026/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함