ایمپورت

import-chat.ts
import { NuiChat, NuiChatSession, nuiEventStream } from '@needless-ui/angular/chat';

NuiChat

گفتگو و کادر نوشتن، با هم.

سلکتور
nui-chat
NuiChat: ویژگی‌ها
نامنوعپیش‌فرضتوضیح
sessionورودیNuiChatSessionگفتگویی که نمایش داده می‌شود.
assistantورودیstring'Assistant'نام دستیار، در سرتیترهایی که صفحه‌خوان‌ها می‌خوانند.
headingLevelورودیnumber3سطح سرتیتر هر پیام، که فقط برای صفحه‌خوان‌هاست. سرتیترهای درون پاسخ‌ها یک سطح پایین‌ترند.
announceورودی'reply' | 'notice' | 'off''reply'آنچه صفحه‌خوان‌ها هنگام کامل شدن پاسخ اعلام می‌کنند: کل پاسخ، یک اعلان کوتاه یا هیچ.
imagesورودیbooleanfalseتصاویر را در پاسخ‌ها نشان می‌دهد. در غیر این صورت، متن تصویر به آن لینک می‌شود.
valueدوطرفهstring''متنی که در حال نوشتن است.
placeholderورودیstringمتنی که در فیلد خالی نمایش داده می‌شود.
suggestionsورودیstring[][]پرامپت‌هایی برای ارسال با یک کلیک، تا پیش از اولین پیام.
sendOnورودی'enter' | 'mod+enter''enter'اینکه Enter ارسال کند، یا Ctrl یا ⌘ + Enter.
disabledورودیbooleanfalseجلوی ارسال از کادر نوشتن را می‌گیرد.
attachورودیbooleanfalseفایل می‌پذیرد: انتخاب‌شده، چسبانده‌شده یا رهاشده.
acceptورودیstring''نوع فایل‌های پذیرفتنی، مانند <input type="file">.
maxFilesورودیnumber10تعداد فایل‌هایی که هر پیام می‌تواند داشته باشد.
maxSizeورودیnumber20_000_000بزرگ‌ترین فایل پذیرفتنی، به بایت.
labelsورودیNuiChatLabelsInputهمهٔ متن‌هایی که چت نشان می‌دهد یا اعلام می‌کند، برای ترجمه.
ratedخروجی{ message, rating }پاسخی را که خواننده امتیاز داده، همراه امتیاز منتشر می‌کند؛ و اگر امتیاز پس گرفته شود، با null.
focusمتد() => voidفیلد متنی را فوکوس می‌کند.
scrollToEndمتد(behavior?) => voidبه آخرین پیام اسکرول می‌کند و آن را دنبال می‌کند.

NuiChatSession

گفتگو، بدون هیچ DOM. آن را در یک کامپوننت با گزینه‌های respond، messages و id بسازید.

NuiChatSession: ویژگی‌ها
نامنوعپیش‌فرضتوضیح
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 یکسان دارند، نسخه‌های یکدیگرند.

NuiChatMessage: ویژگی‌ها
نامنوعپیش‌فرضتوضیح
id, parentویژگیstring, string | nullکلید پیام، و پیامی که پس از آن می‌آید.
roleویژگی'user' | 'assistant'نویسندهٔ آن.
textویژگیstringMarkdown از دستیار، متن ساده از کاربر.
statusویژگی'pending' | 'streaming' | 'done' | 'stopped' | 'error'وضعیت پاسخ، از انتظار تا پایان.
reasoningویژگیstringآنچه مدل پیش از پاسخ دادن فکر کرده است.
toolsویژگیNuiChatTool[]ابزارهایی که فراخوانده، با وضعیت، ورودی و خروجی‌شان.
sourcesویژگی{ url, title? }[]صفحه‌های استفاده‌شده.
attachmentsویژگیNuiChatAttachment[]فایل‌هایی که همراهش فرستاده شده‌اند.
ratingویژگی'up' | 'down' | nullامتیاز خواننده.
dataویژگیunknownهر چیز دیگری که باید همراهش بماند، مثل نام مدل.

NuiChatToolTemplate

یک فراخوانی ابزار را رسم می‌کند، مثلاً کارتی برای آب‌وهوا. کانتکست، فراخوانی و پیام آن را در خود دارد.

سلکتور
ng-template[nuiChatTool]
NuiChatToolTemplate: ویژگی‌ها
نامنوعپیش‌فرضتوضیح
nuiChatToolورودیstringنام ابزار. بدون آن، هر فراخوانی‌ای را رسم می‌کند که قالب دیگری نامش را نبرده است.

NuiChatThread

خود گفتگو به‌تنهایی، برای چیدمانی از خودتان. ورودی‌هایی از nui-chat را می‌گیرد که به گفتگو مربوط‌اند.

سلکتور
nui-chat-thread

NuiChatComposer

کادر نوشتن به‌تنهایی. ورودی‌هایی از nui-chat را می‌گیرد که به نوشتن مربوط‌اند.

سلکتور
nui-chat-composer

NuiServerEvent

آنچه nuiEventStream برای هر رویداد تحویل می‌دهد. nuiTextStream متن ساده را می‌خواند و nuiJsonStream خطوط JSON را؛ هر سه یک پاسخ fetch می‌گیرند.

NuiServerEvent: ویژگی‌ها
نامنوعپیش‌فرضتوضیح
eventویژگیstring'message'نام رویداد.
dataویژگیstringخطوط داده‌اش، به هم پیوسته.
idویژگیstringآخرین id ارسال‌شده در استریم.

NuiChatError

آن را از respond پرتاب کنید تا پیامش نمایش داده شود. هر خطای دیگری پیامی کلی نشان می‌دهد تا هیچ چیز داخلی لو نرود.