Dify快速入门示例

前提条件

  1. 使用SAE部署Dify

  2. 配置模型供应商(注意模型供应商提供的服务可能产生费用,请参考各模型供应商的计费说明。本文以通义千问为例):

    1. 登录Dify管理页面,点击 右上角头像 > 设置 > 模型供应商。选择通义千问,点击安装。等待安装完成。

    2. 刷新页面,在待配置区域,点击设置。输入从百炼控制台获取的API Key。点击保存

    3. 验证模型供应商配置成功:

      1. Dify管理页面,点击创建空白应用

      2. 选择应用类型:展开新手适用区域,选择文本生成应用,自定义应用名称,点击创建

      3. 在右上角选择模型供应商提供的可用模型,Query输入你是谁,点击运行结果返回大模型的自我介绍内容,表明配置成功。

搭建AI图片生成应用

根据终端用户输入的一段话,生成一幅图片。

  1. 配置Stability工具:

    1. Dify管理页面,点击工具页签,搜索并选中Stability,点击安装。等待安装完成。

    2. 刷新页面,Stability工具出现在上方的已安装工具列表中。点击Stability工具,点击API Key授权配置,输入Stability获取的API Key

  2. 构建Agent:

    1. Dify管理页面,点击创建空白应用

    2. 选择应用类型:展开新手适用区域,选择Agent,自定义应用名称,点击创建

    3. 选择模型:在右上角点击模型配置按钮,模型建议选择qwen-plus-latest(Qwen3)

    4. 添加工具:在工具区域,点击添加。选择Stability,点击添加全部

    5. 撰写系统提示词:在提示词区域,输入以下内容(注意可以通过替换二次元等描述来指定生成的图片风格):

      ## 任务
      根据用户的提示,使用工具 stability_text2image 绘画指定内容,画面是二次元风格。
      
      ## 约束
      如果用户在请求和绘画无关的内容,回复:“对不起,我不明白你在说什么”
    6. 测试:

      1. 调试与预览区域,输入一条用户提示词用于测试,例如:

        画一个程序员,正在用计算机编写程序。
      2. 结果返回大模型生成的内容和图片,表明Agent构建成功。如果测试不成功,尝试更换系统提示词或在右上角选择其他模型。

  3. 发布应用:

    1. 在右上角点击发布 > 发布更新,等待发布成功。

    2. 在右上角点击发布 > 运行,跳转到面向终端用户的应用界面。

    3. 仅需分享此应用界面的URL给实际的终端用户,即可为其提供服务。

    4. 根据实际需求,终端用户在对话框中输入提示词,即可生成图片。

搭建文章理解助手

帮助终端用户快速理解一篇文档的结构。

  1. 构建Chatflow:

    1. Dify管理页面,点击创建空白应用

    2. 选择应用类型Chatflow,自定义应用名称,点击创建。进入Chatflow编排页面,如果系统默认已创建了一些节点,则仅保留开始节点,删除其他节点。

    3. 开始节点添加文件变量:

      1. Chatflow编排页面,点击开始节点,点击输入字段区域的+

      2. 字段类型选择单文件,自定义变量名称支持的文件类型选择文档上传文件类型选择两者,即可支持终端用户从本地上传文件或通过URL来指定文件。点击保存

    4. 添加文档提取器节点:

      1. 点击开始节点后的+,选择文档提取器。这个节点可以从文件变量中提取文本,输出文本格式的变量。

      2. 文档提取器节点的设置中,输入变量选择之前定义的开始节点的文件变量,输出变量保持为默认的text(即提取的文本)。

    5. 添加LLM节点:

      1. 点击文档提取器节点后的+,选择LLM。这个节点负责调用大语言模型来分析文档内容并生成文档结构。

      2. LLM节点的设置中,模型建议选择qwen-plus-latest(Qwen3)

      3. SYSTEM中输入以下系统提示词,注意将其中{{文档提取器结果的变量}}替换为实际的变量,替换的方法是先将光标定位在占位字符串{{文档提取器结果的变量}}前,然后输入/并根据页面提示插入文档提取器的输出变量,最后删去占位字符串。

        阅读以下文章内容并执行任务
        {{文档提取器结果的变量}}
        # 任务
        
        - **主要目标**:全面解析文章的结构。
        - **目标**:详细说明文章每个部分的内容。
        - **要求**:尽可能详细地分析。
        - **限制**:无特别的格式限制,但需要保持解析的条理性和逻辑性。
        - **预期输出**:文章结构的详细解析,包括每个部分的主要内容和作用。
        
        # 推理顺序
        
        - **推理部分**:通过仔细阅读文章,识别和解析其结构。
        - **结论部分**:提供每个部分的具体内容和作用。
        
        # 输出格式
        
        - **解析格式**:每个部分应以标题形式列出,后跟对该部分内容的详细说明。
        - **结构形式**:Markdown,以增强可读性。
        - **具体说明**:每个部分的内容和作用,包括但不限于引言、正文、结论、引用等。
        
        # 示例输出
        
        ## 示例文章解析
        
        ### 引言
        - **内容**:介绍研究的背景、目的和重要性。
        - **作用**:吸引读者的注意力,为文章内容提供上下文。
        
        ### 方法
        - **内容**:描述研究的具体方法和步骤,包括实验设计、数据收集和分析技术。
        - **作用**:使读者了解研究的科学性和可重复性。
        
        ### 结果
        - **内容**:展示研究的主要发现和数据。
        - **作用**:提供研究结论的证据基础。
        
        ### 讨论
        - **内容**:解释结果的意义,对比其他研究,提出可能的改进方向。
        - **作用**:帮助读者理解结果的广泛影响和未来研究的潜力。
        
        ### 结论
        - **内容**:总结研究的主要发现和贡献。
        - **作用**:强化文章的核心信息,提供明确的结论。
        
        ### 引用
        - **内容**:列出文章中引用的所有文献。
        - **作用**:提供进一步阅读的资源,确保学术诚信。
        
        # 备注
        
        - **边缘情况**:如果文章结构不典型(例如,缺少某些部分或有额外的部分),应在解析中明确指出这些特殊情况。
        - **重要考虑事项**:解析时应关注文章的逻辑性和连贯性,确保每个部分的内容与文章的整体目标一致。
      4. 输出变量保持为默认的text(即生成内容)和usage(即模型用量信息)。

    6. 添加直接回复节点:

      1. 点击LLM节点后的+,选择直接回复

      2. 直接回复节点的设置中,在回复中输入/并根据页面提示插入LLM的输出变量text

  2. 测试应用:点击预览,在对话框中上传文档并输入提示词(例如生成文档结构),即可生成文档结构。如果执行失败或效果不达预期,请尝试更换LLM节点配置的模型或参数。

  3. 发布应用:

    1. 在右上角点击发布 > 发布更新,等待发布成功。

    2. 在右上角点击发布 > 运行,跳转到面向终端用户的应用界面。

    3. 仅需分享此应用界面的URL给实际的终端用户,即可为其提供服务。

使用知识库搭建智能客服机器人

智能客服机器人能够根据客户的提问查询知识库中的相关内容并作答。

  1. 创建知识库:

    1. Dify管理页面,点击知识库页签,点击创建知识库

    2. 选择数据源导入已有文本。从本地上传文件作为知识库内容,本文以百炼系列手机介绍.docx为例。点击下一步

    3. 分段设置区域,分段标识符设置为\n,其余保持默认配置。点击保存并处理。等待处理完成,点击前往文档

    4. 文档列表中,点击已上传到知识库中的文档名称,进入文档详情页,可以查看分段结果;在左侧导航栏点击召回测试,在源文本中输入测试文本,点击测试,可以查看召回效果。如果对分段结果或召回效果不满意,可以在左侧导航栏点击设置并调整配置项。

  2. 构建Chatflow:

    1. Dify管理页面,点击创建空白应用

    2. 选择应用类型Chatflow,自定义应用名称,点击创建。进入Chatflow编排页面,如果系统默认已创建了一些节点,则仅保留开始节点,删除其他节点。

    3. 添加问题分类器节点:

      1. 点击开始节点后的+,选择问题分类器。这个节点根据用户输入判断接下来执行的流程。

      2. 问题分类器节点的设置中,模型建议选择qwen-plus-latest(Qwen3)输入变量选择开始节点的用户输入sys.query

      3. 分类1设置为:用户询问与百炼手机无关的问题。点击流程图中分类1后的+,选择直接回复回复设置为很抱歉,我不能回答你的问题。

      4. 分类2设置为:用户询问与百炼手机相关的问题。后续还需要在分类2的流程中添加知识检索LLM直接回复节点。

    4. 添加知识检索节点:

      1. 点击分类2后的+,选择知识检索查询变量选择开始节点的用户输入sys.query

      2. 知识库区域,添加之前已创建的知识库。

    5. 添加LLM节点:

      1. 点击知识检索后的+,选择LLM。这个节点负责调用大语言模型并结合知识库检索结果来生成问题的回答。

      2. LLM节点的设置中,模型建议选择qwen-plus-latest(Qwen3)

      3. 上下文选择知识检索result

      4. SYSTEM中输入以下系统提示词,注意将其中{{上下文}}{{用户输入}}替换为实际的变量,替换的方法是先将光标定位在占位字符串{{上下文}}前,然后输入/并根据页面提示插入上下文;将光标定位在占位字符串{{用户输入}}前,然后输入/并根据页面提示插入开始节点的用户输入sys.query,最后删去占位字符串。

        根据{{上下文}}回答{{用户输入}}
      5. 输出变量保持为默认的text(即生成内容)和usage(即模型用量信息)。

    6. 添加直接回复节点:

      1. 点击LLM节点后的+,选择直接回复

      2. 直接回复节点的设置中,在回复中输入/并根据页面提示插入LLM的输出变量text

  3. 测试应用:点击预览,在对话框中输入问题(例如百炼X1的屏幕像素是多少),即可生成回答。如果执行失败或效果不达预期,请尝试更换各节点配置的模型或参数。

  4. 发布应用:

    1. 在右上角点击发布 > 发布更新,等待发布成功。

    2. 在右上角点击发布 > 运行,跳转到面向终端用户的应用界面。

    3. 仅需分享此应用界面的URL给实际的终端用户,即可为其提供服务。