Data science/Langchain
[Langchain] 3. LangChain 모델
endingo
2025. 5. 3. 14:19
LangChain:
- LangChain은 대규모 언어 모델을 활용하여 체인을 구성
- 복잡한 작업을 자동화하고 쉽게 수행할 수 있도록 돕는 라이브러리
- LLM 프레임워크라고 보면됨
1. OpenAI 모델 활용
OpenAI에서 제공하는 모델 사용: gpt-4o-mini, whisper-1
여러 모델을 쉽게 전환하고 비교할 수있음
1) 모델선언
chat = ChatOpenAI(model="")
2) 모델사용
chat.invoke("세계에서 가장 큰 산은?")
3) 역할부여해서 모델 사용하기
# 역할부여
sys_role = '당신은 애국심을 가지고 있는 건전한 대한민국 국민입니다.'
question = "독도는 어느나라 땅이야?"
result = chat.invoke([HumanMessage(content = question), SystemMessage(content = sys_role)])
result
2. HuggingFace Model 사용하기
- API 방식
실행하려면 API 토큰 필요하고 무료플랜은 제한이 있을 수 있다.
예제는 생성형 모델이고 프랑스어가 생성됨
llm = HuggingFaceHub(
repo_id="", # 또는 bigscience/bloom 등
model_kwargs={"temperature": 0.5, "max_new_tokens": 100},
task = 'text-generation'
)
response = llm("Translate this sentence to French: 'I love programming.'")
print(response)
출력결과
주뗌므 라 프로그래먕
- 로컬방식
로컬에서 실행 가능하므로 API 비용 부담 없고 GPU 사용하기에 GPU가 없으면 속도가 느릴 수 있음
generator= pipeline(
"text-generation",
model="",
max_new_tokens=100,
temperature=0.7
)
llm = HuggingFacePipeline(pipeline=generator)
response = llm("What is LangChain?")
print(response)
OpenAI나 transformers 직접 쓰면 되지 왜 LangChain을 쓸까?
체인으로 LLM 사용을 조합, 구성요소 모듈화, 메모리, Tool, Agent 기능 제곱, 복잡한 RAG, 멀티모달, 워크플로우에 유리