Skip to main content

Artifacts

什么是 Artifacts?如何在 Open WebUI 中使用它们?​

Open WebUI 中的 Artifacts 是一项创新功能,灵感源自 Claude.AI 的 Artifacts。它允许您在聊天中与 LLM 生成的重要且独立的内容进行交互。您可以从主对话中分离出来,单独查看、修改、构建或引用这些重要内容,从而更轻松地处理复杂的输出,并确保以后可以随时回顾重要信息。

Open WebUI 何时使用 Artifacts?​

当生成的内容符合我们平台特定的标准时,Open WebUI 就会创建一个 Artifact:

  1. 可渲染性:要显示为 Artifact,内容必须是 Open WebUI 支持渲染的格式。这包括:
  • 单页面 HTML 网站
  • 可缩放矢量图形 (SVG) 图像
  • 完整的网页,包括在同一个 Artifact 中的 HTML、Javascript 和 CSS。请注意,生成完整网页必须包含 HTML。
  • ThreeJS 可视化以及其他 JavaScript 可视化库(如 D3.js)。

其他内容类型,如文档(Markdown 或纯文本)、代码片段和 React 组件,在 Open WebUI 中不会渲染为 Artifacts。

Open WebUI 的模型如何创建 Artifacts?​

要在 Open WebUI 中使用 artifacts,模型必须提供能触发渲染过程的内容。这涉及生成有效的 HTML、SVG 代码或其他受支持的渲染格式。当生成的内容符合上述标准时,Open WebUI 就会将其显示为交互式 Artifact。

如何在 Open WebUI 中使用 Artifacts?​

当 Open WebUI 创建 Artifact 时,您会在主聊天右侧的专用 Artifacts 窗口中看到内容。以下是与 Artifacts 交互的方法:

  • 编辑与迭代:在聊天中要求 LLM 编辑或迭代内容,这些更新将直接显示在 Artifact 窗口中。您可以使用 Artifact 左下角的版本选择器在不同版本之间切换。每次编辑都会创建一个新版本,方便您跟踪更改。
  • 更新:Open WebUI 可能会根据您的消息更新现有的 Artifact。Artifact 窗口将显示最新内容。
  • 操作:访问 Artifact 的附加操作,例如复制内容或全屏打开,这些选项位于 Artifact 的右下角。

编辑 Artifacts​

  1. 针对性更新:描述您想要更改的内容和位置。例如:
  • “将图表中柱子的颜色从蓝色改为红色。”
  • “将 SVG 图像的标题更新为‘新标题’。”
  1. 完整重写:当需要进行实质性的结构调整或更新多个部分时,要求对大部分内容进行重大更改。例如:
  • “将这个单页 HTML 网站改写为一个落地页。”
  • “重新设计这个 SVG,使其使用 ThreeJS 制作动画。”

最佳实践:

  • 明确说明您想要更改 Artifact 的哪个部分。
  • 引用所需更改周围的唯一标识文本,以便进行针对性更新。
  • 根据您的需求,考虑小幅更新还是完整重写更合适。

使用案例​

Open WebUI 中的 Artifacts 使各种团队能够快速高效地创建高质量的工作产出。以下是一些针对我们平台的示例:

  • 设计师:
    • 为 UI/UX 设计创建交互式 SVG 图形。
    • 设计单页面 HTML 网站或落地页。
  • 开发人员:为项目创建简单的 HTML 原型或生成 SVG 图标。
  • 营销人员:
    • 设计带有性能指标的营销落地页。
    • 为广告素材或社交媒体帖子创建 SVG 图形。

您可以使用 Open WebUI 的 Artifacts 创建的项目示例​

Open WebUI 中的 Artifacts 赋能各个团队和个人快速高效地创建高质量的工作产出。以下是一些示例,展示了 Artifacts 的多功能性并启发您探索其潜力:

  1. 交互式可视化
  • 使用组件:ThreeJS、D3.js 和 SVG
  • 优势:通过交互式可视化创建沉浸式数据故事。Open WebUI 的 Artifacts 允许您在不同版本之间切换,从而更轻松地测试不同的可视化方法并跟踪更改。

项目示例:使用 ThreeJS 构建交互式折线图,以可视化股票价格随时间的变化。在不同版本中更新图表的颜色和比例,以比较不同的可视化策略。

  1. 单页面 Web 应用程序
  • 使用组件:HTML、CSS 和 JavaScript
  • 优势:直接在 Open WebUI 中开发单页面 Web 应用程序。通过针对性更新和完整重写来编辑和迭代内容。

项目示例:设计一个待办事项列表应用,其用户界面使用 HTML 和 CSS 构建。使用 JavaScript 添加交互功能。通过针对性更新和完整重写来更新应用的布局和 UI/UX。

  1. 动画 SVG 图形
  • 使用组件:SVG 和 ThreeJS
  • 优势:为营销活动、社交媒体或网页设计创建吸引人的动画 SVG 图形。Open WebUI 的 Artifacts 允许您在单个窗口中编辑和迭代图形。

项目示例:为公司品牌设计一个动画 SVG Logo。使用 ThreeJS 添加动画效果,并使用 Open WebUI 的针对性更新来完善 Logo 的颜色和设计。

  1. 网页原型
  • 使用组件:HTML、CSS 和 JavaScript
  • 优势:直接在 Open WebUI 中构建和测试网页原型。在版本之间切换以比较不同的设计方案并完善原型。

项目示例:使用 HTML、CSS 和 JavaScript 开发一个新电子商务网站的原型。使用 Open WebUI 的针对性更新来完善导航、布局和 UI/UX。

  1. 交互式故事讲述
  • 使用组件:HTML、CSS 和 JavaScript
  • 优势:创建带有滚动效果、动画和其他交互元素的交互式故事。Open WebUI 的 Artifacts 允许您完善故事并测试不同版本。

项目示例:构建一个关于公司历史的交互式故事,使用滚动效果和动画来吸引读者。使用针对性更新来完善故事的叙述,并使用 Open WebUI 的版本选择器来测试不同版本。

故障排除​

Artifacts 预览不起作用(Uncaught SecurityError)​

如果您遇到聊天界面中的代码预览未出现,并且在浏览器控制台中看到类似 Artifacts.svelte:40 Uncaught SecurityError 的错误,这通常是由某些环境配置中的跨域 iframe 限制引起的。

解决方案:

  1. 进入 设置 > 界面。
  2. 开启 允许 Iframe 沙盒同源访问 (Allow Iframe Sandbox Same-Origin Access)。
  3. 保存设置。