dedalus-react useChat hook का उपयोग करें। यह पैटर्न रियल-टाइम स्ट्रीमिंग, क्लाइंट-साइड tool निष्पादन और model चयन सक्षम बनाता है।
dedalus-react पैकेज Colby Gilbert द्वारा बनाया गया था। पूरी डॉक्यूमेंटेशन के लिए npm पैकेज देखें।आर्किटेक्चर
सेटअप
निर्भरताएँ इंस्टॉल करें
Python बैकएंड (FastAPI)
DedalusRunner के आउटपुट को Server-Sent Events (SSE) के रूप में भेजे:
React फ्रंटएंड
useChat hook का उपयोग करें:
Client-साइड Tool Execution
useChat hook onToolCall और addToolResult के माध्यम से Client पर टूल्स चलाने की सुविधा देता है:
यह कैसे काम करता है
- Model tool का अनुरोध करता है - बैकएंड प्रतिक्रिया में
tool_callsको स्ट्रीम करता है - Hook callback को कॉल करता है - हर tool call के लिए
onToolCallचलती है - Client निष्पादित करता है - आपका कोड tool चलाता है (API (एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस) कॉल, ब्राउज़र API, user prompt, आदि)
- परिणाम वापस भेजा जाता है -
addToolResultइतिहास में एकtoolसंदेश जोड़ता है - ऑटो‑कंटिन्यू - अगर
sendAutomaticallyWhentrue लौटाता है, तो tool परिणाम के साथ एक और अनुरोध किया जाता है
role: "tool" प्रविष्टियों सहित संदेश प्राप्त होते हैं और वह बातचीत जारी रखता है।
मॉडल चयन
उदाहरण चलाना
प्रोडक्शन से जुड़ी बातें
| मुद्दा | समाधान |
|---|---|
| CORS | अपने डोमेन के लिए allowed origins कॉन्फ़िगर करें |
| Authentication | JWT/सेशन middleware जोड़ें, टोकन को headers में भेजें |
| Rate limiting | प्रति-उपयोगकर्ता throttling लागू करें |
| Error handling | स्ट्रीम को try/catch में लपेटें, त्रुटियों को UI में surfaced/दिखाएँ |