❑ Langchain 개요
1. 소개
• 2022년 10월: 해리슨 체이스(Harrison Chase) 시작
• 2023년 6월: Github에서 가장 빠르게 성장한 오픈 소스 프로젝트
• OpenAI ChatGPT 출시와 함께 전 세계적으로 인기를 끌며 많은 사람들이 생성형 AI에 접근할 수 있게 도움
2. 등장배경
• LLM으로 여러 개의 작업을 연결 필요
• 예) 텍스트 분류 + 텍스트요약
1.정상 메일과 스팸메일 분류 후 2. 정상 메일의 내용을 요약
❑ Langchain의 등장배경
1. Langchain 주요 특징
• 랭체인을 통해 여러 시스템(작업) 이 하나의 통합해서 제공
• 다양한 LLM 지원: 거의 모든 LLM과 호환
• 중앙 집중식 개발 환경: 여러 가지 데이터를 가져오거나 다른 프로그램과 연결해서 함께 사용 가 능
• 모듈식 접근 방식: 여러 종류의 명령어(프롬프트)와 모델을 비교하고 선택해서 사용가능
❑ LangChain 어플리케이션의 구성 방식(주요모듈)
모델 I/O
1. 목적
• 언어 모델과 사용자 간의 인터페이스 제공
2. 주요기능
• 프롬프트(Prompts): 언어 모델 호출을 위한 명령어 작성 도구
• 언어 모델(Language Models): 다양한 언어 모델 통합 접근
• 출력 파서(Output Parsers): 언어 모델 결과를 분석하고 가공
프롬프트(Prompt)
• 프롬프트는 인공지능 모델에 어떤 작업을 수행하도록 지시하는 질문이나 명령문
• 예를 들어, "이 문장을 영어로 번역해 주세요."라는 문장이 프롬프트
프롬프트 템플릿(Prompt Template)
• 프롬프트 템플릿은 다양한 입력 값을 받아 동적으로 프롬프트를 생성하는 틀
• 템플릿에는 변수(플레이스홀더)가 포함되어 있어, 특정 값을 넣어 프롬프트를 완성
• 프롬프트 템플릿은 동일한 구조의 프롬프트를 반복적으로 생성할 때 유용
언어 모델
• 텍스트를 입력 받아 텍스트를 출력
프롬프트
• 사용자 입력을 받아 프롬프트 생성
출력 파서(Output Parsers)
• LLM(언어 모델)의 출력을 구조화된 데이터로 변환하는 도구
• 자유 형식 텍스트를 JSON, 리스트, 딕셔너리 등으로 변환