@deepagents/要素
用于 DeepAgents 运行时间和 造物师.
当一个模型可能写入主机转动的内置 HTML 风格标记时使用此软件包 输入交互式用户界面。 包拥有可序列合同:元素名称, 允许属性、验证、描述序列、上下文碎片和 在文本流中保留元素标记的流块.
反应组件注册居住在 @deepagents/react-genai; 此软件包
(b) 不属于特定制造器部件.
安装
npm install @deepagents/elements
定义目录
import { defineElements } from '@deepagents/elements';
const elements = defineElements([
{
name: 'followup',
allowedAttributes: ['question'],
description: 'Suggest a follow-up question',
},
]);
元素名称和属性必须使用 kebab- case 。 保留DOM-插图
属性,例如 id, (中文(简体) ), name, (中文(简体) ), aria-describedby,以及 aria-labelledby 为:
定义时被拒绝,因为减记消毒器在定义前重写
组件可以接收道具.
向上下文添加元素
import {
elementsFragment,
elementsStreamTransform,
} from '@deepagents/elements/context';
context.set(elementsFragment(elements));
const stream = await chat(agent, {
transform: [elementsStreamTransform],
});
elementsFragment() 广告目录为结构化上下文并存储 a
用于主机回读的碎片元数据描述快照.
elementsStreamTransform 缓冲一个 HTML 风格元素直至其根标记
完整, 因此客户端不会在流出时制作部分自定义标记 .
反应主机
反应主机可以通过
@deepagents/react-genai,用于再出口 defineElements 添加
GenAIInteractiveElement 类型 :
import {
type GenAIInteractiveElement,
defineElements,
} from '@deepagents/react-genai';
const elements = defineElements<GenAIInteractiveElement>([
{
name: 'followup',
allowedAttributes: ['question'],
description: 'Suggest a follow-up question',
component: FollowupQuestion,
},
]);