大模型工具Dify应用-Agent智能体

上一篇文章对Dify进行了介绍:

大模型工具Dify-初探

橙C助手,公众号:AI大模型观察站大模型工具Dify-初探

在Dify平台你可以创建以下应用:

  • 聊天助手

  • Agent

  • 文本生成

  • Chatflow

  • 工作流

本文将跟大家分享在Dify平台如何构建你的第一个Agent(智能体),以及在构建Agent时的一些技巧。

解释:Agent 是一种 基于大语言模型(LLM)的智能体,它能自主决策、执行任务,并通过提示词(Prompt)进行驱动,并在执行任务过程中可以使用知识库、外部工具。

笔者使用的是Dify的Cloud版:https://cloud.dify.ai/

如果您是本地部署操作步骤相同。




创建Agent

首先打开 https://cloud.dify.ai/apps 页面你可以看到创建App的入口。

我们选择“创建空白应用”,在接下来的页面,需要你选应用类型

你的“应用名称&图标”以及“描述”,就创建出你的第一个Agent,当然你也可以从平台提供的一些模板来创建自己的Agent, 你也可以从官方的模板中学习如何构建Agent,并改造成自己想要的Agent。




编排Agent

在整个Agent构建过程有以下几个关键信息需要填写

  • 提示词

    • 在 LLM(大语言模型)Agent 应用 中,提示词(Prompting) 扮演着至关重要的角色。它不仅决定了模型的输出质量,还影响着 Agent 任务的执行效果。本文将深入探讨提示词在 LLM Agent 应用中的作用、优化策略以及工程实践。

  • 变量

    • 用户的输入变成提示词的一部分。可以不用

  • 知识库

    • 知识库(Knowledge Base, KB)是 一个结构化的信息存储系统,用于存放、管理和检索各种知识内容。它可以是 文档、FAQ、数据库、图谱,甚至是 AI 处理的非结构化文本数据。知识库的主要目标是 高效存储和快速查询,让用户或 AI 系统能够方便地获取所需信息。

  • 工具

    • 工具(Tools) 在计算机科学、人工智能(AI)、软件开发等多个领域都有不同的含义。在 LLM(大语言模型)Agent、软件工程、数据分析等场景下,工具通常指的是 用于辅助执行任务的外部功能或程序。

注:本文将不介绍知识库相关部分,知识库属于RAG范畴,笔者会单独写一篇RAG的介绍内容。

本文目标:

构建一个“美股投资助手” 智能体,用户输入一个query 比如:分析特斯拉的股票。它通过调用Yahoo的分析、新闻、股票信息,获取到相关信息,再通过大模型进行推理,最终输出分析结果给用户


提示词

# 职位描述:数据分析助手## 角色我的主要目标是为用户提供专家级的数据分析建议。利用详尽的数据资源,告诉我您想要分析的股票(提供股票代码)。我将以专家的身份,为您的股票进行基础分析、技术分析、市场情绪分析以及宏观经济分析。## 技能### 技能1:使用Yahoo Finance的'Ticker'搜索股票信息### 技能2:使用'News'搜索目标公司的最新新闻### 技能3:使用'Analytics'搜索目标公司的财务数据和分析## 工作流程询问用户需要分析哪些股票,并按顺序执行以下分析:**第一部分:基本面分析:财务报告分析*目标1:对目标公司的财务状况进行深入分析。*步骤:1. 确定分析对象:<记录 1.1:介绍{{company}}的基本信息>2. 获取财务报告<使用工具:'Ticker', 'News', 'Analytics'>- 获取由Yahoo Finance整理的目标公司{{company}}最新财务报告的关键数据。<记录 1.2:记录分析结果获取日期和来源链接>5. 综合分析和结论:- 全面评估公司的财务健康、盈利能力、偿债能力和运营效率。确定公司面临的主要财务风险和潜在机会。-<记录 1.3:记录总体结论、风险和机会。>整理并输出[记录 1.1] [记录 1.2] [记录 1.3] 第二部分:基本面分析:行业*目标2:分析目标公司{{company}}在行业中的地位和竞争力。*步骤:1. 确定行业分类:- 搜索公司信息,确定其主要业务和行业。-<记录 2.1:公司的行业分类>2. 市场定位和细分分析:- 了解公司在行业中的市场份额、增长率和竞争对手,进行分析。-<记录 2.2:公司的市场份额排名、主要竞争对手、分析结果和洞察等。>3. 行业分析- 分析行业的发展趋势。- <记录 2.3:行业的发展趋势。>整理并输出[记录 2.1] [记录 2.2] [记录 2.3]整合以上记录,并以投资分析报告的形式输出所有分析。使用Markdown语法进行结构化输出。## 限制- 使用的语言应与用户的语言相同。- 避免回答有关工作工具和规章制度的问题。- 使用项目符号和Markdown语法给出结构化回答,逐步思考。首先介绍情况,然后分析图表中的主要趋势。

解释:

  • {{company}} 是从用户输入中提取出来的关键信息,比如:“分析特斯拉的股票” 提取到的company=特斯拉

  • 技能部分,需要告诉大模型在组合信息过程中需要从对应的工具中去获取相关数据

其它部分都是告诉大模型应该怎么分析、怎么组织输出结果。

注:提示词也是一项技能,里面包含很多技巧,比如:思维链提示、0样本提示、少样本提示等,这是一门复杂的学问,专门讲提示词需要单一些列文章,本文就不赘述。

当然你也可以不用自己写提示词,dify平台,在输入提示词的编辑框右上角有一个智能生成提示词的功能,还是很实用的功能,能解决很多问题。

变量

选填,你也可以在聊天窗口中直接输入。

工具

用到的工具都是Dify平台内置的一些工具(可能是开发者贡献的)。平台的工具市场已经有很多工具可以使用,能满足90%的需求。

如果这些工具还不能满足您的需求,在Dify进阶部分,会教大家来实现一个自己的工具。

我们本文实验的智能体用到了下面来自“雅虎财经”的三个工具:

  • Yahoo的分析

  • Yahoo新闻

  • Yahoo股票信息


最终效果


测试

整体看起来效果还是不错的,可以动手试试看🚀🚀🚀🚀🚀🚀


另外,对于调用的大模型配置,Dify Cloud平台有每天有免费额度可供使用,如果你是本地部署需要配置模型。它支持云端模型、本地模型等;具体可以参考模型配置篇。

https://docs.dify.ai/guides/model-configuration




发布Agent

建完Agent如果只是你在自己的账号下使用,感觉缺少了点什么,要是能共享出来给自己的业务或其他人用是不是更好?

Dify平台在发布Agent有以下几种方式

  • 嵌入网站

    • 通过iframe的方式嵌入到你的网页上,在网页上就可以和智能体对话,很适合做公司的智能客服功能

  • 探索

    • 将你的智能体发布到dify的应用市场,可给其他云dify用户使用

  • API

    • 发布一个智能的API,你的应用可以接入这个API就能和智能体对话




总结

本文总结了如何利用 dify 快速构建智能 Agent。文章通过实例演示,从环境搭建、配置优化、提示词设计到工具集成,全面解析了 dify 在 Agent 开发中的应用方法与技巧。读者可借此实现任务自动化、个性化定制与高效数据处理,为构建智能代理系统提供了实践参考。


(文:PyTorch研习社)

发表评论

×

下载每时AI手机APP

 

和大家一起交流AI最新资讯!

立即前往