मुख्य सामग्री पर जाएं
Dedalus आपको ऐसे एजेंट वर्कफ़्लो तैयार और तैनात करने में मदद करता है जो:
  • Provider-agnostic: एक ही API (एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस) के साथ OpenAI, Anthropic, Google, xAI, DeepSeek और अन्य का उपयोग करें।
  • टूल‑ और मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP)-नेटिव: models को लोकल फ़ंक्शन और होस्टेड MCP सर्वरों को कॉल करने दें।
  • Production-ready: स्ट्रीमिंग, संरचित आउटपुट, रूटिंग/हैंडऑफ़, और रनटाइम नीतियाँ।

आप क्या बनाना चाहते हैं?

लक्ष्यविवरण
किसी model के साथ चैट करेंएक prompt भेजें और किसी भी प्रोवाइडर/model से प्रतिक्रिया प्राप्त करें।
किसी model को टूल्स से लैस करेंmodel को आपके द्वारा इम्प्लीमेंट किए गए typed Python/TS functions कॉल करने दें।
एजेंट आउटपुट को स्ट्रीम करेंप्रतिक्रियाएँ उसी समय प्रिंट करें जब वे जेनरेट हो रही हों (UI/CLI के लिए बढ़िया)।
MCP सर्वर जोड़ेंसिर्फ़ एक लाइन के कोड से होस्टेड MCP सर्वर से कनेक्ट करें।
विश्वसनीय JSON प्राप्त करेंmodel आउटपुट को स्कीमा (Pydantic/Zod) के विरुद्ध वैलिडेट करें।
विभिन्न models के बीच रूट करेंएक से अधिक models उपलब्ध कराएँ; एजेंट चरण के हिसाब से रूट/हैंडऑफ़ कर सकता है।

इंस्टॉलेशन

uv pip install dedalus_labs

अपनी API कुंजी सेट करें

dashboard से अपनी API कुंजी प्राप्त करें और उसे एक environment variable के रूप में सेट करें:
export DEDALUS_API_KEY="your-api-key"
या फिर .env फ़ाइल का उपयोग करें:
DEDALUS_API_KEY=your-api-key

आपका पहला रिक्वेस्ट

आइए इसे चरणबद्ध तरीके से बनाते हैं।

1) किसी model के साथ चैट करें

import asyncio
from dedalus_labs import AsyncDedalus, DedalusRunner
from dotenv import load_dotenv

load_dotenv()

async def main():
    client = AsyncDedalus()
    runner = DedalusRunner(client)

    response = await runner.run(
        input="What are the key factors that influence weather patterns?",
        model="anthropic/claude-opus-4-5",
    )

    print(response.final_output)

if __name__ == "__main__":
    asyncio.run(main())

2) एक MCP सर्वर जोड़ें

यहाँ हम एक प्रसिद्ध MCP सर्वर से कनेक्ट करते हैं और मॉडल को उसे उपयोग करने देते हैं।
import asyncio
from dedalus_labs import AsyncDedalus, DedalusRunner
from dotenv import load_dotenv

load_dotenv()

async def main():
    client = AsyncDedalus()
    runner = DedalusRunner(client)

    response = await runner.run(
        input="What's the weather forecast for San Francisco this week?",
        model="anthropic/claude-opus-4-5",
        mcp_servers=["windsornguyen/open-meteo-mcp"],  # Open-Meteo के माध्यम से मौसम पूर्वानुमान
    )

    print(response.final_output)

if __name__ == "__main__":
    asyncio.run(main())

3) एक लोकल tool जोड़ें

type hints और docstring के साथ एक function परिभाषित करें। इसे runner.run() में पास करें। SDK (सॉफ्टवेयर डेवलपमेंट किट) schema को अपने‑आप निकाल लेता है और जब model इसे उपयोग करने का निर्णय लेता है, तो उसके निष्पादन को संभालता है।
import asyncio
from dedalus_labs import AsyncDedalus, DedalusRunner
from dotenv import load_dotenv

load_dotenv()

def as_bullets(items: list[str]) -> str:
    """Format items as a bulleted list."""
    return "\n".join(f"• {item}" for item in items)

async def main():
    client = AsyncDedalus()
    runner = DedalusRunner(client)

    response = await runner.run(
        input=(
            "Get the 7-day weather forecast for San Francisco "
            "and format the daily conditions as bullets using as_bullets."
        ),
        model="anthropic/claude-opus-4-5",
        mcp_servers=["windsornguyen/open-meteo-mcp"],
        tools=[as_bullets],
    )

    print(response.final_output)

if __name__ == "__main__":
    asyncio.run(main())

4) स्ट्रीम आउटपुट

import asyncio
from dedalus_labs import AsyncDedalus, DedalusRunner
from dedalus_labs.utils.stream import stream_async
from dotenv import load_dotenv

load_dotenv()

async def main():
    client = AsyncDedalus()
    runner = DedalusRunner(client)

    stream = runner.run(
        input="Explain how weather forecasting works in one paragraph, streaming as you write.",
        model="anthropic/claude-opus-4-5",
        stream=True,
    )

    await stream_async(stream)

if __name__ == "__main__":
    asyncio.run(main())

अगले चरण

नवीनतम SDK प्राप्त करें

इन डॉक्यूमेंट्स को प्रोग्रामेटिक रूप से कनेक्ट करें ताकि आप Claude, VS Code और अन्य के साथ मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) के माध्यम से रियल‑टाइम उत्तर प्राप्त कर सकें।