Impor

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

NuiChat

Percakapan dan kotak untuk menulis, dalam satu komponen.

Selektor
nui-chat
NuiChat: Properti
NamaTipeDefaultDeskripsi
sessionInputNuiChatSessionPercakapan yang ditampilkan.
assistantInputstring'Assistant'Nama asisten, dalam heading yang dibacakan pembaca layar.
headingLevelInputnumber3Level heading setiap pesan, yang hanya ditampilkan untuk pembaca layar. Heading di dalam balasan satu level lebih dalam.
announceInput'reply' | 'notice' | 'off''reply'Yang dibacakan pembaca layar saat balasan selesai: seluruhnya, pemberitahuan singkat, atau tidak ada.
imagesInputbooleanfalseMenampilkan gambar di balasan. Jika tidak, teksnya menjadi tautan ke gambar.
valueDua arahstring''Teks yang sedang ditulis.
placeholderInputstringTeks yang ditampilkan saat kolom kosong.
suggestionsInputstring[][]Prompt yang bisa dikirim dengan sekali klik, sampai pesan pertama.
sendOnInput'enter' | 'mod+enter''enter'Apakah Enter yang mengirim, atau Ctrl atau ⌘ + Enter.
disabledInputbooleanfalseMencegah kotak tulis mengirim pesan.
attachInputbooleanfalseMenerima file: dipilih, ditempel, atau di-drop.
acceptInputstring''Jenis file yang diterima, seperti pada <input type="file">.
maxFilesInputnumber10Jumlah file yang bisa dibawa satu pesan.
maxSizeInputnumber20_000_000Ukuran file terbesar yang diterima, dalam byte.
labelsInputNuiChatLabelsInputSemua teks yang ditampilkan atau diumumkan chat, untuk diterjemahkan.
ratedOutput{ message, rating }Mengirimkan balasan yang diberi rating oleh pengguna, beserta rating-nya, atau null saat rating dibatalkan.
focusMetode() => voidMemfokuskan kolom teks.
scrollToEndMetode(behavior?) => voidMenggulir ke pesan terbaru, lalu mengikutinya.

NuiChatSession

Percakapan, tanpa DOM sama sekali. Buat di dalam komponen, dengan opsi respond, messages, dan id.

NuiChatSession: Properti
NamaTipeDefaultDeskripsi
respondProperti(request) => NuiChatReplyFungsi Anda: menulis balasan untuk request.messages, dan berhenti saat request.signal dibatalkan.
messagesPropertiSignal<NuiChatMessage[]>Percakapan yang tampil di layar.
allPropertiSignal<NuiChatMessage[]>Setiap pesan dari setiap versi, untuk disimpan lalu diteruskan kembali sebagai messages.
busyPropertiSignal<boolean>Apakah balasan sedang dalam perjalanan.
sendMetode(text, files?) => Promise<void>Mengirim pesan dan meminta balasan.
stopMetode() => voidMenghentikan balasan, dengan tetap menyimpan yang sudah ditulis.
retryMetode(message?) => Promise<void>Meminta ulang. Balasan baru menjadi versi di samping yang lama.
editMetode(message, text) => Promise<void>Mengirim versi baru dari salah satu pesan pengguna.
versionsMetode(message) => NuiChatMessage[]Setiap versi sebuah pesan, dari yang terlama.
showMetode(message) => voidMengalihkan percakapan ke versi ini.
rateMetode(message, 'up' | 'down' | null) => voidMencatat penilaian pengguna atas sebuah balasan.
remove, load, clearMetode(…) => voidMenghapus pesan beserta yang mengikutinya, mengganti percakapan, atau memulai dari awal.

NuiChatMessage

Satu pesan. Pesan dengan parent yang sama adalah versi satu sama lain.

NuiChatMessage: Properti
NamaTipeDefaultDeskripsi
id, parentPropertistring, string | nullKunci pesan, dan kunci pesan yang diikutinya.
roleProperti'user' | 'assistant'Siapa yang menulisnya.
textPropertistringMarkdown dari asisten, teks biasa dari pengguna.
statusProperti'pending' | 'streaming' | 'done' | 'stopped' | 'error'Tahap balasan, dari menunggu hingga selesai.
reasoningPropertistringApa yang dipikirkan model sebelum menjawab.
toolsPropertiNuiChatTool[]Tool yang dipanggilnya, beserta status, input, dan output-nya.
sourcesProperti{ url, title? }[]Halaman yang dipakainya.
attachmentsPropertiNuiChatAttachment[]File yang dikirim bersamanya.
ratingProperti'up' | 'down' | nullPenilaian pengguna.
dataPropertiunknownApa pun yang perlu disimpan bersamanya, misalnya nama model.

NuiChatToolTemplate

Menggambar panggilan tool, misalnya kartu cuaca. Konteksnya berisi panggilan dan pesannya.

Selektor
ng-template[nuiChatTool]
NuiChatToolTemplate: Properti
NamaTipeDefaultDeskripsi
nuiChatToolInputstringNama tool. Tanpa nama, template ini menggambar setiap panggilan yang tidak disebut template lain.

NuiChatThread

Percakapan saja, untuk tata letak buatan Anda. Menerima input nui-chat yang berkaitan dengan percakapan.

Selektor
nui-chat-thread

NuiChatComposer

Kotak untuk menulis saja. Menerima input nui-chat yang berkaitan dengan penulisan.

Selektor
nui-chat-composer

NuiServerEvent

Yang dihasilkan nuiEventStream untuk setiap event. nuiTextStream membaca teks biasa dan nuiJsonStream baris JSON; ketiganya menerima respons fetch.

NuiServerEvent: Properti
NamaTipeDefaultDeskripsi
eventPropertistring'message'Nama event.
dataPropertistringBaris-baris datanya, digabungkan.
idPropertistringId terakhir yang dikirim stream.

NuiChatError

Lempar dari respond untuk menampilkan pesannya. Error lain menampilkan pesan umum, jadi tidak ada detail internal yang bocor.