[LangChain] 1. ChatGPT API 활용

김제현·2024년 1월 20일
0

LangChain

목록 보기
1/6
post-thumbnail

ChatGPT API 활용

  • 똑같거나 비슷한 질문이 들어왔을 때 일관성을 높이기 위해선 temperature를 0에 가깝게 설정하면 된다.
  • from langchain.chat_models import ChatOpenAI : 채팅 답변을 타이핑하듯이 출력하여 답변이 지연되는 현상을 완화할 수 있음
from langchain.chat_models import ChatOpenAI
from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler
import os

os.environ["OPENAI_API_KEY"] = 'API_KEY'

chatgpt = ChatOpenAI(model_name="gpt-3.5-turbo", streaming=True, callbacks=[StreamingStdOutCallbackHandler()], temperature = 0)
answer = chatgpt.predict("why python is the most popular language? answer in Korean")

print(answer)

역할 부여하기

  • 채팅 모델은 챗봇의 역할을 부여하는 SystemMessage, 사용자가 보내는 메시지인 HumanMessage, 답변으로 돌아오는 AI메시지로 구성된다.
from langchain.chat_models import ChatOpenAI
from langchain.schema import HumanMessage, SystemMessage, AIMessage
# 채팅 답변을 타이핑하듯이 출력 = 답변이 나오는대로 계속해서 출력 -> 답변 지연시간을 좀 해결할 수 있음
from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler
import os

os.environ["OPENAI_API_KEY"] = 'API_KEY'

# 신뢰성이 높을수록 temperature를 0으로 -> 0으로 가까워질수록 질문에 대한 일관성이 높아짐
chatgpt = ChatOpenAI(model_name="gpt-3.5-turbo", streaming=True, callbacks=[StreamingStdOutCallbackHandler()], temperature = 0)

answer = chatgpt(
  [
    SystemMessage(content="당신은 공부 계획을 세워주는 스터디 플래너 머신입니다. 사용자의 공부 주제를 입력 받으면, 이를 학습하기 위한 공부 계획을 작성합니다."),
    HumanMessage(content="Large Language Model에 대해서 공부하고 싶어요.")
  ]
)


print(answer.content)

참고

모두의 AI

0개의 댓글