콘텐츠로 이동

38. API Stream 응답 처리

Video

준비 중

Note

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,
        stream=True,
        **config
    )
    print("Assistant: ", end="", flush=True)
    for event in response:
        if event.type == "response.output_text.delta":
            print(event.delta, end="", flush=True)
        elif event.type == "response.completed":
            previous_response_id = event.response.id
    print()

event.type

  • response.output_text.delta

    • 텍스트 토큰
    • event.delta로 스트림 중인 텍스트 토큰 글자를 받아올 수 있다.
  • response.completed

    • 스트리밍이 완료되었다는 시그널
    • event.response.id로 response id를 받아올 수 있다.

Resources