본문 바로가기
프로그래밍/AI

LLM 앱 개발을 위한 첫걸음 Windows OS 에서 LangChain(랭체인) 설치의 정석

by K-인사이터 2025. 2. 6.
반응형
반응형

LangChain 최신 버전(0.3)과 기존 버전의 차이점

가장 큰 차이점은 Pydantic 2로의 변화를 꼽을 수 있습니다. 그리고 파이썬 버전을 3.9 버전 이상을 사용하도록 합니다. 이로인해 기존의 validator 데코레이션 대신 field_validator 와 같은 새로운 데코레이션을 사용해야하는 경우가 발생합니다. 

기능 LangChain 0.2 LangChain 0.3
Pydantic 버전 Pydantic 1 Pydantic 2
Python 지원 Python 3.8 이상 Python 3.9 이상
성능 개선 기본적인 성능 최적화된 알고리즘으로 성능 및 지연 시간 감소
에러 처리 표준 에러 처리 자동 복구 기능을 포함한 향상된 에러 처리
자원 관리 기본 자원 관리 메모리 및 CPU 활용 최적화
문서화 표준 문서 제공 개편된 문서와 명확한 가이드 제공
새로운 통합 기능 제한된 통합 확장된 통합 및 새로운 모듈 추가
사용 중단된 기능 일부 사용 중단된 기능 유지 사용 중단된 기능 제거

 

Pydantic 2 에 대해서 자세한 정보를 원한다면 아래의 링크를 추천드립니다. 

2025.02.06 - [프로그래밍/AI] - LLM 앱 개발의 첫걸음 LangChain(랭체인) 0.3 버전 출시 Pydantic 2 란?

 

LLM 앱 개발의 첫걸음 LangChain(랭체인) 0.3 버전 출시 Pydantic 2 란?

LangChain 0.3 버전에서 변화 랭체인 0.3 버전은 0.2 버전과 비교하여 여러가지 중요한 변화와 개선이 포함되었습니다. 통합 패키지 관리, 에러 처리 복구, 응답 메타데이터 제공, 도구 통합 및 표준

k-in.tistory.com

 

LangChain 어떤 버전을 사용해야 하는가? 

랭체인 설치에 앞서 새로운 버전보다는 이전 버전의 코드가 온라인에 많이 풀려있습니다. 따라서 학습하기에는 예전 코드를 사용하기 좋지만 신규 기능을 사용할 수 없기에 학습으로 인한 성취 효과는 떨어집니다. 따라서 0.3 버전을 설치해서 0.2 버전과 어떻게 달라졌는지를 체크해 나가면서 자신만의 경쟁력을 쌓을 수 있습니다. 

 

LangChain 설치 및 환경 구성 (Windows)

윈도우 운영체제에서 파이썬 버전 충돌없이 깔끔하게 설치하는 방법 

python 3.9 버전 이상을 설치합니다. 추천하는 방법은 파이썬 공식 홈페이지 로 이동하여 최신 버전을 다운받습니다. 그리고 기존 C:\ 드라이브 폴더에 Python310, Python311 와 같이 별도의 버전을 지정해서 저장합니다. 

PS C:\> dir | findstr Python
d-----        2024-10-14   ?? 3:25                Python27
d-----        2024-05-03  ?? 12:18                Python310
d-----        2025-01-28   ?? 1:27                Python311
d-----        2025-02-03  ?? 12:55                Python313

 

py 유틸리티를 이용한 파이썬 버전 선택 및 가상환경 생성

윈도우 운영체제는 py 유틸리티를 제공합니다. 이 유틸리티는 설치된 파이썬 버전들을 자동으로 추적하며 원하는 파이썬 버전을 간편하게 선택하고 실행할 수 있도록 합니다. 

 py --list
 -V:3.13 *        Python 3.13 (64-bit)
 -V:3.11          Python 3.11 (64-bit)
 -V:3.10          Python 3.10 (64-bit)
 -V:2.7           Python 2.7

 

랭체인은 파이썬으로 개발되어 있어 설치를 위해서는 가상환경을 구성해야 합니다. venv 모듈을 사용하여 만들겠습니다. py 유틸을 통해 파이썬 버전을 선택하고 곧바로 가상환경까지 만들 수 있습니다. 

py -3.13 -m venv .venv # python3.13 버전의 가상환경 생성
.\.venv\Scripts\activate # 가상환경실행

 

Ollama 패키지 설치 예시로 본 랭체인 0.2버전과 0.3버전의 설치 차이점 

다음으로 랭체인 패키지를 설치해야 합니다. 여기서 0.2 버전과 0.3 버전의 차이점에 대해서 이해해야 합니다. 앞으로 로컬에서 LLM 모델을 다운받아서 사용할 예정이므로 Ollama 예시를 통해서 차이점을 간단하게 설명하겠습니다. 

항목 LangChain 0.2 LangChain 0.3
통합 패키지 구성 Ollama 통합과 같은 LangChain 관련 기능이 langchain-community 나 일부 모듈에 포함되어 있었으며, monolithic 하게 관리되고 있음 Ollama 통합이 독립적인 패키지(예: langchain-ollama)로 분리되어 관리되어 명확한 버전 관리와 업데이트가 가능함
설치 방법 설명 버전에 따라 langchain, langchain-community, 그리고 langchain-ollama 0.2.x 버전을 함께 설치해야 함 각 패키지가 분리되어 있으므로, LangChain 기본 패키지(0.3)와 함께 별도로 설치
설치 명령어 예시 예: pip install langchain langchain-community langchain-ollama 예: pip install "langchain>=0.3,<0.4" 와 pip install -U langchain-ollama

 

기존 0.2 버전에서는 Ollama 통합(intergration) 기능을 추가하기 위해서 langchain-community 와 langchain-ollama 를 설치해야 했다면 0.3 버전에서부터는 langchain-community 설치 없이 langchain-ollama 만 설치하면 되도록 분리되었습니다. 따라서 여러분은 아래의 명령어를 실행해서 패키지를 설치합니다. 

 pip install "langchain>=0.3,<0.4"
 pip install -U langchain-ollama

 

랭체인 패키지 설치 후 정상적으로 설치되었는지 테스트 

ollama 를 아직 설치하지 않았다면 ollama 공식 홈페이지 로 이동합니다. 그리고 설치 후에 파워쉘 등의 터미널에서 아래의 명령어를 입력해주세요. qwen2.5는 경량 LLM 으로 알리바바에서 개발하고 공개한 LLM 입니다. 미국에의해 GPU 수출을 제한받고 있어 매우 가볍고 노트북 수준에서도 잘 동작합니다. 

ollama pull qwen2.5:3b

 

다음으로 아래의 간단한 코드를 작성해주세요. 

from langchain_ollama import ChatOllama

messages = [
    (
        "system",
        "You are helpful assistant. but sometimes you are negative bad assistant.",
    ),
    ("human", "I love programming."),
]

llm = ChatOllama(model="qwen2.5:3b", temperature=0.5)
for chunk in llm.stream(messages):
    print(chunk.content, end="", flush=True)

 

이제 여러분만을 위한 LLM 앱을 만들 준비가 완료되었습니다. 아래의 명령어를 실행하면 위 코드가 실행되고 LLM 과 대화할 수 있게 되었습니다. 

.venv\Scripts\activate
python main.py
That's great to hear! Programming can be a very rewarding field, allowing you to create innovative solutions and solve complex problems. If you need help with any coding challenges or have questions about programming languages or concepts, feel free to ask.

 

 

랭체인에 대한 개괄적인 설명을 읽고 싶다면 아래의 글을 참고해주세요 

2025.02.02 - [프로그래밍/AI] - LLM 앱 개발을 위한 첫 걸음 LangChain 이란?

 

LLM 앱 개발을 위한 첫 걸음 LangChain 이란?

LangChain 이란?대규모 언어 모델(LLM)을 기반으로 하는 앱을 개발하기 위한 오픈소스 프레임워크입니다. LLM을 활용한 챗봇과 같은 애플리케이션 개발 과정을 모듈화, 체인, 통합, 에이전트, 메모리

k-in.tistory.com

 

 

끝. 

반응형