# Async Agent Template
import asyncio
import os
from openai import AsyncOpenAI

client = AsyncOpenAI(api_key=os.getenv("OPENAI_API_KEY", "YOUR_API_KEY"))


async def ask(question: str, model: str = "gpt-4o-mini") -> str:
    resp = await client.chat.completions.create(
        model=model,
        messages=[{"role": "user", "content": question}],
    )
    return resp.choices[0].message.content


async def parallel_asks(questions: list):
    tasks = [ask(q) for q in questions]
    return await asyncio.gather(*tasks)


if __name__ == "__main__":
    questions = [
        "Wat is een LLM?",
        "Wat is een AI-agent?",
        "Wat is tool use?",
    ]
    answers = asyncio.run(parallel_asks(questions))
    for q, a in zip(questions, answers):
        print(f"Q: {q}\nA: {a}\n")
