ચૅટ એ તમારા વપરાશકર્તાઓ અને મૉડલ વચ્ચેનું બધું જ છે. respond ફંક્શન સાથે NuiChatSession બનાવો, અને બાકીનું <nui-chat> કરે છે: તે જવાબને Markdown તરીકે સ્ટ્રીમ કરે છે, વપરાશકર્તા ઉપર સ્ક્રોલ ન કરે ત્યાં સુધી તેની સાથે નીચે સ્ક્રોલ કરે છે, અને જવાબ આવતો હોય ત્યારે મોકલવાના બટનને રોકવાનું બટન બનાવી દે છે.

respond ટેક્સ્ટ, પ્રૉમિસ, async function* કે Observable પાછું આપે છે, તેથી કોઈ પણ API બંધબેસે છે. ટેક્સ્ટ ઉપરાંત, જવાબમાં મૉડલનું રીઝનિંગ, તેના ટૂલ કૉલ (તમારા ટેમ્પ્લેટથી દોરાયેલા) અને તેણે વાપરેલા સ્રોત પણ હોઈ શકે છે. મોટા ભાગના મૉડલ API જે સર્વર-સેન્ટ ઇવેન્ટ સ્ટ્રીમ કરે છે, તે nuiEventStream વાંચે છે.

કશું ખોવાતું નથી: ફરી માગેલો જવાબ કે એડિટ કરેલો પ્રશ્ન જૂનાની બાજુમાં નવું વર્ઝન બને છે, અને વાતચીત દરેક શાખા સાચવી રાખે છે. સ્ક્રીન રીડર દરેક જવાબ પૂરો થાય ત્યારે જ સંભળાવે છે, શબ્દે શબ્દે નહીં.

એક આસિસ્ટન્ટ

સૂચનો વાતચીત શરૂ કરે છે. જવાબ Markdown તરીકે સ્ટ્રીમ થઈને આવે છે; તેમને રોકો, ફરી માગો, રેટ કરો, કે તમારો પ્રશ્ન એડિટ કરો. attach પસંદ કરેલી, પેસ્ટ કરેલી કે ડ્રૉપ કરેલી ફાઇલો લે છે.

રીઝનિંગ, ટૂલ અને સ્રોત

ડેલ્ટા જવાબમાં મૉડલનું રીઝનિંગ, ટૂલ કૉલ અને સ્રોત ઉમેરે છે. nuiChatTool હવામાનના ટૂલને કાર્ડ તરીકે દોરે છે; બીજાં ટૂલ તેમનાં ઇનપુટ અને આઉટપુટ સાથે સંકેલાયેલાં રહે છે.

સર્વરથી સ્ટ્રીમિંગ

nuiEventStream OpenAI જેવી ઇવેન્ટ સ્ટ્રીમ વાંચે છે, અને NuiChatError પોતાનો સંદેશ બતાવે છે. all() બધાં વર્ઝન સહિત વાતચીત સેવ કરે છે.