Model I/O
•
언어모델과의 인터페이스
•
모든 언어 모델 애플리케이션의 핵심 요소
•
LangChain은 모든 언어 모델과 인터페이스할 수 있는 빌딩 블록을 제공한다.
◦
Prompt: 모델 입력을 템플릿화, 동적으로 선택 및 관리
◦
Language Models: 공통 인터페이스를 통해 언어 모델을 호출
◦
Output Parser: 모델 출력에서 정보 추출
1. Format (입력 포맷팅)
•
입력값 x와 y:
◦
여기서 x와 y는 입력 데이터
◦
예시에서는 "foo"와 "bar"라는 값으로 정의된다.
◦
예시로는 "foo"가 "bar"를 좋아하는지에 대한 질문을 생성한다.
•
포맷팅 과정:
◦
주어진 값을 기반으로 질문을 생성하는 과정
◦
포맷팅 단계에서, 입력 데이터를 템플릿에 맞춰 다음과 같은 질문으로 변환된다:
포맷된 질문: "Does foo like bar, and why?"
◦
이 단계에서는 주어진 값(x = foo, y = bar)을 템플릿에 삽입하여 질문을 형식화한다.
2. Predict (예측)
•
LLM 또는 Chat Model:
◦
포맷된 질문은 대형 언어 모델(LLM) 또는 챗봇 모델로 전달된다.
◦
모델은 질문에 대한 응답을 생성한다. 예시에서는 질문 "Does foo like bar, and why?"에 대해 "Foo does..."라는 응답을 생성한다.
•
예측 결과:
◦
이 예측 단계는 모델이 주어진 질문에 대해 텍스트 형식으로 답변을 생성하는 단계이다.
◦
예시 결과: "Foo does..."로 응답을 생성.
3. Parse (출력 파싱)
•
출력 파싱:
◦
모델이 생성한 텍스트 응답을 더 구조화된 형식으로 변환하는 단계이다. 응답을 받아서 해당 내용을 JSON 같은 구조화된 데이터로 변환한다.
•
결과:
◦
응답을 파싱하여 의미 있는 정보로 구조화한다. 예시에서는 "likes": True와 "reason": "Because..."라는 식으로 결과를 변환한다.
{
"likes": True,
"reason": "Because ..."
}
Python
복사