当前位置: 首页 > ops >正文

【人工智能】通过 Dify 构建智能助手

通过 Dify 构建智能助手

  • 1.定义
  • 2.如何使用智能助手
  • 3.添加助手需要的工具
  • 4.配置 Agent
  • 5.配置对话开场白
  • 6.添加文件上传
  • 7.调试与预览
  • 8.应用发布

1.定义

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

🌞 Dify 官网:https://dify.ai/zh

2.如何使用智能助手

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

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

选择智能助手的推理模型

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

编排智能助手的指令提示词

3.添加助手需要的工具

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

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

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

添加助手需要的工具

工具” 功能允许用户借助外部能力,在 Dify 上创建出更加强大的 AI 应用。例如你可以为智能助理型应用(Agent)编排合适的工具,它可以通过任务推理、步骤拆解、调用工具完成复杂任务。

另外工具也可以方便将你的应用与其他系统或服务连接,与外部环境交互。例如代码执行、对专属信息源的访问等。你只需要在对话框中谈及需要调用的某个工具的名字,即可自动调用该工具。

4.配置 Agent

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

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

Function Calling 模式

ReAct 模式

5.配置对话开场白

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

配置会话开场白和开场问题

6.添加文件上传

部分多模态 LLM 已原生支持处理文件,例如 Claude 3.5 Sonnet 或 Gemini 1.5 Pro。你可以在 LLM 的官方网站了解文件上传能力的支持情况。

选择具备读取文件的 LLM,开启 “文档” 功能。无需复杂配置即可让当前 Chatbot 具备文件识别能力。

7.调试与预览

编排完智能助手之后,你可以在发布成应用之前进行调试与预览,查看助手的任务完成效果。

调试与预览

8.应用发布

应用发布为 Webapp

http://www.xdnf.cn/news/15403.html

相关文章:

  • JavaScript书写基础和基本数据类型
  • 8:从USB摄像头把声音拿出来--ALSA大佬登场!
  • 算法训练营day18 530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先
  • 迁移学习:知识复用的智能迁移引擎 | 从理论到实践的跨域赋能范式
  • 【前端:Typst】--let关键字的用法
  • 排序树与无序树:数据结构中的有序性探秘
  • 自定义类型 - 联合体与枚举(百度笔试题算法优化)
  • 理解Linux文件系统:从物理存储到统一接口
  • vue3 JavaScript 数据累加 reduce
  • 七、深度学习——RNN
  • 编程语言设计目的与侧重点全解析(主流语言深度总结)
  • 游戏框架笔记
  • 【小白量化智能体】应用5:编写通达信股票交易指标及生成QMT自动交易Python策略程序
  • 控制台打开mysql服务报错解决办法
  • 【STM32】什么在使能寄存器或外设之前必须先打开时钟?
  • 2025js——面试题(8)-http
  • YOLOv11开发流程
  • 为什么资深C++开发者大部分选vector?揭秘背后的硬核性能真相!
  • 【第一章编辑器开发基础第二节编辑器布局_3GUI元素和布局大小(3/4)】
  • SpringMVC3
  • JavaScript进阶篇——第二章 高级特性核心
  • 【笔记】chrome 无法打开特定协议或访问特定协议时卡死
  • Flink窗口处理函数
  • 0-1搭建springboot+vue的教务管理系统(核心源码)
  • Spring Boot 自带的 JavaMail 集成
  • Python在量化投资中的应用
  • 庸才的自我唤醒
  • Rust语言实战:LeetCode算法精解
  • Spring Boot 双数据源配置
  • 《解锁音频处理新姿势:探索Librosa的无限可能》