ایمپورت
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 پرتاب کنید تا پیامش نمایش داده شود. هر خطای دیگری پیامی کلی نشان میدهد تا هیچ چیز داخلی لو نرود.