Import

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

NuiChat

บทสนทนาและช่องพิมพ์ข้อความรวมไว้ในที่เดียว

Selector
nui-chat
NuiChat: พร็อพเพอร์ตี
ชื่อชนิดค่าเริ่มต้นคำอธิบาย
sessionInputNuiChatSessionบทสนทนาที่จะแสดง
assistantInputstring'Assistant'ชื่อของผู้ช่วย ใช้ในหัวข้อที่โปรแกรมอ่านหน้าจออ่าน
headingLevelInputnumber3ระดับหัวข้อของแต่ละข้อความ ซึ่งมีเฉพาะสำหรับโปรแกรมอ่านหน้าจอ หัวข้อในคำตอบจะลึกลงไปอีกหนึ่งระดับ
announceInput'reply' | 'notice' | 'off''reply'สิ่งที่โปรแกรมอ่านหน้าจออ่านเมื่อคำตอบเสร็จ: ทั้งหมด การแจ้งสั้น ๆ หรือไม่อ่านเลย
imagesInputbooleanfalseแสดงรูปภาพในคำตอบ หากไม่เปิด ข้อความของรูปจะเป็นลิงก์ไปยังรูปนั้น
valueสองทางstring''ข้อความที่กำลังเขียน
placeholderInputstringคำใบ้ในช่องที่ยังว่าง
suggestionsInputstring[][]พรอมต์ที่ส่งได้ในคลิกเดียว แสดงจนกว่าจะมีข้อความแรก
sendOnInput'enter' | 'mod+enter''enter'ส่งด้วย Enter หรือด้วย Ctrl หรือ ⌘ + Enter
disabledInputbooleanfalseไม่ให้ช่องพิมพ์ส่งข้อความ
attachInputbooleanfalseรับไฟล์ที่เลือก วาง หรือลากมาวาง
acceptInputstring''ชนิดของไฟล์ที่รับ แบบเดียวกับ <input type="file">
maxFilesInputnumber10จำนวนไฟล์ที่แนบได้ในหนึ่งข้อความ
maxSizeInputnumber20_000_000ขนาดไฟล์ใหญ่สุดที่รับ หน่วยเป็นไบต์
labelsInputNuiChatLabelsInputข้อความทุกส่วนที่แชทแสดงหรือประกาศ สำหรับการแปล
ratedOutput{ 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[]เครื่องมือที่เรียกใช้ พร้อมสถานะ input และ output
sourcesพร็อพเพอร์ตี{ url, title? }[]หน้าเว็บที่ใช้
attachmentsพร็อพเพอร์ตีNuiChatAttachment[]ไฟล์ที่ส่งมาพร้อมข้อความ
ratingพร็อพเพอร์ตี'up' | 'down' | nullคะแนนจากผู้ใช้
dataพร็อพเพอร์ตีunknownข้อมูลอื่นที่จะเก็บไว้ด้วย เช่น ชื่อโมเดล

NuiChatToolTemplate

วาดการเรียกใช้เครื่องมือ เช่น การ์ดสภาพอากาศ context มีการเรียกใช้นั้นและข้อความของมัน

Selector
ng-template[nuiChatTool]
NuiChatToolTemplate: พร็อพเพอร์ตี
ชื่อชนิดค่าเริ่มต้นคำอธิบาย
nuiChatToolInputstringชื่อเครื่องมือ หากไม่ระบุ จะวาดทุกการเรียกใช้ที่ไม่มีเทมเพลตอื่นระบุชื่อไว้

NuiChatThread

เฉพาะส่วนบทสนทนา สำหรับเลย์เอาต์ของคุณเอง รับ input ของ nui-chat ที่เกี่ยวกับบทสนทนา

Selector
nui-chat-thread

NuiChatComposer

เฉพาะช่องพิมพ์ข้อความ รับ input ของ nui-chat ที่เกี่ยวกับการเขียนข้อความ

Selector
nui-chat-composer

NuiServerEvent

สิ่งที่ nuiEventStream ส่งออกมาในแต่ละอีเวนต์ nuiTextStream อ่านข้อความธรรมดา และ nuiJsonStream อ่าน JSON ทีละบรรทัด ทั้งสามตัวรับ response จาก fetch

NuiServerEvent: พร็อพเพอร์ตี
ชื่อชนิดค่าเริ่มต้นคำอธิบาย
eventพร็อพเพอร์ตีstring'message'ชื่อของอีเวนต์
dataพร็อพเพอร์ตีstringบรรทัด data ของอีเวนต์ที่ต่อกันแล้ว
idพร็อพเพอร์ตีstringid ล่าสุดที่สตรีมส่งมา

NuiChatError

throw จาก respond เพื่อแสดงข้อความของมัน ข้อผิดพลาดอื่นจะแสดงข้อความทั่วไป ข้อมูลภายในจึงไม่รั่วไหล