ఇంపోర్ట్

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

NuiChat

సంభాషణ, రాసే బాక్స్ రెండూ కలిపి.

సెలెక్టర్
nui-chat
NuiChat: ప్రాపర్టీలు
పేరుటైప్డిఫాల్ట్వివరణ
sessionఇన్‌పుట్NuiChatSessionచూపించాల్సిన సంభాషణ.
assistantఇన్‌పుట్string'Assistant'అసిస్టెంట్ పేరు, స్క్రీన్ రీడర్‌లు చదివే హెడింగ్‌లలో.
headingLevelఇన్‌పుట్number3ప్రతి సందేశం హెడింగ్ స్థాయి; ఇది స్క్రీన్ రీడర్‌లకు మాత్రమే. సమాధానాల్లోని హెడింగ్‌లు ఒక స్థాయి కిందికి.
announceఇన్‌పుట్'reply' | 'notice' | 'off''reply'సమాధానం పూర్తయినప్పుడు స్క్రీన్ రీడర్‌లు చదివేది: మొత్తం, చిన్న నోటీసు, లేదా ఏమీ లేదు.
imagesఇన్‌పుట్booleanfalseసమాధానాల్లో చిత్రాలను చూపిస్తుంది. లేకపోతే వాటి టెక్స్ట్ లింక్ అవుతుంది.
valueటూ-వేstring''రాస్తున్న టెక్స్ట్.
placeholderఇన్‌పుట్stringఖాళీ ఫీల్డ్‌లోని సూచన.
suggestionsఇన్‌పుట్string[][]మొదటి సందేశం వరకు, ఒక్క క్లిక్‌తో పంపగల ప్రాంప్ట్‌లు.
sendOnఇన్‌పుట్'enter' | 'mod+enter''enter'Enter పంపుతుందా, లేక Ctrl లేదా ⌘ + Enter కావాలా.
disabledఇన్‌పుట్booleanfalseరాసే బాక్స్ పంపకుండా ఆపుతుంది.
attachఇన్‌పుట్booleanfalseఫైల్‌లను తీసుకుంటుంది: ఎంచుకున్నవి, పేస్ట్ లేదా డ్రాప్ చేసినవి.
acceptఇన్‌పుట్string''తీసుకోవాల్సిన ఫైల్ రకాలు, <input type="file"> లో లాగా.
maxFilesఇన్‌పుట్number10ఒక సందేశంలో ఎన్ని ఫైల్‌లు ఉండవచ్చో.
maxSizeఇన్‌పుట్number20_000_000తీసుకునే గరిష్ఠ ఫైల్ సైజు, బైట్‌లలో.
labelsఇన్‌పుట్NuiChatLabelsInputఅనువదించడానికి, చాట్ చూపించే లేదా ప్రకటించే ప్రతి టెక్స్ట్.
ratedఅవుట్‌పుట్{ 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ప్రాపర్టీstringఅసిస్టెంట్ నుంచి Markdown, యూజర్ నుంచి సాదా టెక్స్ట్.
statusప్రాపర్టీ'pending' | 'streaming' | 'done' | 'stopped' | 'error'సమాధానం ఏ దశలో ఉందో, వేచి ఉండటం నుంచి పూర్తయ్యే వరకు.
reasoningప్రాపర్టీstringసమాధానం ఇచ్చే ముందు మోడల్ ఆలోచించినది.
toolsప్రాపర్టీNuiChatTool[]అది కాల్ చేసిన టూల్‌లు, వాటి స్థితి, ఇన్‌పుట్, అవుట్‌పుట్‌తో.
sourcesప్రాపర్టీ{ url, title? }[]అది వాడిన పేజీలు.
attachmentsప్రాపర్టీNuiChatAttachment[]దానితో పంపిన ఫైల్‌లు.
ratingప్రాపర్టీ'up' | 'down' | nullచదివేవారి అభిప్రాయం.
dataప్రాపర్టీunknownదానితో ఉంచాల్సిన మరేదైనా, ఉదాహరణకు మోడల్ పేరు.

NuiChatToolTemplate

వాతావరణ కార్డ్ లాగా, ఒక టూల్ కాల్‌ను గీస్తుంది. కాంటెక్స్ట్‌లో కాల్, దాని సందేశం ఉంటాయి.

సెలెక్టర్
ng-template[nuiChatTool]
NuiChatToolTemplate: ప్రాపర్టీలు
పేరుటైప్డిఫాల్ట్వివరణ
nuiChatToolఇన్‌పుట్stringటూల్ పేరు. పేరు లేకపోతే, మరే టెంప్లేట్ పేర్కొనని ప్రతి కాల్‌నూ గీస్తుంది.

NuiChatThread

మీ సొంత లేఅవుట్ కోసం, సంభాషణ మాత్రమే విడిగా. సంభాషణకు సంబంధించిన nui-chat ఇన్‌పుట్‌లను ఇది తీసుకుంటుంది.

సెలెక్టర్
nui-chat-thread

NuiChatComposer

రాసే బాక్స్ మాత్రమే విడిగా. రాయడానికి సంబంధించిన nui-chat ఇన్‌పుట్‌లను ఇది తీసుకుంటుంది.

సెలెక్టర్
nui-chat-composer

NuiServerEvent

ప్రతి ఈవెంట్‌కు nuiEventStream ఇచ్చేది. nuiTextStream సాదా టెక్స్ట్‌ను, nuiJsonStream JSON లైన్‌లను చదువుతాయి; మూడూ ఒక fetch రెస్పాన్స్‌ను తీసుకుంటాయి.

NuiServerEvent: ప్రాపర్టీలు
పేరుటైప్డిఫాల్ట్వివరణ
eventప్రాపర్టీstring'message'ఈవెంట్ పేరు.
dataప్రాపర్టీstringదాని data లైన్‌లు, కలిపి.
idప్రాపర్టీstringస్ట్రీమ్ పంపిన చివరి id.

NuiChatError

సందేశం చూపించడానికి respond నుంచి దీన్ని throw చేయండి. ఇతర ఎర్రర్‌లు సాధారణ సందేశాన్నే చూపిస్తాయి, కాబట్టి అంతర్గత వివరాలేవీ బయటపడవు.