이번에는 전처리 했던 데이터셋을 벡터DB에 넣고 랭체인으로 연결을 하자고 회의가 나왔다.
그래서 나는 랭체인을 연결 할 예정이라 랭체인 공부를 해보았다.
우선 LLM호출과 프롬프트 템플릿 호출 예시이다.
import os
from langchain_openai import ChatOpenAI
# API 키 설정 (환경 변수 혹은 직접 입력)
os.environ["OPENAI_API_KEY"] = "여러분의_API_키"
# 모델 초기화 (gpt-3.5-turbo 또는 gpt-4o)
llm = ChatOpenAI(model="gpt-4o-mini")
# 질문 및 답변 출력
response = llm.invoke("랭체인이 뭐야? 한 문장으로 설명해줘.")
print(response.content)
그리고 아래는 프롬프트 템플릿 호출 예시이다.
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-4o-mini")
# 1. 템플릿 생성: 시스템 역할과 사용자 질문 형식을 지정합니다.
prompt = ChatPromptTemplate.from_messages([
("system", "너는 유능한 요리사야. 사용자가 재료를 말하면 만들 수 있는 요리를 추천해줘."),
("user", "{ingredients}로 만들 수 있는 요리가 뭐야?")
])
# 2. 체인(Chain) 생성: 템플릿과 모델을 연결합니다. (LCEL 문법)
chain = prompt | llm
# 3. 실행
result = chain.invoke({"ingredients": "계란, 양파, 감자"})
print(result.content)
개발 코스 3주차 고생하셨습니다!! LLM 연동을 위해 랭체인 관련 학습 진행 중이시군요. 중간 데모데이 앞두고 관련 환경 세팅에 들어가실 것 같은데 잘 해내시길 바랍니다,, 파이팅!!