ಇಂಪೋರ್ಟ್

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 ಮಾಡಿ. ಬೇರೆ ದೋಷಗಳು ಸಾಮಾನ್ಯ ಸಂದೇಶವನ್ನೇ ತೋರಿಸುತ್ತವೆ, ಹಾಗಾಗಿ ಆಂತರಿಕ ವಿವರಗಳು ಸೋರುವುದಿಲ್ಲ.