추가한 코드의 내용은 다음과 같습니다.
(9) openai 패키지에서 OpenAI 클래스 불러오기 : OpenAI API를 활용하기 위해 openai 패키지의 OpenAI 클래스(class, 관련 기능을 모아놓은 코드 집합)를 불러옵니다.
(10) OpenAI 클라이언트 생성 : OpenAI API로 통신하기 위한 클라이언트를 생성합니다.
(11) API 요청 및 응답
• AI 모델로부터 받은 응답을 response 변수에 저장하기 위해 챗봇의 응답에 해당하는 st.chat_message("assistant"): 이하 부분을 수정합니다.
• API 요청 시 사용한 client.chat.completions.create는 openai 패키지에서 제공하는 명령으로, AI 모델에 텍스트 생성을 요청하는 역할을 합니다.
• client.chat.completions.create에 텍스트 생성을 요청할 때 인자 세 개를 전달합니다. model은 사용할 모델을 지정하고, messages는 전달할 메시지를 지정하며, stream은 스트림(실시간 출력) 응답 방식을 지정합니다.
(12) 응답 결과 출력: st.write_stream(response) 명령으로 응답 결과를 출력합니다. st.write()가 한 번에 모든 텍스트를 출력한다면, st.write_stream()은 한 번에 한 토큰씩 점진적으로 텍스트를 출력합니다.