使用Dify快速构建AI问答助手

使用Dify服务您可以实现将企业或个人的知识库集成到大模型应用中,从而创建出深度定制化的AI问答解决方案,并且可将其集成到您的业务场景,助力您提升日常研发管理效能此外在ACK集群上部署服务还支持随业务需求变化即时、平滑地进行扩容,从而有力推动业务发展。

方案概览

Dify定制化AI应用示例

2024-08-21_16-01-26 (1)

网页集成AI应用示例

2024-08-23_14-14-02 (1)

配置一个专属AI问答助手,只需3步:

  1. 安装ack-dify组件:先通过容器服务创建一个ACK集群,并安装ack-dify组件。

  2. 添加AI问答助手:接着通过访问Dify服务,实现在网站中引入一个AI问答助手。

  3. 定制AI问答助手:最后可以通过准备专属知识库,让AI问答助手回答原本无法准确回答的问题,帮助您更好的应对专业问题的咨询。

yuque_diagram12

Dify服务和ACK集群交互详情如下图所示。

Dify简介

Dify是一款开源的大语言模型(LLM)应用开发平台。它融合了后端即服务(Backend as Service)和LLMOps的理念,使开发者可以快速搭建生产级的生成式AI应用。即使您是非技术人员,也能参与到AI应用的定义和数据运营过程中。同时Dify内置了构建LLM应用所需的关键技术栈,这为开发者节省了许多重复造轮子的时间,使其可以更加专注在创新和业务需求上。

技术架构如下图所示。

Dify的技术架构包括以下关键部分:

  1. 核心技术组件支撑:Dify集成了创建LLM应用程序的核心技术组件,涵盖了对众多模型的兼容支持、用户友好的Prompt设计界面、高性能的RAG(检索增强生成)系统,以及可自定义的Agent架构。

  2. 可视化编排和运营:Dify通过其直观的界面,实现了Prompt的可视化编排、运维流程及数据集的高效管理,极大地加速了AI应用程序的开发进程,使开发者能够在短时间内完成部署,或迅速将LLM融入现有系统中,并支持持续性的运维优化。

  3. 应用模板和编排框架:Dify为开发者配备了开箱即用的应用模板和编排架构,使得开发者能够依托这些资源迅速开发出基于大规模语言模型的生成式AI应用程序。此外,该平台还支持随业务需求变化即时、平滑地进行扩容,从而有力推动业务发展。

通过这些技术架构的关键组成部分,Dify为开发者提供了一个全面、灵活且易于使用的平台,以支持生成式AI应用的快速开发和部署。

1. 安装ack-dify组件

一键部署

手动部署

如果您首次使用ACK集群,不了解集群的创建流程,您可以单击文档顶部右上角的一键部署创建Dify服务所需要的运行环境。

本方案的技术架构包括以下云服务:

  • 容器服务 Kubernetes 版:搭建1个ACK Pro集群环境。

  • 云服务器 ECS:2台提供集群服务的ECS。

  • 专有网络 VPC(Virtual Private Cloud):1个专有网络,提供云上私有网络。

  • 弹性公网 IP:允许您将公网IP地址与云服务器、负载均衡等资源进行绑定或解绑。

  • 负载均衡:将来自公网或内网的访问请求根据转发规则和算法分配到后端多台服务器上。

  • 文件存储 NAS:存储您在集群中产生的相关数据。

  • 云盘存储卷:存储卷挂载到容器中满足数据的持久化存储需求。

相关计费信息,请参见计费相关

如下图所示,在资源编排ROS中选择您的地域华东1(杭州),然后按照ROS模板选择您的集群可用区实例规格实例密码安全确认等重要信息,其余信息保持默认即可,设置完成后点击创建

由于集群所需资源较多,需要您耐心等待15分钟左右完成。集群创建完成后,登录容器服务管理控制台,在左侧导航栏选择集群。单击目标集群名称,进入集群详情页面,如下图所示,按照②③④序号依次单击,查看目标集群是否已正常安装ack-dify组件

如果您发现有Pod处于Pending状态,可能是因为已有集群缺少ack-dify的PVC依赖,请为集群创建默认的CNFS文件系统以及对应的NAS StorageClass。具体操作,请参见通过CNFS管理NAS文件系统(推荐)。更多Pod异常问题排查,请参见Pod异常问题排查

image

ack-dify组件安装完成后,您可继续执行下一步操作添加AI问答助手

2. 添加AI问答助手

2.1 访问Dify服务

  1. 为ack-dify服务开启公网访问功能。

    如果您使用的是生产环境,为了您的应用数据安全,建议您开启访问控制功能。

    image

    配置完成后,您会看到ack-dify服务的外部IP地址(External IP),将该外部IP地址输入浏览器地址栏即可访问Dify服务。

    image

  2. 注册账号。

    访问外部IP地址(External IP),请根据页面提示设置管理员账户(即邮箱地址、用户名和密码),以注册Dify平台来使用服务。

    image

2.2 创建AI问答助手

  1. 在浏览器中输入外部IP地址(External IP),登录Dify平台。

  2. 添加并配置所需要的AI模型(以通义千问为例),并为模型配置对应的API Key。如下图所示:

    通义千问提供的免费额度消耗完后按Token计费,相比您自主部署大模型可以显著降低初期的投入成本。

    1. 获取API Key:依次单击用户名称>设置>模型供应商>通义千问(设置)>从阿里云获取API Key

    2. 将获取到的API Key输入到下图所示的输入栏中,单击保存

    image

  3. 创建一个通用型AI问答助手。

    依次单击工作室>创建空白应用,并为AI问答助手输入名称描述,其他参数保持默认即可。

    image

2.3 验证AI问答助手

现在您可以在页面输入问题以查看目前AI问答助手配置的最新效果。由于下图示例中调用的是一个通用型聊天机器人,所以只能进行简单对话,暂时还无法回答Dify相关的专业问题。

image

3. 定制AI问答助手

3.1 创建知识库

通过前面的操作,您已经拥有了一个可以对话的AI问答助手。但是如果您想让AI问答助手像专业人士一样,更加精准且专业地回答Dify技术相关的问题,您还需要为AI问答助手配置专属语料知识库。

为简化操作步骤,本示例已经为您整理好语料文件dify_doc.md,您只需按照如下步骤进行操作,即可完成创建和上传专属知识库。

  1. 将整理好的语料文件dify_doc.md上传至知识库。

    依次单击知识库>创建知识库>导入已有文本>选择文件>下一步

    image

  2. 单击下一步后,您可根据页面引导,进行文本分段与清洗

    此处的配置参数保持默认即可。知识库将自动为上传的文档进行清洗、分段并建立索引,以便后续AI问答助手在回答时检索参考。

如果您需要了解上述语料文件是如何整理为一个.md文件,请展开下方折叠项查看详细信息。

展开查看如何准备专属的Dify语料知识库

3.2 编排并发布AI问答助手

为已创建的AI助手配置提示词并添加上下文知识库。

  1. 配置提示词:拷贝以下内容至提示词中。提示词用于对AI的回复做出指令和约束,可以提升AI问答助手的回答表现和结果准确性。

    您将充当Dify的AI智能助手,专门解答客户关于Dify产品及其相关功能的问题。您的回答应基于已有的知识库内容,确保准确。如果客户的问题超出了您的知识范围,请坦诚告知他们您不知道答案,以保持信息的诚信。请以友好和亲切的语气与客户交流,可以适当地使用表情符号来提升互动体验。
  2. 添加上下文知识库:单击上下文区域的添加,根据页面提示为AI问答助手配置的专属知识库,使AI问答助手获得精准且专业回答问题的能力。

  3. 在页面右上角单击发布>更新手动保存配置信息,使Dify服务的配置生效。

配置效果如下所示:

image

3.3 检验效果

相较于上文的通用型聊天机器人,配置了专属知识库的AI助手通过集成相关领域的知识库,能够提供更加专业、准确的信息和建议。

image

总结

下表归纳总结了Dify具备的核心功能,您可根据个人或企业场景来自主选择使用。

Dify核心功能

说明

全面的LLMOps

对于已部署的AI应用,Dify提供完善的运维支持,包括实时监控应用日志和性能指标,以及基于生产数据和用户反馈持续优化提示、数据集和模型。

RAG引擎

Dify提供端到端的RAG管道,支持从文档摄入到信息检索的全流程,能够直接处理PDF、PPT等常见文档格式,简化数据准备工作。

Agent

Dify允许开发者基于LLM函数调用或ReAct范式定义Agent,并为其添加预构建或自定义工具,平台内置50多种工具。

workflow工作流编排

Dify提供了一个可视化的画布,允许开发者通过拖拽和连接不同的组件,快速构建复杂的AI工作流,无需深入复杂的代码编写,大大降低了开发门槛。

可观测性

提供了对LLM应用程序的质量和成本的跟踪和评估能力,通过其监控仪表板,您可以轻松配置和激活这些功能,以增强LLM应用程序的可观测性。‌

企业功能(SSO/访问控制)

企业组织可降低信息泄露和数据损害的风险,确保信息安全和业务连续。

应用到生产环境

如果您想将开发的AI问答助手引入到您企业或个人的生产环境,可以通过以下四种方式操作。

  1. 公开分享的网站。

    您使用Dify创建AI应用可以发布为一个可供您在互联网上公开访问的Web应用,该应用将根据您的Prompt和编排设置进行工作。详细操作,请参见发布为公开Web站点

  2. 基于API接口调用。

    Dify基于“后端即服务”理念为所有应用提供了API,开发者可以直接在前端应用中获取大型语言模型的强大能力,而无需关注复杂的后端架构和部署过程。详细操作,请参见基于APIs开发

  3. 基于前端组件再开发。

    如果您是从头开发新产品或者在产品原型设计阶段,您可以使用Dify快速发布AI站点。详细操作,请参见基于前端组件再开发

  4. 嵌入到您企业或个人网站。

    Dify支持将您的AI应用嵌入到业务网站中,您可以使用该能力在几分钟内制作具有业务数据的官网AI客服、业务知识问答等应用。详细操作,请参见嵌入网站

示例(将AI应用嵌入到网站

下面将为您详细介绍如何将开发的LLM应用嵌入到您企业或个人网站,您可以按照以下示例进行操作。

本示例作为演示,为了您的应用数据安全,建议您在生产环境同时开启访问控制功能。

  1. 已为ack-dify服务开启公网访问功能,将该外部IP地址输入浏览器地址栏即可访问Dify服务。更多操作,请参见访问Dify服务

    image

  2. 在ACK集群中快速构建简单的Web应用来调试您的AI问答助手。

    下面是一个在ACK集群中部署Web应用的示例,它会在您的ACK集群上运行,您可以嵌入在Dify服务中开发的LLM应用。

    1. 获取Dify服务代码。

      如下图所示,选择一种方式将聊天应用的对应的代码嵌入到您的网站中。

      image

    2. 在ACK集群中,创建一个Deployment来运行您的Web应用,并创建Service来暴露应用。

      以下是一个简单的YAML示例,展示如何部署一个包含静态HTML的Nginx服务器。

      1. 登录容器服务管理控制台,在配置项页面,选择命名空间为default,然后单击使用YAML创建资源,将下方YAML内容复制到模板中,并将处的内容替换成您上一步骤获取的Dify服务代码。

        image

        具体代码信息,请参考下方示例。

        展开查看YAML内容

      2. 成功部署截图如下所示:

        image

      3. 为已部署的服务开启公网访问。

        为了您的应用数据安全,建议您在生产环境同时开启访问控制功能。

        image

        配置完成后,您会看到web-service服务的外部IP地址(External IP),将该外部IP地址输入浏览器地址栏即可访问Web服务。

        image

        重要

        • 如果您想让其他设备访问,请确保您的集群防火墙或安全组中设置允许流量通过80端口。具体操作,请参见添加安全组规则

        • 确保您的代码和第三方代码是安全的,避免可能的XSS或恶意代码嵌入。给您提供了一个基本示例以供演示,您可以根据自己的需求进行扩展和修改。

      4. 结果展示。

        2024-08-23_14-14-02 (1)

<think>好的,我现在需要帮助用户了解如何使用Dify搭建GPT模型或相关应用。首先,我得回顾一下用户提供的引用内容,看看里面有哪些关键信息。 用户提到的引用[1]中提到在Dify中接入GPT-4o mini模型,需要在特定目录下添加一个YAML配置文件。这说明Dify支持通过配置文件来集成新的模型,可能类似于其他模型提供商的做法。同时,引用[2]提到在Dify的“工具”中可以添加各种工具,扩展LLM的能力,比如联网搜索、科学计算等,还支持自定义工具,遵循OpenAPI或Swagger规范,以及OpenAI Plugin。这可能意味着用户可以通过配置工具来增强应用的功能。 接下来,用户的问题是如何用Dify搭建GPT模型或相关应用。我需要分步骤来解答。首先,可能需要说明如何在Dify中添加GPT模型,比如GPT-3.5、GPT-4或者用户提到的GPT-4o mini。根据引用[1],这涉及到在指定目录下创建YAML配置文件,可能包含模型的参数、API密钥等信息。不过,用户可能没有技术细节,需要更简化的步骤,比如在Dify的界面中操作。 然后,搭建应用的部分可能需要使用Dify提供的工具和界面来创建AI应用,比如智能助手。引用[2]提到可以添加工具来扩展能力,比如联网搜索,这可能通过配置工具来实现。用户可能需要知道如何将这些工具与GPT模型结合,创建出功能更丰富的应用。 需要注意的是,用户可能混淆了“搭建模型”和“搭建应用”。实际上,Dify可能不是用来训练或搭建新的GPT模型,而是用来集成现有的GPT模型(比如OpenAI提供的API)到应用中。因此,在回答时需要明确说明这一点,避免误解。 接下来,我应该按照用户提供的系统级指令来组织回答。必须使用中文,正确应用LaTeX格式,生成相关问题,并在引用处添加标识。回答需要结构清晰,分步骤说明。 可能的步骤包括: 1. 创建Dify账户并进入控制台。 2. 添加GPT模型:可能需要通过模型提供商(如OpenAI)的API密钥,在Dify中配置模型访问权限。 3. 创建AI应用,选择GPT模型作为基础模型。 4. 配置工具,如联网搜索、自定义API等,扩展应用功能。 5. 测试和部署应用。 同时,需要引用用户提供的引用内容,比如在配置模型时提到引用[1],在添加工具时提到引用[2]。 最后,生成相关问题,如Dify支持哪些模型,如何自定义工具,如何监控应用性能等。 需要确保回答中的LaTeX格式正确,例如如果有数学表达式的话,但在这个问题中可能不需要,所以可能只需要注意变量或代码块的正确格式。例如,代码示例需要用```python等包裹。 可能还需要检查是否有遗漏的步骤,比如是否需要处理API密钥的安全性,或者Dify的具体界面操作指引,但用户可能只需要大致流程,不需要详细操作步骤,除非用户特别要求。 总结,回答的结构应该是先概述,再分步骤详细说明,最后生成相关问题。确保引用正确,并符合格式要求。</think>### 如何使用 Dify 搭建 GPT 模型或应用? Dify 是一个支持快速构建 AI 应用的开发平台,可通过集成 GPT 系列模型(如 GPT-3.5、GPT-4 或 GPT-4o mini)创建智能助手、知识库问答等应用。以下是具体步骤: --- #### **1. 创建 Dify 账户并配置模型** - 注册 Dify 账号后,进入控制台的 **「模型供应商」** 模块。 - 选择 **OpenAI** 作为模型供应商,输入 OpenAI API 密钥以接入 GPT 系列模型[^1]。 - 若需使用 GPT-4o mini 等特定模型,需在 Dify 的对应目录添加模型配置文件(如 `gpt-4o-mini.yaml`),定义模型参数和调用方式。 --- #### **2. 创建 AI 应用** - 在 **「应用」** 页面点击 **「创建新应用」**,选择 **「对话型应用」** 或 **「文本生成型应用」**。 - 在 **「模型设置」** 中选择已配置的 GPT 模型作为基础模型,例如 `gpt-4-0125-preview`。 --- #### **3. 扩展应用能力(工具配置)** Dify 支持通过工具增强 GPT 的功能,例如: - **内置工具**:直接启用 **联网搜索**、**代码执行** 或 **知识库检索**。 - **自定义工具**:通过 OpenAPI/Swagger 规范或 OpenAI Plugin 添加外部 API,例如: ```yaml # 示例:天气查询工具配置 name: weather_tool description: 查询实时天气 parameters: city: string endpoint: https://api.weather.com/v1/query?city={city} ``` 配置后,GPT 可在回答中调用此工具获取实时数据[^2]。 --- #### **4. 优化提示词与测试** - 在 **「提示词编排」** 中设计自然语言指令,例如: ```text 你是一个客服助手,需用友好语气回答用户问题,并在无法回答时建议联系人工客服。 ``` - 通过 **「调试」** 功能输入测试问题(如“如何退换货?”),观察 GPT 的响应是否符合预期。 --- #### **5. 发布与集成** - 完成测试后,通过 **「发布」** 生成 API 接口或嵌入网页的代码片段。 - 支持直接部署为 Web 应用,或集成到企业微信、飞书等平台。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值