from dakora_client import Dakora
from dakora_agents.maf import DakoraIntegration
from agent_framework.openai import OpenAIChatClient # or agent_framework.azure.AzureOpenAIChatClient
# 1) Initialize Dakora (uses DAKORA_API_KEY env var if present)
dakora = Dakora()
# 2) One-line observability setup (OpenTelemetry via OTLP/HTTP → Dakora, budget checks, etc.)
middleware = DakoraIntegration.setup(dakora)
# 3) Plug into your MAF chat client
client = OpenAIChatClient(api_key="sk-...", middleware=[middleware])
agent = client.create_agent(id="support-bot")
# 4) Render a Dakora template and convert to an agent message (auto-tracked)
tmpl = await dakora.prompts.render(
"faq_responder",
{"question": "How do I reset my password?", "knowledge_base": "Click Forgot Password."}
)
response = await agent.run(tmpl.to_message())
# Optional: flush OpenTelemetry exporter (OTLP) before exiting
DakoraIntegration.force_flush()