ইমপোর্ট

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এর ডেটা লাইন, জোড়া লাগানো।
idপ্রপার্টিstringস্ট্রিমের পাঠানো শেষ id।

NuiChatError

এর বার্তা দেখাতে respond থেকে এটি থ্রো করুন। অন্য যেকোনো ত্রুটি একটি সাধারণ বার্তা দেখায়, যাতে ভেতরের কিছু ফাঁস না হয়।