İçe aktarma
import { NuiChat, NuiChatSession, nuiEventStream } from '@needless-ui/angular/chat';NuiChat
Sohbet ve mesaj kutusu bir arada.
| Ad | Tür | Varsayılan | Açıklama |
|---|---|---|---|
sessionGirdi | NuiChatSession | Gösterilecek sohbet. | |
assistantGirdi | string | 'Assistant' | Asistanın adı; ekran okuyucuların okuduğu başlıklarda geçer. |
headingLevelGirdi | number | 3 | Her mesajın başlık düzeyi; bu başlıkları yalnızca ekran okuyucular gösterir. Yanıtlardaki başlıklar bir düzey daha derindir. |
announceGirdi | 'reply' | 'notice' | 'off' | 'reply' | Yanıt tamamlandığında ekran okuyucuların ne okuyacağı: tamamı, kısa bir bildirim ya da hiçbir şey. |
imagesGirdi | boolean | false | Yanıtlardaki görselleri gösterir. Aksi hâlde görselin metni ona bağlantı olur. |
valueÇift yönlü | string | '' | Yazılmakta olan metin. |
placeholderGirdi | string | Alan boşken gösterilen metin. | |
suggestionsGirdi | string[] | [] | İlk mesaja kadar tek tıkla gönderilebilen prompt’lar. |
sendOnGirdi | 'enter' | 'mod+enter' | 'enter' | Enter’ın mı, yoksa Ctrl veya ⌘ + Enter’ın mı gönderdiği. |
disabledGirdi | boolean | false | Mesaj kutusunun göndermesini engeller. |
attachGirdi | boolean | false | Seçilen, yapıştırılan veya sürükleyip bırakılan dosyaları alır. |
acceptGirdi | string | '' | Kabul edilen dosya türleri; <input type="file"> ile aynı biçimde. |
maxFilesGirdi | number | 10 | Bir mesajın taşıyabileceği en fazla dosya sayısı. |
maxSizeGirdi | number | 20_000_000 | Kabul edilen en büyük dosya boyutu, bayt cinsinden. |
labelsGirdi | NuiChatLabelsInput | Sohbetin gösterdiği veya duyurduğu her metin; çeviri için. | |
ratedÇıktı | { message, rating } | Kullanıcının puanladığı yanıtı puanıyla birlikte yayar; puan geri alınırsa null yayar. | |
focusMetot | () => void | Odağı metin alanına taşır. | |
scrollToEndMetot | (behavior?) => void | Son mesaja kaydırır ve onu izlemeye devam eder. |
NuiChatSession
Sohbetin kendisi, DOM olmadan. Bir bileşen içinde respond, messages ve id seçenekleriyle oluşturun.
| Ad | Tür | Varsayılan | Açıklama |
|---|---|---|---|
respondÖzellik | (request) => NuiChatReply | Sizin fonksiyonunuz: request.messages için yanıtı yazar, request.signal iptal edildiğinde durur. | |
messagesÖzellik | Signal<NuiChatMessage[]> | Ekrandaki sohbet. | |
allÖzellik | Signal<NuiChatMessage[]> | Tüm sürümlerdeki tüm mesajlar; kaydedip messages olarak geri vermek için. | |
busyÖzellik | Signal<boolean> | Bir yanıtın yolda olup olmadığı. | |
sendMetot | (text, files?) => Promise<void> | Bir mesaj gönderir ve yanıt ister. | |
stopMetot | () => void | Yanıtı, o ana kadar yazdıklarını koruyarak durdurur. | |
retryMetot | (message?) => Promise<void> | Yeniden sorar. Yeni yanıt, eskisinin yanında bir sürüm olur. | |
editMetot | (message, text) => Promise<void> | Kullanıcı mesajlarından birinin yeni bir sürümünü gönderir. | |
versionsMetot | (message) => NuiChatMessage[] | Bir mesajın tüm sürümleri, en eskisi önce. | |
showMetot | (message) => void | Sohbeti bu sürüme geçirir. | |
rateMetot | (message, 'up' | 'down' | null) => void | Kullanıcının bir yanıta verdiği puanı kaydeder. | |
remove, load, clearMetot | (…) => void | Bir mesajı ve ondan sonrakileri kaldırır, sohbeti değiştirir ya da baştan başlar. |
NuiChatMessage
Tek bir mesaj. Aynı parent değerine sahip mesajlar birbirinin sürümleridir.
| Ad | Tür | Varsayılan | Açıklama |
|---|---|---|---|
id, parentÖzellik | string, string | null | Mesajın anahtarı ve ardından geldiği mesajınki. | |
roleÖzellik | 'user' | 'assistant' | Mesajı kimin yazdığı. | |
textÖzellik | string | Asistandan Markdown, kullanıcıdan düz metin. | |
statusÖzellik | 'pending' | 'streaming' | 'done' | 'stopped' | 'error' | Yanıtın aşaması; beklemeden tamamlanmaya kadar. | |
reasoningÖzellik | string | Modelin yanıtlamadan önce düşündükleri. | |
toolsÖzellik | NuiChatTool[] | Çağırdığı araçlar; durumları, girdileri ve çıktılarıyla. | |
sourcesÖzellik | { url, title? }[] | Kullandığı sayfalar. | |
attachmentsÖzellik | NuiChatAttachment[] | Mesajla gönderilen dosyalar. | |
ratingÖzellik | 'up' | 'down' | null | Kullanıcının verdiği puan. | |
dataÖzellik | unknown | Mesajla saklanacak başka her şey; örneğin modelin adı. |
NuiChatToolTemplate
Bir araç çağrısını çizer; örneğin hava durumu için bir kart. Bağlamda çağrı ve mesajı bulunur.
| Ad | Tür | Varsayılan | Açıklama |
|---|---|---|---|
nuiChatToolGirdi | string | Aracın adı. Ad verilmezse başka hiçbir şablonun adlandırmadığı tüm çağrıları çizer. |
NuiChatThread
Kendi yerleşiminiz için yalnızca sohbet. nui-chat girdilerinden sohbetle ilgili olanları alır.
NuiChatComposer
Yalnızca mesaj kutusu. nui-chat girdilerinden yazmayla ilgili olanları alır.
NuiServerEvent
nuiEventStream fonksiyonunun her olay için verdiği değer. nuiTextStream düz metni, nuiJsonStream ise JSON satırlarını okur; üçü de bir fetch yanıtı alır.
| Ad | Tür | Varsayılan | Açıklama |
|---|---|---|---|
eventÖzellik | string | 'message' | Olayın adı. |
dataÖzellik | string | Birleştirilmiş veri satırları. | |
idÖzellik | string | Akışın gönderdiği son id. |
NuiChatError
Mesajını göstermek için respond içinden fırlatın. Diğer hatalar genel bir mesaj gösterir; böylece içeriden hiçbir şey sızmaz.