【人工智能agent】--dify搭建智能体和工作流

【人工智能agent】--docker本地部署dify教程-CSDN博客

上期讲到如何部署dify,然后进入页面:

docker服务: 


目录

1.基础设置

2.创建聊天助手

3.创建知识库应用

4.创建智能体

5.创建工作流

5.1.文档总结规划

5.2.爬取网页新闻


1.基础设置

搭建智能体前提是配置好agent的大脑,也就是大模型,

点击设置-->模型供应商

安装对应的模型供应商, 

设置好对应的api即可使用,然后本地部署ollama教程:https://zhuanlan.zhihu.com/p/715099487

(容易出错)

由于ollama是部署在本地的,而dify是部署在docker上面的虚拟环境,所以要实现一个网络闭环

1. 添加系统环境变量:

名:OLLAMA_HOST

值:0.0.0.0:11434

重启一下。

2.启动ollama:ollama serve

3. 获取主机ip:ipconfig

至于deepseek和千问直接去官网获取api-key即可:

DeepSeek     百炼控制台

2.创建聊天助手

1.创建空白应用,选择聊天助手

2.添加提示词和输入内容

“提示词”可以对AI做出的回答进行限定和约束,它不会被用户看到。提示词可以通过生成器自动生成,

“变量”是配合提示词用的,在对话前填写将自动替换提示词里的内容。

“知识库”就是想要大模型回答材料背景

3.创建知识库应用

为方便测试,先在本地创建一个“半期考试成绩”的EXCEL文件,内容如下:

姓名	语文	数学	英语	总分
张三	95	97	99	291
李四	73	85	95	253
王二	88	83	96	267
周五	92	88	93	273
马六	85	91	97	3273

有点像RAG的形式,想给出需要检索的内容,然后严格按照内容知识回答

在知识库页面选择创建知识库。将需要导入的数据文件拖动到指定区域,执行“下一步”。

分别对“分段设置”、“索引方式”、“Embedding 模型”、“检索设置”等进行设置,这里我把Top K设置为8,

采用Q&A分段模式:生成知识问答对

完成知识库创建后,创建一个聊天应用,并在“上下文”里添加该知识库,然后就可以在聊天应用中调用知识库了。

4.创建智能体

在聊天应用基础上增加工具调用就可以构建智能体应用了,在这里我们构建一个名为“每日要闻”的新闻搜索应用。

  1. 首先设置提示词“你是程序员,善于运行代码。
  2. 然后添加“工具”,这里添加一个“代码运行”和“获取当前时间”的工具,
  3. 并根据需求对工具进行配置,注意部分工具需要先获得授权才能应用。

5.创建工作流

工作流应用创建稍微复杂一些,它以工作流形式定义编排生成应用,可生成较复杂的自定义应用,这里我们以系统在“探索”页面的提供的模板为例。

5.1.文档总结规划

下面是一个简单的网页爬虫工作流,支持输入一个关键词,并通过网页爬虫爬取相应的信息,然后使用大模型进行总结。

1.创建工作流

添加输入参数 ,开始节点 -> 选择"单文件"作为输入

2. 添加“文档提取器”,大模型没有办法直接处理文档,因此添加一个“文档提取器”的节点。

3. LLM大模型节点,输入一些提示词、用户信息、输出变量: 

你是一个文档总结助手,你根据用户上传的文档内容对其总结规划

这是用户文档

4.添加结束输出节点,一大模型总结的内容作为输出

5.完整工作流:

 6.测试:

 5.2.爬取网页新闻

1.在添加节点的工具栏中找到网页爬虫

这个节点只需要输入一个网址,它的生成变量有text、files、json,我们用到的是text。

2.再添加一个LLM节点来分析这个text

4.输出结果

从“苦甲天下”到陇原振兴——甘肃脱贫攻坚口述-新华网

在使用 Dify 构建 AI Agent 的过程中,可以通过实际案例来更好地理解其功能实现方式。以下是一个具体的案例说明,展示如何利用 Dify 构建一个 AI 智能体,并实现特定任务。 ### 24 点游戏智能体的构建 Dify 支持开发者通过图形化界面快速搭建 AI Agent,并通过配置任务节点、模型调用以及工具集成来实现自动化流程。以“24 点游戏智能体”为例,可以按照以下步骤实现: 1. **创建 Agent 应用**:在 Dify 平台上新建一个 Agent 应用,作为智能体的运行环境。该应用将承载整个工作流的逻辑执行流程[^2]。 2. **设置提示词(Prompt)**:为智能体配置合适的提示词,使其能够理解用户输入的数字并生成对应的解题思路。提示词的优化对于提升智能体的准确性响应质量至关重要。 3. **集成工具与工作流**:在 Dify 中,可以将自定义的工作流封装为工具。例如,将 24 点游戏的求解逻辑作为一个独立工具添加到 Agent 中。该工具可以调用特定算法或模型来处理输入数据,并返回结果。 4. **选择模型并调试**:根据任务需求,从 Dify 支持的模型库中选择合适的语言模型进行推理。完成配置后,通过预览调试功能确保智能体在不同输入场景下均能正常响应[^2]。 ### AI 微信消息自动生成与发送 另一个典型应用是构建能够自动回复微信消息的 AI Agent。该场景下,Dify 可以结合微信接口实现消息的接收、处理与自动发送。具体实现如下: 1. **接入消息源**:通过 Dify 的集成能力,连接微信 API 或企业微信接口,实时获取用户发送的消息内容[^3]。 2. **构建处理逻辑**:在 Dify 工作流中配置消息处理节点,包括自然语言理解、意图识别、关键词提取等模块,以解析用户意图并生成合适的回复内容。 3. **调用模型生成回复**:使用内置或自定义的大语言模型对用户消息进行处理,并生成自然流畅的回复文本。Dify 支持多种模型的集成,便于开发者灵活选择[^3]。 4. **自动化发送消息**:将生成的回复内容通过微信接口自动发送给用户,从而实现完整的 AI 消息交互闭环。整个流程无需人工干预,具备高度自动化特性[^3]。 ### 构建私有知识库的 ChatPDF 智能体 Dify 还可用于构建基于文档的智能问答系统,例如 ChatPDF。该类应用通过 RAG(Retrieval-Augmented Generation)技术,使 AI Agent 能够基于上传的 PDF 文件内容进行问答。实现步骤包括: 1. **上传与解析文档**:用户上传 PDF 文件后,Dify 会自动解析内容并将其转换为向量表示。这一过程通常依赖于嵌入模型(Embedding Model)来生成高质量的语义向量[^4]。 2. **建立向量数据库**:解析后的向量数据将被存储在向量数据库中,便于后续的快速检索。Dify 支持与主流向量数据库(如 FAISS、Pinecone 等)集成[^4]。 3. **实现检索与生成**:当用户提出问题时,系统会首先从向量数据库中检索最相关的文档片段,再结合检索结果调用生成模型,输出结构化或自然语言形式的答案[^4]。 4. **扩展与优化**:通过混合检索(关键词+向量) RAG-Fusion 技术,可以进一步提升系统的检索准确率响应质量。此外,向量模型的本地部署也有助于提升推理效率数据安全性。 ### 示例代码:基于 Dify 的 RAG 实现片段 以下是一个简化版的 RAG 实现逻辑,用于说明如何在 Dify 中实现文档检索与生成: ```python from dify import DocumentLoader, EmbeddingModel, VectorStore, RetrievalQA # 加载 PDF 文档 loader = DocumentLoader(file_path="example.pdf") documents = loader.load() # 使用嵌入模型生成向量表示 embedding_model = EmbeddingModel(model_name="text-embedding-ada-002") vectors = embedding_model.encode(documents) # 存储到向量数据库 vector_store = VectorStore() vector_store.add(vectors, documents) # 创建检索 QA 系统 qa_system = RetrievalQA(vector_store=vector_store, model="gpt-3.5-turbo") # 用户提问 query = "什么是量子计算?" response = qa_system.ask(query) print(response) ``` 该代码片段展示了文档加载、向量化、存储与检索的基本流程,实际在 Dify 中可以通过图形化配置完成类似功能。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西柚小萌新吖(●ˇ∀ˇ●)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值