콘텐츠로 이동

37. API 응답 및 id로 재요청

Video

준비 중

Note

response 객체 구조 확인하기

test.py
import yaml
from dotenv import load_dotenv
from openai import OpenAI

with open("config.yaml") as f:
    config = yaml.safe_load(f)

load_dotenv()
client = OpenAI()

input_message = "안녕? 반가워! 어떻게 지내?"

response = client.responses.create(
    input=input_message,
    **config
)

from pprint import pprint
pprint(response.model_dump())
  • .model_dump(): response객체를 딕셔너리 형태로 변환
  • .id: 요청에 대한 id로 이 값을 활용하여 이전 대화 목록에서 이어서 다음 요청을 할 수 있다.
  • .output: 사용자 요청 이후 발생한 메세지들을 순차적으로 리스트 형태로 확인 가능하다.
  • .input_tokens: 입력 토큰의 수
  • .output_tokens: 출력 토큰의 수

response.id로 재요청

test.py
import yaml
from dotenv import load_dotenv
from openai import OpenAI

with open("config.yaml") as f:
    config = yaml.safe_load(f)

load_dotenv()
client = OpenAI()

previous_response_id = None
while True:
    input_message = input("User: ")
    response = client.responses.create(
        input=input_message,
        previous_response_id=previous_response_id,
        **config
    )
    previous_response_id = response.id
    print("Assistant: ", response.output_text)
  • 프로그램 종료
    • 윈도우: Ctrl + c
    • 맥: Command + c

Resources