प्रतिक्रियाओं को जैसे‑जैसे वे उत्पन्न हों, वैसे‑वैसे प्रदर्शित करें
स्ट्रीमिंग पूरे उत्तर के तैयार होने का इंतज़ार करने के बजाय आउटपुट को टोकन‑दर‑टोकन दिखाती है। उपयोगकर्ता तुरंत प्रगति देख सकते हैं, जो लंबे आउटपुट या इंटरैक्टिव एप्लिकेशन के लिए महत्वपूर्ण होता है।
stream=True सेट करें ताकि उपयोगकर्ता एजेंट के काम करते समय प्रगति देख सकें।
गलत कोड की रिपोर्ट करें
कॉपी करें
AI से पूछें
import asynciofrom dedalus_labs import AsyncDedalus, DedalusRunnerfrom dedalus_labs.utils.stream import stream_asyncfrom dotenv import load_dotenvload_dotenv()async def main(): client = AsyncDedalus() runner = DedalusRunner(client) stream = runner.run( input="Find me the nearest basketball games in January in San Francisco (stream your work).", model="anthropic/claude-opus-4-5", mcp_servers=["windsor/ticketmaster-mcp"], # Ticketmaster के माध्यम से ईवेंट खोजें stream=True, ) await stream_async(stream)if __name__ == "__main__": asyncio.run(main())
तुलना: नॉन‑स्ट्रीमिंग बनाम स्ट्रीमिंग (एक ही परिदृश्य)
नीचे दिया गया परिदृश्य दोनों स्निपेट्स में समान है। अंतर केवल इतना है कि क्या आप stream=True सेट करते हैं और स्ट्रीम पर इटेरेट करते हैं।
Python में, नॉन‑स्ट्रीमिंग का अर्थ stream=False होता है, “sync” नहीं। यदि आप AsyncDedalus का उपयोग करते हैं, तो आप फिर भी async कोड ही लिखेंगे और asyncio.run(...) का उपयोग करेंगे। यदि आप पूरी तरह से synchronous (सिंक्रोनस) कोड पसंद करते हैं, तो Dedalus Client का उपयोग करें (उदाहरण नीचे दिया गया है)।
import asynciofrom dedalus_labs import AsyncDedalus, DedalusRunnerfrom dotenv import load_dotenvload_dotenv()async def main(): client = AsyncDedalus() runner = DedalusRunner(client) result = await runner.run( input="Find me the nearest basketball games in January in San Francisco.", model="anthropic/claude-opus-4-5", mcp_servers=["windsor/ticketmaster-mcp"], # Ticketmaster के ज़रिए इवेंट्स खोजें ) # आपको आउटपुट केवल तब दिखेगा जब पूरा रन समाप्त हो जाएगा। print(result.final_output)if __name__ == "__main__": asyncio.run(main())
from dedalus_labs import Dedalus, DedalusRunnerfrom dotenv import load_dotenvload_dotenv()def main(): client = Dedalus() runner = DedalusRunner(client) result = runner.run( input="जनवरी में सैन फ़्रांसिस्को में मेरे लिए सबसे नज़दीकी बास्केटबॉल मैच ढूंढें।", model="anthropic/claude-opus-4-5", mcp_servers=["windsor/ticketmaster-mcp"], # Ticketmaster के माध्यम से इवेंट खोजें ) print(result.final_output)if __name__ == "__main__": main()
import Dedalus from 'dedalus-labs';import { DedalusRunner } from 'dedalus-labs';const client = new Dedalus();const runner = new DedalusRunner(client, true);async function main() { const result = await runner.run({ input: 'Find me the nearest basketball games in January in San Francisco.', model: 'anthropic/claude-opus-4-5', mcpServers: ['windsor/ticketmaster-mcp'], // Ticketmaster के ज़रिए इवेंट्स खोजें }); console.log((result as any).finalOutput);}main();
प्रगतिशील रेंडरिंग: आप पूरे उत्तर का इंतज़ार करने के बजाय, पाठ को आते ही (“टाइपिंग”) दिखा सकते हैं।
दृश्यमान प्रगति: tool/मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) वर्कफ़्लो में, आप एजेंट के टूल्स कॉल करते समय स्थिति अपडेट दिखा सकते हैं (जैसे, “Ticketmaster पर खोज कर रहा है…”).
बीच में रोकने की सुविधा: अगर उपयोगकर्ता को पहले ही उनकी ज़रूरत की चीज़ मिल गई है, तो आप क्लाइंट‑साइड पर ही जल्दी रोक सकते हैं, बजाय पूरे completion के लिए भुगतान करने के।