Dify API 分类

在使用 NuxtBase 的 Dify API 时,需要先了解 Dify 的 API 分类,以便于更好地使用 Dify API,也可以更好的使用 NuxtBase 去接入 Dify API。如果分类搞错了,可能会导致你无法正常使用 NuxtBase。

Dify API 的 4 个分类

也许当你打开 Dify 应用的时候,看到如上图所示的应用分类,例如 CHATFLOW/AGENT/工作流等。这些并不是 Dify API 的分类,而是 Dify 给的应用分类。

Dify API 分为以下 4 类:

  1. 对话型应用 API
  2. 工作流编排对话型应用 API
  3. 文本生成型应用 API
  4. Workflow 应用 API

如何确定 Dify API 分类?

  1. 在你的 Dify 应用中,点击【访问 API】

  1. 在【访问 API】页面确认 API 类型

API 分类与 NuxtBase 的对应关系

Dify 的不同 API 分类,在 NuxtBase 的配置上,主要的影响是配置有 2 个:

  • 配置页面路径会不同,也就是在/config/ai/index.ts中配置的 Dify 应用的 path 字段。
  • 因为页面不同,所以页面 UI 也会有一些不同。
  • 后端请求的 API 不同,但这个作为浅度用户可以忽略,NuxtBase 会根据页面分类,自动选择对应的 API。

1. 对话型应用 API + 工作流编排对话型应用 API

  • path 地址:/ai/chat/[appId]
const aiConfig: AiConfig = {
  enable: true,
  apps: {
    // 应用1: 前端面试(请自行修改)
    interview: {
      id: "interview",
      name: "前端面试",
      description:
        "一个模拟的前端面试官,通过提问的方式对前端开发的技能水平进行检验。",
      icon: "👨‍💻‍",
      iconBgColor: "#e0f2fe",
      type: "chat",
      typeName: "聊天助手",
      path: "/ai/chat/interview", //请配置该路径
      apikey: "DIFY_API_KEY_APP_INTERVIEW",
    },
  },
};
  • UI 效果:

dify-template

2. 文本生成型应用 API

  • path 地址:/ai/completion/[appId]
const aiConfig: AiConfig = {
  enable: true,
  apps: {
    // 应用7: 文献综述写作(文本生成类)
    ["literature-review"]: {
      id: "literature-review",
      name: "文献综述写作",
      description:
        "文献综述写作类应用,左侧面板用户输入关键字,右侧面板AI生成写作内容",
      icon: "📋",
      iconBgColor: "#f5f5f4",
      type: "completion",
      typeName: "文本生成类",
      tags: ["文本生成型应用API"],
      path: "/ai/completion/literature-review", //请配置该路径
      apikey: "DIFY_API_KEY_APP_LITERATURE_REVIEW",
    },
  },
};
  • UI 效果:

dify-template-文本生成

3. Workflow 应用 API

  • path 地址:/ai/workflow/[appId]
  • UI 效果:
const aiConfig: AiConfig = {
  enable: true,
  apps: {
    // 应用8: 全书翻译(工作流类)
    ["book-translator"]: {
      id: "book-translator",
      name: "全书翻译",
      description:
        "书籍翻译类应用,左侧面板用户输入书籍名称,右侧面板AI生成翻译内容",
      icon: "📚",
      iconBgColor: "#f5f5f4",
      type: "workflow",
      typeName: "工作流",
      tags: ["工作流API"],
      path: "/ai/workflow/book-translator", //请配置该路径
      apikey: "DIFY_API_KEY_APP_BOOK_TRANSLATOR",
    },
  },
};
  • UI 效果:

dify-template-Workflow