29 lines
1.1 KiB
Python
29 lines
1.1 KiB
Python
# stream_agent.py
|
|
import os, sys, time, json, openai
|
|
openai.api_key = os.getenv("OPENAI_API_KEY")
|
|
if not openai.api_key:
|
|
raise RuntimeError("Missing OPENAI_API_KEY")
|
|
def stream_response(prompt: str, model: str = "gpt-4o-mini") -> None:
|
|
try:
|
|
response = openai.ChatCompletion.create(
|
|
model=model,
|
|
messages=[{"role": "user", "content": prompt}],
|
|
stream=True,
|
|
temperature=0.7,
|
|
)
|
|
for chunk in response:
|
|
delta = chunk["choices"][0]["delta"]
|
|
if "content" in delta:
|
|
sys.stdout.write(delta["content"])
|
|
sys.stdout.flush()
|
|
print("\n--- Конец ответа ---")
|
|
except openai.OpenAIError as exc:
|
|
print(f"Ошибка при работе с OpenAI: {exc}", file=sys.stderr)
|
|
sys.exit(1)
|
|
if __name__ == "__main__":
|
|
if len(sys.argv) < 2:
|
|
print("Использование: python stream_agent.py \"Ваш запрос\"", file=sys.stderr)
|
|
sys.exit(1)
|
|
user_prompt = sys.argv[1]
|
|
stream_response(user_prompt)
|