import os
from openai import OpenAI


def main():
    model = os.environ["QUICKROUTER_MODEL"]
    client = OpenAI(api_key=os.environ["QUICKROUTER_API_KEY"],
                    base_url="https://api.quickrouter.ai/v1", timeout=60, max_retries=0)
    prompt = "用一句话说明幂等操作，不调用任何工具。"
    chat = client.chat.completions.create(
        model=model, messages=[{"role": "user", "content": prompt}])
    if chat.choices[0].finish_reason != "stop":
        raise RuntimeError("Chat result is not complete")
    print("Chat:", chat.choices[0].message.content)
    print("Chat usage:", chat.usage)
    response = client.responses.create(model=model, input=prompt, store=False,
                                       max_output_tokens=1024)
    if response.status != "completed" or not response.output_text:
        raise RuntimeError("Responses result is incomplete or has no text")
    print("Responses:", response.output_text)
    print("Responses usage:", response.usage)
    second = client.responses.create(
        model=model, store=False, max_output_tokens=1024,
        input=[{"role": "user", "content": prompt},
               *[item.model_dump(exclude_none=True) for item in response.output],
               {"role": "user", "content": "给一个 HTTP 方法的例子。"}])
    if second.status != "completed" or not second.output_text:
        raise RuntimeError("Second turn did not complete")
    print("Second turn:", second.output_text)
    print("Second usage:", second.usage)


if __name__ == "__main__":
    main()
