안녕하세요 오늘은 BESPIN GLOBAL SRE실 노예원이 작성해주신 ‘[LLM] LangChain 의 개념 및 구글코랩 실습을 위한 환경 세팅’ 대해 소개해드리도록 하겠습니다.
목차
- LangChain 이란?
- LangChain 프레임워크의 구성
- 필수 라이브러리 설치
- OpenAI 인증키 등록
1. LangChain 이란?
LangChain이란 대규모 언어 모델(LLM)을 활용한 혁신적 프레임워크입니다.
- 출시 배경
2022년 10월, 해리슨 체이스가 오픈 소스로 시작한 프로젝트로, LLM을 활용해 애플리케이션과 파이프라인을 빠르게 개발할 수 있는 플랫폼을 목표로 설계되었습니다. 초기에는 챗봇, 질의응답, 자동 요약 등 다양한 LLM 애플리케이션의 신속한 개발을 지원하는 데 중점을 두었습니다.
- 성장 과정
2023년 4월 법인으로 전환하며 세쿼이아캐피털 등의 벤처캐피털로부터 투자를 유치하며 빠르게 성장했습니다.
- 최신 동향
2024년 1월, 최초의 안정적(stable) 버전인 v0.1.0을 공개하며 개발자 친화적인 프레임워크로 자리 잡았습니다. 초기에는 잦은 업데이트로 인한 버그와 코드 오류로 사용자에게 불편을 주었으나, 최신 버전 출시로 이러한 문제들이 크게 개선되었습니다.
- 핵심 가치
LangChain은 LLM을 활용한 혁신적 애플리케이션 개발을 단순화하고, 개발자들이 더 나은 사용자 경험을 제공할 수 있도록 돕는 데 주력하고 있습니다.
2. LangChain 프레임워크의 구성
랭체인(LangChain) 프레임워크는 LLM 애플리케이션 개발에 도움이 되는 여러 구성 요소로 이루어져 있습니다. 특히 개발자들이 다양한 LLM 작업을 신속하게 구축하고 배포할 수 있도록 설계되었습니다. 랭체인의 주요 구성 요소는 다음과 같습니다.
- 랭체인 라이브러리(LangChain Libraries)
파이썬과 자바스크립트 라이브러리를 포함하며, 다양한 컴포넌트의 인터페이스와 통합, 이 컴포넌트들을 체인과 에이전트로 결합할 수 있는 기본 런타임, 그리고 체인과 에이전트의 사용 가능한 구현이 가능합니다.
- 랭체인 템플릿(LangChain Templates)
다양한 작업을 위한 쉽게 배포할 수 있는 참조 아키텍처 모음입니다. 이 템플릿은 개발자들이 특정 작업에 맞춰 빠르게 애플리케이션을 구축할 수 있도록 돕습니다.
- 랭서브(LangServe)
랭체인 체인을 REST API로 배포할 수 있게 하는 라이브러리입니다. 이를 통해 개발자들은 자신의 애플리케이션을 외부 시스템과 쉽게 통합할 수 있습니다.
- 랭스미스(LangSmith)
개발자 플랫폼으로, LLM 프레임워크에서 구축된 체인을 디버깅, 테스트, 평가, 모니터링할 수 있으며, 랭체인과의 원활한 통합을 지원합니다.
3. 필수 라이브러리 설치
3-1. 랭체인(LangChain)
LangChain을 설치하면 langchain-core, langchain-community, langsmith 등이 함께 설치되어 프로젝트 수행에 필수적인 라이브러리들은 한번에 설치됩니다. 다만, 최소한의 기본적인 요구 사항만 충족되는 것이고, 다양한 외부 모델 제공자와 데이터 저장소 등과의 통합을 위해서는 개별적으로 의존성 설치가 필요합니다. 예를 들면, OpenAI에서 제공하는 LLM을 사용하려면 langchain-openai 의존성 라이브러리를 설치해야 합니다.

3-2. OpenAI 의존성 패키지(langchain-openai)
OpenAI 모델을 사용할 때 필요한 의존성 라이브러리를 설치하는 방법입니다.

4. OpenAI 인증키 등록
https://platform.openai.com 에서 비용을 청구한 후, 다음과 같이 API keys 를 발급받을 수 있습니다.

실습은 구글 코랩 환경에서 진행예정이며, OpenAI 인증키를 환경변수로 등록해두면 안전하게 사용할 수 있습니다.
아래 코드에서 ‘OPENAI_API_KEY’ 부분을 실제 OpenAI API 키 값으로 교체해야합니다. 인증키 함수를 매개변수로 직접 입력하는 것보다, 환경변수로 등록해서 사용하는 것이 안전한 방법입니다. 또한, API 키는 민감한 정보이므로 안전하게 관리하고 노출되지 않도록 유의해야합니다.

여기까지 ‘[LLM] LangChain 의 개념 및 구글코랩 실습을 위한 환경 세팅’에 대해 소개해드렸습니다. 유익한 정보가 되셨길 바랍니다. 감사합니다.
Written by 노 예원 / SRE실
BESPIN GLOBAL