R&D/AI

Hello LangChain 기초편

sunshout 2024. 3. 29. 12:14

LangChain 의 기초는 Promp -> LLM -> Output 으로 구성되어 있다.

LangChain 의 프로그래밍 방법도 이러한 구조와 동일하다.

from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI

prompt = ChatPromptTemplate.from_template("tell me a short joke about {topic}")
model = ChatOpenAI(model="gpt-4")
output_parser = StrOutputParser()

chain = prompt | model | output_parser

chain.invoke({"topic": "ice cream"})

# Prompt

Prompt 를 쉽게 만들기 위해서 PromptTemplate 이 존재한다.

from langchain_core.prompts import ChatPromptTemplate

prompt = ChatPromptTemplate.from_template("tell me a short joke about {topic}")

Template Class 종류

#  LLM Model

다양한 모델의 객체를 생성한다.

from langchain_openai import ChatOpenAI

model = ChatOpenAI(model="gpt-4")

# Output 파싱

결과값을 쉽게 파싱할 수 있다.

from langchain_core.output_parsers import StrOutputParser

output_parser = StrOutputParser()

OutputParser Class 종류

 

# 모두 모아서

최종적으로 각 모듈을 파이프( | )의 개념을 통해서 연결한다.

* Pipe는 어떤 것의 output 을 다음 프로세스의 input 으로 넣는 개념인데, LangChain에서도 이 컨셉을 활용한다.

* 즉 prompt를 Model로 넣고, Model의 결과값을 output_parser의 입력값으로 넣는다.

chain = prompt | model | output_parser

#실행
chain.invoke({"topic": "ice cream"})