AI & Cloud 응용사례

랭체인(Langchain)으로 AI Application을 만들자

AI패스파인더 2023. 7. 9. 11:19
더보기
  • 랭체인?
  • LangChain으로 애플리케이션 만들기
  • LangChain을 활용한 애플리케이션 사례

 

  • 랭체인?

(랭체인)



오늘은 LangChain이란 LLM을 다루는 Application 프레임워크에 대해 알아 보겟습니다.

대형 언어 모델은 범용적인 자연어 처리 능력을 가지고 있지만,

깊이 있는 전문 지식이나 도메인 특화적인 질문에 대한 답변을

생성하는 데에는 한계가 있습니다. 이는 LLM의 본질적인 한계로,

넓은 범위의 언어 이해력과 깊은 도메인 지식 사이에서

항상 균형을 맞추어야 한다는 어려움이 존재합니다.

 

이 문제를 해결하기 위해 등장한 것이 바로 LangChain입니다.

이 도구의 핵심적인 기능은 사용자가 다양한 컴포넌트를 '체인'처럼

연결하여 하나의 일관된 애플리케이션을 만들 수 있게 하는 것입니다.

이러한 체인은 일련의 단계를 순차적으로 실행하며,

각 단계의 출력은 다음 단계의 입력으로 사용됩니다.

 

LangChain의 핵심적인 기능 중 하나는 바로 '체인'입니다.

LangChain에서 체인은 다양한 컴포넌트들을

순차적으로 연결하여 하나의 일관된 애플리케이션을

만드는 과정을 의미합니다.

LangChain에서 체인은 링크로 구성되며, 각 링크는 한 단계의 작업을 담당합니다.

체인은 순차적으로 작동하여 각 링크의 출력이 다음 링크의 입력으로 사용됩니다.

이 방식으로 체인은 복수의 대형 언어 모델 (LLMs)의 강점을 결합하여,

더욱 정교하고 복잡한 모델을 만들 수 있게 도와줍니다.

LangChain의 체인은 'Sequential chains'라는 추상화 기능을 통해

사용자가 복잡한 작업을 보다 쉽게 구성할 수 있게 해줍니다.

Sequential chains는 말 그대로 연속적인 순서대로 링크를 실행하며,

이를 통해 사용자는 첫 번째 LLM의 출력을 두 번째 LLM의 입력으로 사용하는 등,

더욱 복잡한 작업 구성이 가능해집니다.

 

 

  • LangChain으로 애플리케이션 만들기

LangChain을 활용하면 강력한 언어 모델을 기반으로 한

애플리케이션 개발이 가능합니다.

이번 포스팅에서는 이러한 애플리케이션을 만드는 과정을 간략하게 안내하며,

실제 코드 예시를 통해 더욱 구체적으로 설명하겠습니다.

1단계: 필요한 모듈 설치

LangChain을 사용하기 전에 먼저 필요한 패키지들을 설치해야 합니다.

가장 기본적으로 LangChain 라이브러리가 필요합니다.

pip install langchain


2단계: LangChain 초기 설정

LangChain에는 '스키마', '모델', '프롬프트', '인덱스', '메모리', '체인', '에이전트' 등의

주요 모듈이 있습니다. 애플리케이션의 목적에 맞게 이들 모듈을 설정합니다.

예를 들어, GPT-3 언어 모델을 사용하려면 다음과 같이 '모델' 모듈을 설정합니다:

from langchain.models import GPT3Model

model = GPT3Model(api_key='your-api-key')


3단계: 체인과 에이전트 만들기

'체인'과 '에이전트'는 LangChain의 핵심 개념입니다.

'체인'은 하나 이상의 언어 모델이나 유틸리티 호출을

순차적으로 이어붙인 것을 의미합니다.

이를 만들기 위해선 아래와 같이 코드를 작성할 수 있습니다:

from langchain.chains import SimpleSequentialChain

chain = SimpleSequentialChain(links=[model])


4단계: 애플리케이션 테스트 및 배포

애플리케이션이 정확하게 작동하는지 확인하기 위해 테스트를 실시합니다.

test_input = "Hello, LangChain!"
output = chain.run(test_input)
print(output)


문제가 없다면 애플리케이션을 배포하고 사용자에게 제공하게 됩니다.

LangChain은 언어 모델을 활용한 애플리케이션 개발을

간소화하면서도, 강력한 기능을 제공합니다.

그만큼 개발자의 창의력을 통해 다양하고 복잡한 작업을

수행하는 애플리케이션을 만들 수 있습니다.

 

(Note: 위의 코드 예시는 임의의 예시이며, 실제 LangChain 사용 시에는

해당 라이브러리의 문서 및 API를 참고하여야 합니다.

특히, GPT-3를 사용하기 위한 'your-api-key'는 실제 OpenAI에서

발급받은 키로 대체해야 합니다.)

 

 

  • LangChain을 활용한 애플리케이션 Case

LangChain을 활용하면

문서 분석 및 요약, 챗봇 구축, 코드 분석, 기계 번역, 질의 응답 시스템 구축,

그리고 창의적인 콘텐츠 생성 등 다양한 어플리케이션을 만들 수 있습니다.

기업에서도 고객의 질문을 이해하고, 적절한 응답을 생성하며, 

필요한 경우 다른 데이터 소스에 연결하여 더욱 풍부한 정보를 제공할 수 있도록 

랭체인을 활용한 챗봇과 문서분석 애플리케이션을 앞다투어 적용하고 있습니다.