امپورٹ
import { NuiChat, NuiChatSession, nuiEventStream } from '@needless-ui/angular/chat';NuiChat
گفتگو اور لکھنے کا باکس، ایک ساتھ۔
| نام | ٹائپ | ڈیفالٹ | تفصیل |
|---|---|---|---|
sessionان پٹ | NuiChatSession | دکھائی جانے والی گفتگو۔ | |
assistantان پٹ | string | 'Assistant' | اسسٹنٹ کا نام، ان ہیڈنگز میں جو اسکرین ریڈرز سناتے ہیں۔ |
headingLevelان پٹ | number | 3 | ہر پیغام کی ہیڈنگ کا لیول، جو صرف اسکرین ریڈرز کے لیے ہوتی ہے۔ جوابات کے اندر کی ہیڈنگز ایک لیول نیچے ہوتی ہیں۔ |
announceان پٹ | 'reply' | 'notice' | 'off' | 'reply' | جواب مکمل ہونے پر اسکرین ریڈرز کیا سناتے ہیں: پورا جواب، ایک مختصر اطلاع، یا کچھ نہیں۔ |
imagesان پٹ | boolean | false | جوابات میں تصاویر دکھاتا ہے۔ ورنہ ان کا متن ان کا لنک ہوتا ہے۔ |
valueدو طرفہ | string | '' | لکھا جا رہا متن۔ |
placeholderان پٹ | string | خالی فیلڈ میں دکھایا جانے والا متن۔ | |
suggestionsان پٹ | string[] | [] | ایک کلک سے بھیجے جانے والے پرامپٹس، پہلے پیغام تک۔ |
sendOnان پٹ | 'enter' | 'mod+enter' | 'enter' | پیغام Enter سے بھیجا جائے یا Ctrl یا ⌘ + Enter سے۔ |
disabledان پٹ | boolean | false | لکھنے کے باکس سے بھیجنا روک دیتا ہے۔ |
attachان پٹ | boolean | false | فائلیں لیتا ہے: چنی، پیسٹ کی یا ڈراپ کی گئی۔ |
acceptان پٹ | string | '' | قبول کی جانے والی فائلوں کی اقسام، جیسے <input type="file"> میں۔ |
maxFilesان پٹ | number | 10 | ایک پیغام میں کتنی فائلیں ہو سکتی ہیں۔ |
maxSizeان پٹ | number | 20_000_000 | قبول کی جانے والی سب سے بڑی فائل، بائٹس میں۔ |
labelsان پٹ | NuiChatLabelsInput | چیٹ کا دکھایا یا پڑھ کر سنایا جانے والا ہر متن، ترجمے کے لیے۔ | |
ratedآؤٹ پٹ | { message, rating } | پڑھنے والے کا ریٹ کیا ہوا جواب ریٹنگ کے ساتھ ایمٹ کرتا ہے، یا ریٹنگ واپس لینے پر null۔ | |
focusمیتھڈ | () => void | ٹیکسٹ فیلڈ کو فوکس کرتا ہے۔ | |
scrollToEndمیتھڈ | (behavior?) => void | تازہ ترین پیغام تک اسکرول کرتا ہے، اور اس کے ساتھ چلتا ہے۔ |
NuiChatSession
گفتگو، بغیر کسی DOM کے۔ اسے کسی کمپوننٹ میں respond، messages اور id آپشنز کے ساتھ بنائیں۔
| نام | ٹائپ | ڈیفالٹ | تفصیل |
|---|---|---|---|
respondپراپرٹی | (request) => NuiChatReply | آپ کا اپنا فنکشن: request.messages کا جواب لکھتا ہے، اور request.signal کے منسوخ ہونے پر رک جاتا ہے۔ | |
messagesپراپرٹی | Signal<NuiChatMessage[]> | اسکرین پر موجود گفتگو۔ | |
allپراپرٹی | Signal<NuiChatMessage[]> | ہر ورژن کا ہر پیغام، محفوظ کرنے اور messages کے طور پر واپس دینے کے لیے۔ | |
busyپراپرٹی | Signal<boolean> | کوئی جواب آ رہا ہے یا نہیں۔ | |
sendمیتھڈ | (text, files?) => Promise<void> | پیغام بھیجتا ہے اور جواب مانگتا ہے۔ | |
stopمیتھڈ | () => void | جواب روکتا ہے، اور جتنا لکھا جا چکا وہ رکھتا ہے۔ | |
retryمیتھڈ | (message?) => Promise<void> | دوبارہ پوچھتا ہے۔ نیا جواب پرانے کے ساتھ ایک ورژن ہوتا ہے۔ | |
editمیتھڈ | (message, text) => Promise<void> | صارف کے کسی پیغام کا نیا ورژن بھیجتا ہے۔ | |
versionsمیتھڈ | (message) => NuiChatMessage[] | کسی پیغام کے تمام ورژنز، سب سے پرانا پہلے۔ | |
showمیتھڈ | (message) => void | گفتگو کو اس ورژن پر لے جاتا ہے۔ | |
rateمیتھڈ | (message, 'up' | 'down' | null) => void | کسی جواب پر پڑھنے والے کی ریٹنگ محفوظ کرتا ہے۔ | |
remove, load, clearمیتھڈ | (…) => void | کوئی پیغام اور اس کے بعد کا سب کچھ ہٹاتا ہے، گفتگو بدل دیتا ہے، یا نئے سرے سے شروع کرتا ہے۔ |
NuiChatMessage
ایک پیغام۔ ایک ہی parent والے پیغامات ایک دوسرے کے ورژن ہوتے ہیں۔
| نام | ٹائپ | ڈیفالٹ | تفصیل |
|---|---|---|---|
id, parentپراپرٹی | string, string | null | پیغام کی کلید، اور وہ پیغام جس کے بعد یہ آتا ہے۔ | |
roleپراپرٹی | 'user' | 'assistant' | اسے کس نے لکھا۔ | |
textپراپرٹی | string | اسسٹنٹ کی طرف سے Markdown، صارف کی طرف سے سادہ متن۔ | |
statusپراپرٹی | 'pending' | 'streaming' | 'done' | 'stopped' | 'error' | جواب کس مرحلے میں ہے، انتظار سے مکمل ہونے تک۔ | |
reasoningپراپرٹی | string | جواب دینے سے پہلے ماڈل نے کیا سوچا۔ | |
toolsپراپرٹی | NuiChatTool[] | جو ٹولز اس نے کال کیے، ان کی حالت، ان پٹ اور آؤٹ پٹ کے ساتھ۔ | |
sourcesپراپرٹی | { url, title? }[] | جو صفحات اس نے استعمال کیے۔ | |
attachmentsپراپرٹی | NuiChatAttachment[] | اس کے ساتھ بھیجی گئی فائلیں۔ | |
ratingپراپرٹی | 'up' | 'down' | null | پڑھنے والے کی ریٹنگ۔ | |
dataپراپرٹی | unknown | اس کے ساتھ رکھی جانے والی کوئی اور چیز، جیسے ماڈل کا نام۔ |
NuiChatToolTemplate
ٹول کال بناتا ہے، جیسے موسم کا کارڈ۔ کانٹیکسٹ میں کال اور اس کا پیغام ہوتا ہے۔
| نام | ٹائپ | ڈیفالٹ | تفصیل |
|---|---|---|---|
nuiChatToolان پٹ | string | ٹول کا نام۔ نام نہ ہو تو یہ ہر وہ کال بناتا ہے جس کا نام کسی اور ٹیمپلیٹ میں نہ ہو۔ |
NuiChatThread
صرف گفتگو، آپ کے اپنے لے آؤٹ کے لیے۔ یہ nui-chat کے وہ ان پٹس لیتا ہے جو گفتگو سے متعلق ہیں۔
NuiChatComposer
صرف لکھنے کا باکس۔ یہ nui-chat کے وہ ان پٹس لیتا ہے جو لکھنے سے متعلق ہیں۔
NuiServerEvent
nuiEventStream ہر ایونٹ کے لیے یہی دیتا ہے۔ nuiTextStream سادہ متن پڑھتا ہے اور nuiJsonStream JSON لائنیں؛ تینوں ایک fetch رسپانس لیتے ہیں۔
| نام | ٹائپ | ڈیفالٹ | تفصیل |
|---|---|---|---|
eventپراپرٹی | string | 'message' | ایونٹ کا نام۔ |
dataپراپرٹی | string | اس کی ڈیٹا لائنیں، جوڑ کر۔ | |
idپراپرٹی | string | اسٹریم کی بھیجی ہوئی آخری id۔ |
NuiChatError
اسے respond سے throw کریں تاکہ اس کا پیغام دکھے۔ کوئی بھی دوسری غلطی ایک عمومی پیغام دکھاتی ہے، تاکہ اندر کی کوئی بات باہر نہ جائے۔