İçe aktarma

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

NuiChat

Sohbet ve mesaj kutusu bir arada.

Seçici
nui-chat
NuiChat: Özellikler
AdTürVarsayılanAçıklama
sessionGirdiNuiChatSessionGösterilecek sohbet.
assistantGirdistring'Assistant'Asistanın adı; ekran okuyucuların okuduğu başlıklarda geçer.
headingLevelGirdinumber3Her 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.
imagesGirdibooleanfalseYanıtlardaki görselleri gösterir. Aksi hâlde görselin metni ona bağlantı olur.
valueÇift yönlüstring''Yazılmakta olan metin.
placeholderGirdistringAlan boşken gösterilen metin.
suggestionsGirdistring[][]İ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.
disabledGirdibooleanfalseMesaj kutusunun göndermesini engeller.
attachGirdibooleanfalseSeçilen, yapıştırılan veya sürükleyip bırakılan dosyaları alır.
acceptGirdistring''Kabul edilen dosya türleri; <input type="file"> ile aynı biçimde.
maxFilesGirdinumber10Bir mesajın taşıyabileceği en fazla dosya sayısı.
maxSizeGirdinumber20_000_000Kabul edilen en büyük dosya boyutu, bayt cinsinden.
labelsGirdiNuiChatLabelsInputSohbetin 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() => voidOdağı metin alanına taşır.
scrollToEndMetot(behavior?) => voidSon 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.

NuiChatSession: Özellikler
AdTürVarsayılanAçıklama
respondÖzellik(request) => NuiChatReplySizin fonksiyonunuz: request.messages için yanıtı yazar, request.signal iptal edildiğinde durur.
messagesÖzellikSignal<NuiChatMessage[]>Ekrandaki sohbet.
allÖzellikSignal<NuiChatMessage[]>Tüm sürümlerdeki tüm mesajlar; kaydedip messages olarak geri vermek için.
busyÖzellikSignal<boolean>Bir yanıtın yolda olup olmadığı.
sendMetot(text, files?) => Promise<void>Bir mesaj gönderir ve yanıt ister.
stopMetot() => voidYanı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) => voidSohbeti bu sürüme geçirir.
rateMetot(message, 'up' | 'down' | null) => voidKullanıcının bir yanıta verdiği puanı kaydeder.
remove, load, clearMetot(…) => voidBir 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.

NuiChatMessage: Özellikler
AdTürVarsayılanAçıklama
id, parentÖzellikstring, string | nullMesajın anahtarı ve ardından geldiği mesajınki.
roleÖzellik'user' | 'assistant'Mesajı kimin yazdığı.
textÖzellikstringAsistandan Markdown, kullanıcıdan düz metin.
statusÖzellik'pending' | 'streaming' | 'done' | 'stopped' | 'error'Yanıtın aşaması; beklemeden tamamlanmaya kadar.
reasoningÖzellikstringModelin yanıtlamadan önce düşündükleri.
toolsÖzellikNuiChatTool[]Çağırdığı araçlar; durumları, girdileri ve çıktılarıyla.
sourcesÖzellik{ url, title? }[]Kullandığı sayfalar.
attachmentsÖzellikNuiChatAttachment[]Mesajla gönderilen dosyalar.
ratingÖzellik'up' | 'down' | nullKullanıcının verdiği puan.
dataÖzellikunknownMesajla 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.

Seçici
ng-template[nuiChatTool]
NuiChatToolTemplate: Özellikler
AdTürVarsayılanAçıklama
nuiChatToolGirdistringAracı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.

Seçici
nui-chat-thread

NuiChatComposer

Yalnızca mesaj kutusu. nui-chat girdilerinden yazmayla ilgili olanları alır.

Seçici
nui-chat-composer

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.

NuiServerEvent: Özellikler
AdTürVarsayılanAçıklama
eventÖzellikstring'message'Olayın adı.
dataÖzellikstringBirleştirilmiş veri satırları.
idÖzellikstringAkışı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.