开启左侧

Dify智能体

[复制链接]
admin 发表于 20 小时前 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
Dify智能体

智能体

定义

  1. 智能体是指能够感知环境、进行决策并采取行动的系统。它们可以是软件程序、机器人或其他自动化设备,具备一定的自主性和智能性,智能体通过与环境的交互,不断学习和适应,从而实现特定的目标。其核心在于自主性,智能体能够根据环境的变化调整行为,展现出一定的智能水平。
  2. 智能体可分为物理智能体和虚拟智能体,前者如机器人,后者则包括各种软件代理。
  3. 智能体的特征主要包括自主性、适应性、互动性和学习能力。
  4. - 自主性体现在智能体能够独立做出决策,而不依赖于外部指令。
  5. - 适应性使其能够根据环境变化调整行为,保持有效性。
  6. - 互动性则强调智能体与环境及其他智能体之间的交流和合作。
  7. - 学习能力则是智能体在不断的经验积累中,优化u决策过程,提高任务完成的效率。
复制代码
智能体是指能够感知环境并自主采取行动以实现特定目标的实体。这一概念最早由马文·明斯基提出,他认为某些问题可经由社会中的一些个体经过协商后解决,这些个体就是智能体。并且他还认为智能体具备社会交互性和智能性 。
约夫·肖汉姆(Yoav Shoham)认为:“如果一个实体可以用信念、承诺、义务、意图等精神状态进行描述。那么该实体可视为一个智能体”。迈克尔·伍尔德里奇(Michael Wooldridge)将其称为智能体的强定义,他还补充了相应的弱定义:“如果一个实体具有自主性、反应性、预动性、社交性四条基本性质,那么该实体也可以视为一个智能体。”
人工智能:一种现代方法》一书中,对智能体的概念做了一些定义。该书将智能体定义为:“任何能够通过传感器感知其环境,并通过执行器对环境采取行动的事物”,将“理性智能体”定义为:“一个能够基于过去的经验和知识,采取行动以最大化绩效衡量期望值的智能体”,将“人工智能研究”领域定义于:“理性智能体的研究与设计” 。
林·帕德格姆(Lin Padgham)和迈克尔·威尼科夫(Michael Winikoff)认为:“智能体是位于一个环境中并对环境变化及时(尽管不一定是实时)作出响应的实体。然而,智能体还必须以灵活且稳健的方式主动追求目标。可选的理想特性包括智能体的理性,以及智能体具备信念-欲望-意图分析的能力。”
智能助手(Agent Assistant),利用大语言模型的推理能力,能够自主对复杂的人类任务进行目标规划、任务拆解、工具调用、过程迭代,并在没有人类干预的情况下完成任务。
为了方便快速上手使用,您可以在“探索”中找到智能助手的应用模板,添加到自己的工作区,或者在此基础上进行自定义。在全新的 Dify 工作室中,你也可以从零编排一个专属于你自己的智能助手,帮助你完成财务报表分析、撰写报告、Logo 设计、旅程规划等任务。
智能体是什么?

做一个AI替你干活,给智能体配置你想要的技能

    大模型就是GPT4,本地模型可以给它配技能:生图,写文案,上网角色的定义:程序员,律师,客服任务的流程
技能是什么?

就像你玩一个角色扮演游戏你的主人公想配置什么技能全部由你来定!
1.各种AI工具
2.本地可执行程序
3.第三方API
4.各平台数据获取
5.还有你们总问的Sora
6.不会的还可以上网搜
7.自己公司的接口也可以
角色如何定义

(光靠提示词它就是个专家了?)
​ 你的智能体要想成为专家还需要依赖强大的知识库。
​ 知识库可以本地提供,也可以让他干活的时候积累。比如:我的客服它能擅长营销,那得是我把销售聊天记录全部打包上传让它理解业务,永远离不开数据,数据会影响智能体进行决策。
如何给智能体设计业务流程

你是咋办事的就把流程给它清晰的定义好每一步做什么比如我要做短视频/公众号

    获取现在热门短视频内容
    分析文案内容做一个同款
    调用xxx工具来生成不会的事还可以让它上网搜
就是制定一个标准化流程,让它以后批量/自动化办事
业务和流程也得术业有专攻每个智能体都有自己的任务我是一家软件公司老板

    产品经理:分析客户需求
    程序员:实现每一项功能
    QA:看看有没有啥BUG
他们还可以通过进行交互来不断反馈和总结经验从而更好的完成你的任务
构建智能体

在Dify中,一个应用是指基于GPT等大语言模型构建的实际场景应用。通过创建应用,可以将智能AI技术应用于特定的需求。它既包含了开发AI应用的工程范式,也包含了具体的交付物。
简而言之,一个应用为开发者交付了:

    封装友好的API,可由后端或前端直接调用,通过Token鉴权开箱即用,美观且托管的WebAPP,你可以WebAPP的模版进行二次开发一套包含提示词工程、上下文管理,日志分析和标注的易用界面
你可以选择其中之一或者全部来支撑你的AI应用开发。
应用类型

Dify 中提供了四种应用类型:
聊天助手:基于 LLM 构建对话式交互的助手
文本生成:构建面向文本生成类任务的助手,例如撰写故事、文本分类、翻译等
Agent:能够分解任务、推理思考、调用工具的对话式智能助手
工作流:基于流程编排的方式定义更加灵活的 LLM 工作流
文本生成与聊天助手的区别见下表:
文本生成聊天助手
WebApp 界面表单+结果式聊天式
WebAPI 端点completion-messageschat-messages
交互方式一问一答多轮对话
流式结果返回支持支持
上下文保存当次持续
用户输入表单支持支持
数据集与插件支持支持
AI 开场白不支持支持
情景举例翻译、判断、索引聊天
智能体的构成

感知模块
计算机智能体通过感知模块与外部环境进行交互,获取环境的状态信息。感知模块可以包括传感器、视觉系统、声音处理等,用于收集并转化环境中的物理或数字信号为计算机可处理的数据。
推理与决策模块
推理与决策模块是计算机智能体的核心。它利用感知得到的环境信息以及事先学习或预定义的知识,进行推理和决策的过程。推理过程可以采用符号逻辑、统计学习或深度学习等方法,从而根据当前环境状态生成合理的决策方案。
行动模块
行动模块负责将决策转化为具体的行动。通过执行某种行为,计算机智能体可以与环境进行交互并改变环境状态。行动模块可以包括执行器、执行指令的机制等,用于实现决策结果的具体操作。
计算机智能体的运行过程

感知与数据获取:计算机智能体通过感知模块获取环境中的信息和数据。这可能涉及使用传感器获取感知数据,例如图像,声音,位置或其他传感器所提供的输入。
状态理解与推理
在获得感知数据后,计算机智能体会进行状态理解和推理,从而理解环境的当前状态。通过应用先前学习的知识或使用特定的推理算法,智能体可以对感知数据进行解释和分析,并生成对环境状态。
决策制定
基于对环境状态的理解,计算机智能体会进行决策制定。它可以评估不同的选项和策略,并选择最佳的行动方案。这可能涉及到利用优化算法、规则系统或强化学习等技术来生成决策。
行动执行与反馈
一旦决策制定完成,计算机智能体将执行相应的行动。通过行动模块,智能体可以与环境进行交互,并改变环境状态。在执行行动后,智能体会继续感知环境中的反馈信息,包括奖励、惩罚或其他形式的反馈,以评估行动的效果。
学习与适应
计算机智能体具备学习和适应的能力。通过不断地感知、推理、决策和行动,智能体可以从经验中学习并优化其性能。这包括使用强化学习、监督学习、迁移学习等技术来改进智能体的决策过程和行为策略。
循环迭代
计算机智能体的运行是一个循环迭代的过程。在每个时间步,智能体通过感知、推理、决策和行动来与环境交互。随着时间的推移,智能体通过学习和经验积累不断提升自身的性能和适应能力。
在Dify中,构建智能体通常涉及以下几个步骤:
1.1 定义智能体

在Dify的管理界面或API中,定义一个新的智能体。这通常包括以下内容:

    名称:智能体的名称描述:智能体的描述模型:选择要使用的AI模型(例如,GPT-3,BERT等)配置:设置智能体的参数,例如响应速度、对话历史等。
1.2 配置智能体

好的,让我们详细了解一下如何在 Dify 平台上构建和运行智能体(Agent)。Dify 是一个强大的开源平台,用于构建和管理生成式 AI 应用。以下是构建和运行智能体的详细步骤:
1. 准备环境

确保你已经安装了 Docker 和 Docker Compose,并且已经克隆了 Dify 的代码仓库。如果你还没有完成这些步骤,可以参考以下命令:
  1. git clone https://github.com/langgenius/dify.git
  2. cd dify/docker
  3. docker compose up -d
复制代码
2. 创建应用

启动 Dify 服务后,你可以通过浏览器访问 Dify 的管理界面。默认情况下,管理界面的地址是 http://localhost:8080。
你可以通过3种方式在Dify的工作室内创建应用:

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

可以从导航选择【工作室】,在应用列表内选择【从模板创建】。
如果你需要在 Dify 上创建一个空白应用,你可以从导航选择 「工作室」 ,在应用列表内选择 「从空白创建 」。
初次创建应用时,你可能需要先理解 Dify 上 4 种不同应用类型的基本概念,分别是聊天助手、文本生成应用、Agent 和工作流。
创建应用时,你需要给应用起一个名字、选择合适的图标,或者上传喜爱的图片用作图标、使用简介清晰的文字来描述此应用的用途,以方便后续应用在团队内的使用。
通过 DSL 文件创建应用

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

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

你也可以通过 URL 导入 DSL 文件,参考的链接格式:
  1. https://example.com/your_dsl.yml
复制代码
3. 创建智能体

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

对话型应用可以用在客户服务、在线教育、医疗保健、金融服务等领域。这些应用可以帮助组织提高工作效率、减少人工成本和提供更好的用户体验。
如何编排

对话型应用的编排支持:对话前提示词,变量,上下文,开场白和下一步问题建议。
下面边以做一个 面试官 的应用为例来介绍编排对话型应用。
在首页点击 “创建应用” 按钮创建应用。填上应用名称,应用类型选择聊天助手
创建应用
在首页点击 “创建应用” 按钮创建应用。填上应用名称,应用类型选择聊天助手
编排应用
创建应用后会自动跳转到应用概览页。点击左侧菜单 编排 来编排应用。
填写提示词
提示词用于约束 AI 给出专业的回复,让回应更加精确。你可以借助内置的提示生成器,编写合适的提示词。提示词内支持插入表单变量,例如 {{input}}。提示词中的变量的值会替换成用户填写的值。
示例:

    输入提示指令,要求给出一段面试场景的提示词。右侧内容框将自动生成提示词。你可以在提示词内插入自定义变量。
为了更好的用户体验,可以加上对话开场白:你好,{{name}}。我是你的面试官,Bob。你准备好了吗?。点击页面底部的 “添加功能” 按钮,打开 “对话开场白” 的功能:


编辑开场白时,还可以添加数个开场问题:


添加上下文
如果想要让 AI 的对话范围局限在知识库内,例如企业内的客服话术规范,可以在“上下文”内引用知识库。
调试
在右侧填写用户输入项,输入内容进行调试。
如果回答结果不理想,可以调整提示词和底层模型。你也可以使用多个模型同步进行调试,搭配出合适的配置。
多个模型进行调试:
如果使用单一模型调试时感到效率低下,你也可以使用 “多个模型进行调试” 功能,批量检视模型的回答效果。最多支持同时添加 4 个大模型。
发布应用
调试好应用后,点击右上角的 “发布” 按钮生成独立的 AI 应用。除了通过公开 URL 体验该应用,你也进行基于 APIs 的二次开发、嵌入至网站内等操作。详情请参考发布
如果想定制已发布的应用,可以 Fork 我们的开源的 WebApp 的模版。基于模版改成符合你的情景与风格需求的应用。
3.1 登录管理界面

打开浏览器,访问 http://localhost:8080,使用管理员账号登录。
3.2 创建智能体


    进入智能体管理页面


    在管理界面中,导航到“智能体”或“Agents”页面。

    点击“创建智能体”


    点击“创建智能体”或“Create Agent”按钮。
  • 填写智能体信息

      名称:输入智能体的名称。
      描述:输入智能体的描述。



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

      配置:设置智能体的各种参数,例如响应速度、对话历史记录等。


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

      提示词:输入智能体的初始提示词,用于指导模型生成响应。变量:可以插入变量,这些变量的值会在运行时由用户输入或从上下文中获取。
    添加工具
    在“上下文”中,你可以添加智能助手可以用于查询的知识库工具,这将帮助它获取外部背景知识。
    在“工具”中,你可以添加需要使用的工具。工具可以扩展 LLM 的能力,比如联网搜索、科学计算或绘制图片,赋予并增强了 LLM 连接外部世界的能力。Dify 提供了两种工具类型:第一方工具自定义工具
    你可以直接使用 Dify 生态提供的第一方内置工具,或者轻松导入自定义的 API 工具(目前支持 OpenAPI / Swagger 和 OpenAI Plugin 规范)。

      工具:选择智能体可以使用的工具,例如搜索引擎、数据库查询等。
      配置工具:为每个工具配置必要的参数,例如 API 密钥、端点等。
      “工具”功能允许用户借助外部能力,在 Dify 上创建出更加强大的 AI 应用。例如你可以为智能助理型应用(Agent)编排合适的工具,它可以通过任务推理、步骤拆解、调用工具完成复杂任务。
      另外工具也可以方便将你的应用与其他系统或服务连接,与外部环境交互。例如代码执行、对专属信息源的访问等。你只需要在对话框中谈及需要调用的某个工具的名字,即可自动调用该工具。
    配置Agent
    在 Dify 上为智能助手提供了 Function calling(函数调用)和 ReAct 两种推理模式。已支持 Function Call 的模型系列如 gpt-3.5/gpt-4 拥有效果更佳、更稳定的表现,尚未支持 Function calling 的模型系列,我们支持了 ReAct 推理框架实现类似的效果。
    在 Agent 配置中,你可以修改助手的迭代次数限制。


Function Calling模式


ReAct模式

    上下文:添加智能体需要的上下文信息,例如知识库、文档等。数据集:可以导入本地文本或同步 Notion 内容,处理为知识库。

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


    配置会话开场白和开场问题
    保存智能体

      点击“保存”或“Save”按钮,保存智能体配置。

4. 调试与预览

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


调试与预览

    进入智能体详情页面

      在智能体列表中,点击你刚刚创建的智能体,进入详情页面。
    测试智能体

      在详情页面中,有一个测试区域,你可以输入测试问题,查看智能体的响应。你可以多次测试,调整提示词和配置,以优化智能体的性能。

5. 发布智能体



应用发布为 Webapp

    发布智能体

      在智能体详情页面中,点击“发布”或“Publish”按钮,将智能体发布到生产环境。
    获取访问 URL

      发布后,你会获得一个公开访问的 URL,可以分享给其他人使用。

6. 监控和管理


    监控智能体

      在管理界面中,可以查看智能体的运行状态、日志和性能指标。你可以监控智能体的响应时间、请求量等,确保其稳定运行。
    更新和维护

      如果需要更新智能体的配置或模型,可以在管理界面中进行修改并重新发布。定期检查智能体的性能,确保其满足业务需求。

示例:创建一个简单的智能体

假设我们要创建一个简单的智能体,用于回答关于天气的问题。以下是具体步骤:

    创建智能体

      名称:WeatherBot描述:一个用于回答天气问题的智能体模型:GPT-3
    配置提示词

      提示词:你是一个天气助手,可以根据用户提供的地点回答天气信息。变量:{{location}}(用户提供的地点)
    添加工具

      选择一个天气 API 工具,例如 OpenWeatherMap。配置 API 密钥和其他参数。
    测试智能体

      输入测试问题:北京今天的天气怎么样?查看智能体的响应,确保其正确回答了天气信息。
    发布智能体

      点击“发布”按钮,获取公开访问的 URL。

通过以上步骤,你可以在 Dify 平台上成功创建和运行一个智能体。如果你有任何具体的问题或需要进一步的帮助,请随时告诉我!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Cheng_lilei/article/details/143758552


回复

使用道具 举报

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

本版积分规则

关注0

粉丝0

帖子58

发布主题
阅读排行更多+

Powered by Discuz! X3.4© 2001-2013 Discuz Team.( 京ICP备17022993号-3 )