查看: 21|回复: 0

AI Agent智能体 Dify

[复制链接]

1

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2008-12-11
发表于 2026-3-19 22:30:00 | 显示全部楼层 |阅读模式

AI Agent智能体

AI Agent

1.什么是AIAgent?
答案:感知环境、自主决策、使用工具完成任务的智能实体

2.Agent和大模型的区别?
大模型:聊天对象;
Agent:不仅能聊,还能做、能执行

Dify
Dify是一个开源的大语言模型(LLM)应用开发平台,旨在简化和加速生成式AI应用的创建和部署。
特定:
低代码/无代码:像拖拽积木一样编排业务逻辑
功能完整强大:支持100+主流模型接入,满足各种企业级场景
开源免费:支持私有化本地部署

Dify能做什么

  • 聊天助手
    快速构建具备上下文理解能力的对话机器人,支持多轮对话。
  • 知识库(RAG)
    轻松接入企业私有文档,实现基于自有知识的精准问答。
  • 工作流(Workflow)
    通过可视化画布编排复杂的业务逻辑,实现任务自动化。
  • Agent 智能体
    构建能够自主调用工具、拆解并完成复杂任务的智能助手。

Dify安装

下载 https://github.com/langgenius/dify

启动 Dify 服务器最简单的方法是通过Docker Compose。在使用以下命令运行 Dify 之前,请确保您的计算机上已安装Docker和Docker Compose :

cd dify
cd docker
cp .env.example .env
docker compose up -d

运行后,您可以通过浏览器访问http://localhost/install进入 Dify 控制面板,并开始初始化过程。

本地大模型接入,还可使用API的方式调用云端大模型接入

本地大模型接入完整流程

1:安装Ollama(大模型管理工具)

Ollama是一个开源的本地大模型运行框架,用于在本地部署、管理和运行各类开源LLM模型下载地址:https://ollama.com/download, 支持macOS, Linux 和 Windows 系统
进行傻瓜式安装即可

2. 下载模型 (选择对应模型下载)


可直接在线安装,也可以下载到本地之后选择本地安装(本地安装比较快)
在线安装需要等待一段时间,如果提示错误:Task timed out but not properly terminated 建议更改.env文件配置

# 延长插件安装环境初始化时间
PLUGIN_PYTHON_ENV_INIT_TIMEOUT=1200
# 延长插件守护进程响应超时
PLUGIN_DAEMON_TIMEOUT=1200
# 配合你之前设置的镜像,确保这一行也存在
PLUGIN_PYTHON_ENV_PIP_MIRROR_URL=https://pypi.tuna.tsinghua.edu.cn/simple

3. 应用模型 (在Ollama中运行大模型)

选择大模型之后 提问即可,查看此大模型是否可用

4. 在Dify中配置Ollama (完成Ollama供应商配置)

首页->个人->设置->模型供应商->Ollama->添加模型



注:

  • 模型名称需要与本地下载的Ollama的模型名称一致 否则会报:没有这个模型 错误
  • url应该是 http://本机的ip地址:11434 (或者使用 Docker 专用的 http://host.docker.internal:11434) ,可以通过浏览器访问下此地址,如果返回Ollama is running表示可以绑定,(因在docker中)如果不能访问说明拒绝了来自外部请求,可以调整Ollama的环境变量:设置用户变量:
    键: OLLAMA_HOST 值: 0.0.0.0
    键: OLLAMA_ORIGINS  值: *
    
    本地退出Ollama 软件并杀死程序,重新打开
    再次访问 http://本机的ip地址:11434 检查结果,如果还是不可以访问 可看看是否防火墙的问题

展示结果:

5. Dify中测试模型(完成模型在Dify中应用)


API的方式调用云端大模型接入

本例使用阿里云的百炼
https://www.aliyun.com/product/bailian
创建apikey 对通义进行配置:


之后可以通过刚刚创建的空白应用更改使用

提示词

提示词就是用户给AI下达的指令或者提出的问题。提示词越清晰、具体、AI的表现就越好
提示词帮助用户控制语言模型输出,生成适合的特定需求。
提示词调整提供了对模型行为的直观控制,但对提示的确切措辞和设计敏感,因此需要精心制定的准则以实现期望的结果。

提示词是搭建智能体的第一步
提示词4要素:

  • 角色定位: 明确Bot的身份,建立专业形象。角色越具体=回复越专业
  • 技能描述: 清晰的目标,让Bot知道做什么。
  • 输出格式: 结构化回复要求,确保输出规范。
  • 约束条件: 限制不当行为,保证安全合规。

标准提示词构成: 结构化提示词(角色+目标+示例+格式)效果最佳

RAG

RAG是一种结合知识检索和语言生成的人工智能技术,主要用于解决大型语言模型幻觉问题
模型幻觉问题: 在问大模型问题时,大模型要么没有回答出来,要么回答的是错误的

基本原理:在生成回答时,先从知识库中检索相关文档,将检索到的文档与原始问题一起输入LLM,LLM基于检索内容生成最终答案。

构建知识库

构建知识库的具体步骤:
文档准备 -> 文档切分 -> 文档向量化

文档准备
  • 文档类型
    支持格式PDF、Word、TXT
    适用场景攻略文章、教程文档
  • 表格类型
    支持格式Excel, CSV适用场景
    结构化数据、统计信息

文档预处理建议:清理无关内容(广告、水印)、按主题分类整理、文件命名规范(含关键信息)

文档切片

文档切片:为了适应大语言模型的上下文长度限制,并提升检索的精确度和效率。
切分方式:

  • 按字符数切 分固定长度(如每300字一段)
  • 按符号切分 按照句号、换行符、感叹号等
  • 按语义切分 识别主题变化点智能切分

一般选择方式:
按照符号和字符长度一块切分:一般200-500字/段长度太小,上下文不完整,检索不准,长度太大,无关信息过多,干扰判断

文档向量化

文档向量化:将切分后的文本进行向量数字化,便于计算问题和文档的相似性。
向量化作用:语义理解;相似度计算;快速检索

创建知识库的基本操作步骤
  • 创建知识库
    进入Dfy选择知识库创建
  • 选择数据源
    上传文本原始文件
  • 文本分段
    选择(设置)分段方式
  • 构建索引将分段后的文档进行向量化
  • 检索设置
    向量检索/全文检索/混合检索
    • 向量检索:通过生成查询嵌入并查询与其向量表示最相似的文本分段
    • 全文检索:索引文档中的所有词汇,从而允许用户查询任意词汇,并返回包含这些词汇的文本片段
    • 混合检索:同时执行全文检索和向量检索,并应用重排序步骤,从两类查询结果中选择匹配用户问题的最佳结果,用户可以选择设置权重或配置重新排序模型。
  • 查看结果
    预览文本处理的效果
  • 使用知识库

Function Calling(函数调用)(插件)

Function Calling: (函数调用)功能,该功能指的是在语言模型中集成外部功能或API的调用能力,这意味着模型可以在生成文本的过程中调用外部函数或服务,获取额外的数据或执行特定的任务。

特性:

  • 信息实时性
    大模型训练的数据集无法包含最新的信息,如最新的新闻、实时股价等。通过Function Call,模型可以实时获取最新数据,提供更加时效的服务。
  • 数据局限性
    模型训练数据虽多但有限,无法覆盖所有领域,如医学、法律等领域的专业咨询,Function Call允许模型调用外部数据库或API,获取特定领域的详细信息。
  • 功能扩展性
    大模型虽然功能强大,但不可能内置所有可能需要的功能。通过Function Call,可以轻松扩展模型能力,如调用外部工具进行复杂计算、数据分析等。

工作原理:
当有函数调用(funciton-call)时候,我们调用GPT构建AI应用的模式比之前要复杂一些。

主要步骤:
1.用户(Client)发请求prompt以及functions给我们的服务(Chat Server)
2.GPT模型根据用户的prompt,判断是用普通文本还是函数调用的格式响应我们的服务(Chat Server)
3.如果是函数调用格式,那么Chat Server就会执行这个函数,并且将结果返回给GPT
4.然后模型使用提供的数据,用连贯的文本响应。返回
精简版:用户请求 -> 大模型判断是否调用函数 -> 需要时 调用后 函数结果返回大模型 -> 给出答案

应用实例:
比如大模型不会知道当前时间是多少,可以通过使用时间插件 获取当前时间

自定义插件
  • 实现自定义插件的过程?
  • python脚本开发
  • 后台运行API接口
  • 在Dif中选择工具
  • 自定义工具
  • 构建Schema
  • 测试插件
  • 保存应用

工作流

工作流:业务逻辑的可视化执行
Dify的两个工作流类型: 工作流、对话流

工作流的核心组件
节点:特定功能的独立组件,负责处理数据、执行任务

维度 工作流(Workflow) 对话流(Chatflow)
适用场景 功能类、数据处理 对话类、交互式应用
典型案例 报告生成、海报制作、数据分析 智能客服、AI助手、虚拟伴侣
上下文 不支持对话历史 支持读取对话历史
会话管理 无会话概念 必须传入会话名称
发布渠道 本地运行、发布API、潜入网站 本地运行、发布API、潜入网站

创建工作流流程

1:创建工作流
操作路径

  • 创建空白应用一工作流/Chatflow

设置内容

  • 工作流名称(清晰明确)
  • 功能描述(帮助AI理解)

2:编排工作流
核心操作

  • 在可视化画布中添加节点
  • 在连接节点形成数据流
  • 配置每个节点的输入输出参数

设置内容

  • 开始节点 一> LLM节点 -> 工具节点 -> 结束节点

3:测试并发布
测试方法

  • 点击测试运行 一> 输入测试数据 一> 检查节点状态.

发布流程

  • 测试通过后点击“发布”
  • 发布后其他用户可以使用该工作流


来源:https://www.cnblogs.com/l-zl/p/19740995
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部