चॅट म्हणजे आपले वापरकर्ते आणि मॉडेल यांच्यामधील सर्वकाही. respond फंक्शनसह NuiChatSession तयार करा, आणि बाकीचे काम <nui-chat> करते: ते उत्तर Markdown म्हणून स्ट्रीम करते, वापरकर्ता वर स्क्रोल करेपर्यंत त्याच्यासोबत खाली सरकत राहते, आणि उत्तर येत असताना पाठवण्याच्या बटणाचे थांबवण्याचे बटण करते.
respond मजकूर, प्रॉमिस, async function* किंवा Observable परत करते, त्यामुळे ते कोणत्याही API सोबत चालते. मजकुराशिवाय उत्तरात मॉडेलचे रीझनिंग, त्याचे टूल कॉल (आपल्या टेम्पलेट्सनी काढलेले) आणि त्याने वापरलेले स्रोतही असू शकतात. बहुतेक मॉडेल API स्ट्रीम करत असलेले सर्व्हर-सेंट इव्हेंट nuiEventStream वाचते.
काहीही हरवत नाही: पुन्हा मागितलेले उत्तर किंवा एडिट केलेला प्रश्न जुन्याशेजारी नवी आवृत्ती बनतो, आणि संभाषण प्रत्येक शाखा जपते. स्क्रीन रीडर प्रत्येक उत्तर पूर्ण झाल्यावरच ऐकवतात, शब्दाशब्दाने नाही.
एक असिस्टंट
सुचवलेले प्रॉम्प्ट्स संभाषण सुरू करतात. उत्तरे Markdown म्हणून स्ट्रीम होतात; ती थांबवा, पुन्हा मागा, रेट करा, किंवा आपला प्रश्न एडिट करा. attach निवडलेल्या, पेस्ट केलेल्या किंवा ड्रॉप केलेल्या फाइल्स घेते.
रीझनिंग, टूल्स आणि स्रोत
डेल्टा उत्तरात मॉडेलचे रीझनिंग, टूल कॉल आणि स्रोत जोडतात. nuiChatTool हवामानाचे टूल कार्ड म्हणून काढते; इतर टूल्स त्यांच्या इनपुट आणि आउटपुटसह मिटलेली राहतात.
सर्व्हरवरून स्ट्रीमिंग
nuiEventStream OpenAI-शैलीचा इव्हेंट स्ट्रीम वाचते, आणि NuiChatError त्याचा संदेश दाखवते. all() सर्व आवृत्त्यांसह संपूर्ण संभाषण सेव्ह करते.