728x90
Why LangChain?
LLM 기반 앱을 쉽고 빠르게 구축하게 해주는 프레임워크(framework).
랭체인(LangChain)을 사용하여 챗봇에 메모리 추가, 프롬프트 형식 지정, 유효성 검사, 출력 파싱, 벡터 스토어 등 여러가지 기능을 쉽게 구축할 수 있다. 또한 모델 변경 시 쉽게 이전할 수 있다는 이점도 있다.
기본적인 '프롬프트 + 모델 + 출력' 파이프라인의 단계를 살펴보자.
1. 원하는 주제에 대한 사용자 입력을 전달한다.
2. Prompt 요소는 사용자의 입력을 받아 프롬프트를 생성한 후 PromptValue를 생성한다.
3. model 요소는 생성된 프롬프트를 사용하며, 평가를 위해 OpenAI LLM 모델에 전달된다. 모델이 생성한 출력은 ChatMessage 객체이다.
4. 마지막으로 ChatMessage에서 output_parser 요소를 가져와서 호출 메서드에서 반환되는 Python 문자열로 변환한다.
랭체인은 LCEL(LangChain Expression Language)라는 표현 방식으로 체인을 구축하고 있다.
LCEL을 사용하지 않은 코드와, 사용한 코드를 눈으로 비교해보자.
LCEL을 사용하면 훨씬 간단하게 개발할 수 있다.
참고: https://python.langchain.com/docs/expression_language/why#lcel
다음은 입출력 구성요소(Component)이다.
랭체인 문서를 참고하여 LLM 어플리케이션을 구축해보자.
728x90
'AI' 카테고리의 다른 글
생성형 인공지능 모델, 'Stable Diffusion' (0) | 2024.02.29 |
---|---|
랭체인(LangChain) 모듈 (0) | 2024.02.13 |
NumPy 배열의 차원 확인하기 (1) | 2023.10.02 |
결정 계수(R-squared, R2)와 정확도(Accuracy) (0) | 2023.08.28 |
다중 레이어 퍼셉트론(Multi-Layer Perceptron, MLP)의 파라미터 (0) | 2023.08.28 |