Chat là mọi thứ nằm giữa người dùng của bạn và mô hình. Tạo một NuiChatSession với hàm respond, và <nui-chat> lo phần còn lại: stream phản hồi dưới dạng Markdown, cuộn theo phản hồi xuống cuối trang cho đến khi người dùng cuộn lên, và biến nút gửi thành nút dừng trong lúc phản hồi đang đến.
respond trả về văn bản, một promise, một async function* hoặc một Observable, nên API nào cũng dùng được. Ngoài văn bản, phản hồi có thể kèm suy luận của mô hình, các lệnh gọi công cụ (do template của bạn vẽ) và các nguồn đã dùng. nuiEventStream đọc server-sent events mà hầu hết API mô hình dùng để stream.
Không mất gì cả: phản hồi được thử lại hay câu hỏi được sửa sẽ thành một phiên bản mới cạnh phiên bản cũ, và hội thoại giữ lại mọi nhánh. Trình đọc màn hình đọc mỗi phản hồi khi đã hoàn tất, chứ không đọc từng chữ.
Trợ lý
Các gợi ý mở đầu hội thoại. Phản hồi được stream về dưới dạng Markdown; bạn có thể dừng, thử lại, đánh giá chúng hoặc sửa câu hỏi của mình. attach nhận tệp được chọn, dán hoặc kéo thả vào.
Suy luận, công cụ và nguồn
Các delta thêm suy luận của mô hình, lệnh gọi công cụ và nguồn vào phản hồi. nuiChatTool vẽ công cụ thời tiết thành một thẻ; các công cụ khác được thu gọn cùng input và output của chúng.
Stream từ máy chủ
nuiEventStream đọc một event stream kiểu OpenAI, và NuiChatError hiển thị thông điệp của nó. all() lưu hội thoại cùng mọi phiên bản.