跳至主要內容

Dify-2-模型与应用

程序员李某某大约 8 分钟

Dify-2-模型与应用

模型

新模型供应商

接入模型供应商

在线供应商

以OpenAI为例

  • 注册一个号 ---- 这里推荐使用第三方,国内可注册,有免费额度,点击注册open in new window
  • 接入
    • 点击Dify-web页面中头像 > 点击设置模型供应商 > OpenAI
    • 设置:填写API Key和API Base,注意填代理地址
    • 添加模型:选择模型类型 --- 输了模型名称 --- 填写API Key和API Base --- 保存
    • 注意:如果用了第三方的就填代理地址

本地供应商

下面以 LocalAI 为例

  • 部署LocalAI服务(略)
  • 接入
    • 点击Dify-web页面中头像 > 点击设置模型供应商 > LocalAI
    • 选择模型类型 --- 输了模型名称 --- 填写服务器URL --- 保存
    • 注意不要用 localhost 或者 127.0.0.1 ,在一个网络下也要用局域网IP

构建

基本概念

  • 应用:指的是一个应用场景

  • 应用类型

    • 聊天助手:基于 LLM 构建对话式交互的助手
    • 文本生成:构建面向文本生成类任务的助手,例如撰写故事、文本分类、翻译等
    • Agent:能够分解任务、推理思考、调用工具的对话式智能助手
    • 工作流:基于流程编排的方式定义更加灵活的 LLM 工作流
  • 通过创建应用,您可以将智能 AI 技术应用于特定的需求。

  • 它既包含了开发 AI 应用的工程范式,也包含了具体的交付物。

  • 简而言之,一个应用为开发者交付了:你可以任选其中之一全部,来支撑你的 AI 应用开发。

    • 封装友好的 API,可由后端或前端应用直接调用,通过 Token 鉴权

    • 开箱即用、美观且托管的 WebApp,你可以 WebApp 的模版进行二次开发

    • 一套包含提示词工程、上下文管理、日志分析和标注的易用界面

  • 文本生成与聊天助手的区别见下表:

文本生成聊天助手
WebApp 界面表单+结果式聊天式
WebAPI 端点completion-messageschat-messages
交互方式一问一答多轮对话
流式结果返回支持支持
上下文保存当次持续
用户输入表单支持支持
数据集与插件支持支持
AI 开场白不支持支持
情景举例翻译、判断、索引聊天

创建应用

你可以通过 3 种方式在 Dify 的工作室内创建应用:

  • 基于应用模板创建(新手推荐)
  • 创建一个空白应用
  • 通过 DSL 文件(本地/在线)创建应用

基于模版创建

Dify 团队内的提示词工程师已经创建好了多场景、高质量的应用模板。

你可以从导航选择 「工作室 」,在应用列表内选择 「从模版创建」。

任意选择某个模板,并将其添加至工作区。

创建一个空白应用

从导航选择 「工作室」 ,在应用列表内选择 「从空白创建 」。

通过 DSL 文件创建应用

Dify DSL 是由 Dify.AI 所定义的 AI 应用工程文件标准,文件格式为 YML。该标准涵盖应用在 Dify 内的基本描述、模型参数、编排配置等信息

  • 本地导入:如果你从社区或其它人那里获得了一个应用模版(DSL 文件),可以从工作室选择 「 导入DSL 文件 」。DSL 文件导入后将直接加载原应用的所有配置信息。

  • URL 导入:你也可以通过 URL 导入 DSL 文件,参考的链接格式:https://example.com/your_dsl.yml

聊天助手

编排

填写提示词

提示词用于约束 AI 给出专业的回复,让回应更加精确。你可以借助内置的提示生成器,编写合适的提示词。提示词内支持插入表单变量,例如 {{input}}。提示词中的变量的值会替换成用户填写的值。

示例:

  1. 输入提示指令,要求给出一段面试场景的提示词。
  2. 右侧内容框将自动生成提示词。
  3. 你可以在提示词内插入自定义变量。

为了更好的用户体验,可以加上对话开场白:你好,{{name}}。我是你的面试官,Bob。你准备好了吗?。点击页面底部的 “添加功能” 按钮,打开 “对话开场白” 的功能:

添加上下文

如果想要让 AI 的对话范围局限在知识库open in new window内,例如企业内的客服话术规范,可以在“上下文”内引用知识库。

调试

在右侧填写用户输入项,输入内容进行调试。

如果回答结果不理想,可以调整提示词和底层模型。你也可以使用多个模型同步进行调试,搭配出合适的配置。

多个模型进行调试:

如果使用单一模型调试时感到效率低下,你也可以使用**“多个模型进行调试”**功能,批量检视模型的回答效果。

最多支持同时添加 4 个大模型。

⚠️ 使用多模型调试功能时,如果仅看到部分大模型,这是因为暂未添加其它大模型的 Key。你可以在“增加新供应商”open in new window内手动添加多个模型的 Key。

发布应用

调试好应用后,点击右上角的 “发布” 按钮生成独立的 AI 应用。除了通过公开 URL 体验该应用,你也进行基于 APIs 的二次开发、嵌入至网站内等操作。详情请参考发布open in new window

如果想定制已发布的应用,可以 Fork 我们的开源的 WebApp 的模版open in new window。基于模版改成符合你的情景与风格需求的应用。

Agent

定义

智能助手(Agent Assistant),利用大语言模型的推理能力,能够自主对复杂的人类任务进行目标规划、任务拆解、工具调用、过程迭代,并在没有人类干预的情况下完成任务。

为了方便快速上手使用,您可以在“探索”中找到智能助手的应用模板,添加到自己的工作区,或者在此基础上进行自定义。在全新的 Dify 工作室中,你也可以从零编排一个专属于你自己的智能助手,帮助你完成财务报表分析、撰写报告、Logo 设计、旅程规划等任务。

选择智能助手的推理模型,智能助手的任务完成能力取决于模型推理能力,我们建议在使用智能助手时选择推理能力更强的模型系列如 gpt-4 以获得更稳定的任务完成效果。

你可以在“提示词”中编写智能助手的指令,为了能够达到更优的预期效果,你可以在指令中明确它的任务目标、工作流程、资源和限制等。

工具

在“上下文”中,你可以添加智能助手可以用于查询的知识库工具,这将帮助它获取外部背景知识。

在“工具”中,你可以添加需要使用的工具。工具可以扩展 LLM 的能力,比如联网搜索、科学计算或绘制图片,赋予并增强了 LLM 连接外部世界的能力。Dify 提供了两种工具类型:官方工具自定义工具

你可以直接使用 Dify 生态提供的内置工具,或者轻松导入自定义的 API 工具(目前支持 OpenAPI / Swagger 和 OpenAI Plugin 规范)。

工具使用户可以在 Dify 上创建更强大的 AI 应用,如你可以为智能助理型应用(Agent)编排合适的工具,它可以通过任务推理、步骤拆解、调用工具完成复杂任务。另外工具也可以方便将你的应用与其他系统或服务连接,与外部环境交互,如代码执行、对专属信息源的访问等。

配置 Agent

在 Dify 上为智能助手提供了 Function calling(函数调用)和 ReAct 两种推理模式。已支持 Function Call 的模型系列如 gpt-3.5/gpt-4 拥有效果更佳、更稳定的表现,尚未支持 Function calling 的模型系列,我们支持了 ReAct 推理框架实现类似的效果。

在 Agent 配置中,你可以修改助手的迭代次数限制。

开场白

您可以为智能助手配置一套会话开场白和开场问题,配置的对话开场白将在每次用户初次对话中展示助手可以完成什么样的任务,以及可以提出的问题示例。

应用工具箱

参见官网open in new window

上次编辑于:
贡献者: 李元昊