API Stream 응답 처리
test.py
test.py
import os
from dotenv import load_dotenv
from openai import OpenAI
load_dotenv()
client = OpenAI()
input_message = "재밌는 이야기 해줘"
response = client.responses.create(
input=input_message,
stream=True,
prompt = {
"id": os.environ["PROMPT_ID"]
}
)
for event in response:
if event.type == "response.output_text.delta":
print(event.delta, end="", flush=True)
test.py
import os
from dotenv import load_dotenv
from openai import OpenAI
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,
prompt = {
"id": os.environ["PROMPT_ID"]
}
)
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를 받아올 수 있다.