import asyncio
from dedalus_labs import AsyncDedalus, DedalusRunner
from dedalus_labs.utils.stream import stream_async
from dotenv import load_dotenv
load_dotenv()
def policy(ctx: dict) -> dict:
step = ctx.get("step", 1)
if step >= 3:
# स्टेप 3 के बाद, मॉडल से अंतिम उत्तर देने के लिए कहें
return {
"message_prepend": [
{"role": "system", "content": "अब अपना अंतिम उत्तर प्रदान करें।"}
],
"max_steps": 4
}
return {}
async def main():
client = AsyncDedalus()
runner = DedalusRunner(client)
result = runner.run(
input="इंटरनेट के इतिहास पर शोध करें और मुख्य मील के पत्थरों का सारांश दें",
model="openai/gpt-5.2",
mcp_servers=["windsor/brave-search-mcp"], # Brave Search MCP के माध्यम से वेब खोज
stream=True,
policy=policy
)
await stream_async(result)
if __name__ == "__main__":
asyncio.run(main())