본문 바로가기

AI & Bigbata

LangChain 이란?

LangChain 이란, LLM(대규모언어모델)을 사용하여 애플리케이션 생성을 단순화 할 수 있도록 설계된 프레임워크 입니다.

예를 들어 백엔드 DB의 세부 정보를 요약하는 JDBC 드라이버와 비슷하다 볼 수 있는데

통합된 API로 LLM 모델의 세부 사항을 요약하는데, 이 API를 통해 개발자가 최소한의 코드 수정으로 쉽게 모델을 수정할 수 있도록 합니다. 그리고 모델이 생성하는 정보의 맞춤화, 정확성 및 관련성을 개선하고 AI 개발 간소화를 위한 도구와 추상화 기능을 제공합니다.

 

1. 데이터 소스

애플리케이션에서 LLM에 대한 컨텍스트 구축을 위해 여러 데이터 소스를 검색하게 되는데 이때 서로 다른 소스에서 데이터를 액세스하고 검색할 수 있는 모듈과 통합시켜줍니다.

 

2. 단어 임베딩

검색된 데이터를 벡터로 변환하고 선택한 LLM 모델에 최적화 된 임베딩 모델을 선택하여 임베딩 모델에 벡터로 변환된 데이터를 전달합니다.

 

3. 벡터 데이터베이스

임베딩은 유사성 검색을 위해 벡터 데이터베이스에 저장되고 다양한 소스에서 벡터를 쉽게 저장하고 검색할 수 있도록 지원합니다.

 

4. LLM

LangChain은 OpenAI, Gemini 등 다양한 LLM과 오픈소스를 지원합니다.

 

LangChain 구성 요소

LLM 인터페이스
개발자가 코드에서 LLM을 연결하고 쿼리할 수 있는 API를 제공하고 간단한 API 호출을 통해 LangChain에서 GPT, Bard, PaLM 등의 LLM 모델과 상호 작용할 수 있습니다.

프롬프트 템플릿
개발자가 AI 모델에 대한 쿼리의 형식을 일관되고 정확하게 사용할 수 있도록 사전 구축된 템플릿을 제공합니다. 챗봇 애플리케이션 프롬프트 템플릿을 만들거나, 다양한 애플리케이션과 언어 모델에 템플릿을 재사용할 수 있습니다. 

에이전트
에이전트는 언어 모델이 쿼리에 응답하는 최상의 시퀀스를 결정하도록 유도하는 특수 체인입니다.
사용자의 입력, 사용 가능한 도구 및 원하는 결과를 얻기 위한 단계를 제공하며, 애플리케이션이 수행할 수 있는 작업 시퀀스를 반환합니다.  

검색 모듈
언어 모델 응답을 개선하는 정보를 변환하고, 저장하고, 검색하고, 가져오는 다양한 도구를 사용하여 RAG 시스템을 설계할 수 있습니다. 개발자는 단어 임베딩을 사용하여 정보의 의미론적 표현을 생성하고 로컬 또는 클라우드 벡터 데이터베이스에 저장할 수 있습니다. 

메모리
과거 상호 작용에서 가져온 정보로 응답을 수정합니다. LangChain을 사용하면 개발자가 시스템에 메모리 기능을 포함할 수 있으며 가장 최근의 대화를 기억하고 분석해서 가장 연관성이 높은 결과를 반환할 수 있습니다.

  
콜백
작업의 특정 이벤트를 로깅, 모니터링 및 스트리밍하기 위해 애플리케이션에 추가하는 코드

 

 

참고 : https://brunch.co.kr/@ywkim36/147

 

10분 만에 랭체인(LangChain) 이해하기

이 글을 읽으시기 전에 이전의 글 <10분 만에 RAG 이해하기>를 먼저 읽고 오시면 지금 이 글의 이해에 도움이 됩니다. 0. 등장 배경 이미 잘 알고 계시지만, 이미 시장에는 OpenAI의 ChatGPT, 앤쓰로픽의

brunch.co.kr

https://wikidocs.net/book/14314

 

<랭체인LangChain 노트> - LangChain 한국어 튜토리얼🇰🇷

**추천**은 공유할 수 있는 무료 전자책을 집필하는데 정말 큰 힘이 됩니다. **추천** 한 번씩만 부탁 드리겠습니다🙏🙏 ✅ **랭체인 한국어 튜토리얼 강의** …

wikidocs.net

 

'AI & Bigbata' 카테고리의 다른 글

LangSmith 설치  (0) 2024.10.14
LangSmith - LLM 디버깅, 모니터링을 위한 통합 플랫폼  (1) 2024.09.12