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, 멀티모달, 워크플로우에 유리