Impor
import { NuiChat, NuiChatSession, nuiEventStream } from '@needless-ui/angular/chat';NuiChat
Percakapan dan kotak untuk menulis, dalam satu komponen.
| Nama | Tipe | Default | Deskripsi |
|---|---|---|---|
sessionInput | NuiChatSession | Percakapan yang ditampilkan. | |
assistantInput | string | 'Assistant' | Nama asisten, dalam heading yang dibacakan pembaca layar. |
headingLevelInput | number | 3 | Level 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. |
imagesInput | boolean | false | Menampilkan gambar di balasan. Jika tidak, teksnya menjadi tautan ke gambar. |
valueDua arah | string | '' | Teks yang sedang ditulis. |
placeholderInput | string | Teks yang ditampilkan saat kolom kosong. | |
suggestionsInput | string[] | [] | Prompt yang bisa dikirim dengan sekali klik, sampai pesan pertama. |
sendOnInput | 'enter' | 'mod+enter' | 'enter' | Apakah Enter yang mengirim, atau Ctrl atau ⌘ + Enter. |
disabledInput | boolean | false | Mencegah kotak tulis mengirim pesan. |
attachInput | boolean | false | Menerima file: dipilih, ditempel, atau di-drop. |
acceptInput | string | '' | Jenis file yang diterima, seperti pada <input type="file">. |
maxFilesInput | number | 10 | Jumlah file yang bisa dibawa satu pesan. |
maxSizeInput | number | 20_000_000 | Ukuran file terbesar yang diterima, dalam byte. |
labelsInput | NuiChatLabelsInput | Semua 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 | () => void | Memfokuskan kolom teks. | |
scrollToEndMetode | (behavior?) => void | Menggulir ke pesan terbaru, lalu mengikutinya. |
NuiChatSession
Percakapan, tanpa DOM sama sekali. Buat di dalam komponen, dengan opsi respond, messages, dan id.
| Nama | Tipe | Default | Deskripsi |
|---|---|---|---|
respondProperti | (request) => NuiChatReply | Fungsi Anda: menulis balasan untuk request.messages, dan berhenti saat request.signal dibatalkan. | |
messagesProperti | Signal<NuiChatMessage[]> | Percakapan yang tampil di layar. | |
allProperti | Signal<NuiChatMessage[]> | Setiap pesan dari setiap versi, untuk disimpan lalu diteruskan kembali sebagai messages. | |
busyProperti | Signal<boolean> | Apakah balasan sedang dalam perjalanan. | |
sendMetode | (text, files?) => Promise<void> | Mengirim pesan dan meminta balasan. | |
stopMetode | () => void | Menghentikan 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) => void | Mengalihkan percakapan ke versi ini. | |
rateMetode | (message, 'up' | 'down' | null) => void | Mencatat penilaian pengguna atas sebuah balasan. | |
remove, load, clearMetode | (…) => void | Menghapus pesan beserta yang mengikutinya, mengganti percakapan, atau memulai dari awal. |
NuiChatMessage
Satu pesan. Pesan dengan parent yang sama adalah versi satu sama lain.
| Nama | Tipe | Default | Deskripsi |
|---|---|---|---|
id, parentProperti | string, string | null | Kunci pesan, dan kunci pesan yang diikutinya. | |
roleProperti | 'user' | 'assistant' | Siapa yang menulisnya. | |
textProperti | string | Markdown dari asisten, teks biasa dari pengguna. | |
statusProperti | 'pending' | 'streaming' | 'done' | 'stopped' | 'error' | Tahap balasan, dari menunggu hingga selesai. | |
reasoningProperti | string | Apa yang dipikirkan model sebelum menjawab. | |
toolsProperti | NuiChatTool[] | Tool yang dipanggilnya, beserta status, input, dan output-nya. | |
sourcesProperti | { url, title? }[] | Halaman yang dipakainya. | |
attachmentsProperti | NuiChatAttachment[] | File yang dikirim bersamanya. | |
ratingProperti | 'up' | 'down' | null | Penilaian pengguna. | |
dataProperti | unknown | Apa pun yang perlu disimpan bersamanya, misalnya nama model. |
NuiChatToolTemplate
Menggambar panggilan tool, misalnya kartu cuaca. Konteksnya berisi panggilan dan pesannya.
| Nama | Tipe | Default | Deskripsi |
|---|---|---|---|
nuiChatToolInput | string | Nama 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.
NuiChatComposer
Kotak untuk menulis saja. Menerima input nui-chat yang berkaitan dengan penulisan.
NuiServerEvent
Yang dihasilkan nuiEventStream untuk setiap event. nuiTextStream membaca teks biasa dan nuiJsonStream baris JSON; ketiganya menerima respons fetch.
| Nama | Tipe | Default | Deskripsi |
|---|---|---|---|
eventProperti | string | 'message' | Nama event. |
dataProperti | string | Baris-baris datanya, digabungkan. | |
idProperti | string | Id terakhir yang dikirim stream. |
NuiChatError
Lempar dari respond untuk menampilkan pesannya. Error lain menampilkan pesan umum, jadi tidak ada detail internal yang bocor.