오늘은 LangChain 공식 홈페이지에서 챗봇을 만드는 실습을 해보려고 합니다.
저는 주피터 노트북을 사용해서 실습을 진행해보았습니다.
Setup
먼저 세팅 과정입니다.
필요한 라이브러리를 설치해줍니다.
!pip install langchain
그리고 실습을 위해서는 OpenAI의 API가 필요합니다. 다음 링크로 가셔서 가입을 한 후, 해외 결제가 가능한 카드를 등록하시면 API를 받아서 사용하실 수 있습니다. 카드 등록을 하지 않으면 API 키를 입력해도 에러가 발생합니다.
https://platform.openai.com/api-keys
API를 발급 받으셨다면 다음 코드에 API 키를 입력하시면 됩니다.
import getpass
import os
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_API_KEY"] = getpass.getpass()
QuickStart
다음은 모델을 불러와서 사용하는 방법을 실습해보겠습니다.
langchain-openai 라이브러리를 설치 및 업데이트해주고, 불러와줍니다. 이후 다음과 같이 모델을 'gpt-3.5-turbo' 로 설정해줍니다.
!pip install -qU langchain-openai
from langchain_openai import ChatOpenAI
model = ChatOpenAI(model="gpt-3.5-turbo")
모델 설정을 마쳤다면 이제 .invoke 명령어를 사용하여 챗봇에게 질문을 할 수 있습니다.
from langchain_core.messages import HumanMessage
model.invoke([HumanMessage(content="Hi! I'm Juneon. How are you?")])
model.invoke([HumanMessage(content="Tell me about you")])
이렇게 질문을 하면 다음과 같은 결과가 출력됩니다.
하지만 이 모델은 기존 대화를 기억하지 못하고, 대화의 맥락을 기억하지 못합니다.
이를 해결하기 위해서는 다음과 같이 AIMessage 메서드를 통해 대화의 맥락을 입력해주어야합니다.
from langchain_core.messages import AIMessage
model.invoke(
[
HumanMessage(content="Hi! I'm Juneon. How are you?"),
AIMessage(content="Hello Juneon! I'm just a virtual assistant, so I don't have feelings, but I'm here to help you with anything you need. How can I assist you today?"),
HumanMessage(content="What's my name?"),
]
)
다음에는 간결한 출력을 얻을 수 있는 방법을 실습해보겠습니다.
'인공지능 > LangChain' 카테고리의 다른 글
검색증강생성 (RAG) (1) | 2024.07.29 |
---|---|
[LangChain] 공식문서 Build a Chatbot 실습 (2) (2) | 2024.07.26 |
[LangChain] 공식문서 Conceptual Guide docs (2) Components (0) | 2024.07.21 |
[LangChain] 공식문서 Conceptual Guide (1) Architecture, LCEL (0) | 2024.07.21 |
[LangChain] 2. 초거대언어모델 (LLM) (0) | 2024.07.16 |