跳至主要内容

訊息模板

@asgard-js/react 內建 13 種訊息模板類型,加上 Math(LaTeX)和 References(RAG 引用)兩種延伸渲染。選擇下方任一個模板,即可在聊天機器人面板即時看到它的渲染效果。

選擇模板

點選任一模板類型,即時查看它的渲染效果。

聊天機器人載入中…

程式範例​

import { Chatbot } from "@asgard-js/react";
import { createTextTemplateExample } from "./mocks/messages";

export function Demo() {
return (
<Chatbot
title="文字模板 Demo"
config={{ botProviderEndpoint: "skip" }}
customChannelId="templates-demo"
initMessages={[createTextTemplateExample()]}
/>
);
}

支援的模板​

每個模板的完整欄位定義請見 Asgard 開發者文件的 Message Template 章節。

模板說明文件
text純文字或富文字訊息,支援快捷回覆Text
hint提示型泡泡Hint
button行內按鈕(uri、message、emit 三種 action)Button
carousel可滑動的卡片輪播Carousel
image附說明的圖片Image
audio音訊播放器—
video影片播放(支援 YouTube 嵌入)—
locationGoogle Maps 地圖卡片—
chart以 Vega / Vega-Lite 規格渲染的圖表,可給多種畫法讓使用者切換。見 TABLE / CHART 進階—
table結構化的表格資料,可附 SQL 分頁與 CSV/JSON Lines 下載。見 TABLE / CHART 進階—
attachment附件卡片,可帶 defaultAction(點卡片)與選用的下載按鈕(downloadAction,eventName 為 download_file 時顯示)—
question選擇題卡片,答案摺成下一則使用者訊息送出。見提問卡片—
canvasAgent 畫出的 HTML/SVG,渲染在隔離的 iframe 裡。見畫布卡片—
mathLaTeX 數學公式(在 text template 中以 $...$ / $$...$$ 表示)—
referencesRAG 引用來源標註(所有模板共用欄位)—

button 與 carousel 模板的按鈕動作有三種:

Action行為文件
message送出一則訊息給 botAction Object - Message
uri開啟外部連結Action Object - URI
emit觸發 <Chatbot> 的 onTemplateBtnClick callback,見 事件 DemoAction Object - EMIT

通用欄位​

所有模板共享以下欄位:

欄位文件
quickReplies通用功能 - quickReplies
富文字(Markdown / 條列 / 表格 / LaTeX)通用功能 - Text
referencesRAG 引用,附在訊息下方(見上表)