Dify与Ollama构建基础Agent工作流详解

作者:c4t2024.11.27 15:47浏览量:56

简介:本文介绍了如何通过Dify与Ollama的结合,实现一个包含RAG与LLM的基础Agent工作流。文章详细阐述了运行环境、Dify与Ollama的部署、Dify串联Ollama的方法以及运行效果,为读者提供了一个完整的实现流程和案例。

在AI技术的快速发展中,大型语言模型(LLM)和检索增强生成(RAG)技术成为了提升AI应用准确性和实用性的关键。本文将详细介绍如何应用Dify与Ollama,实现一个包含RAG与LLM的基础Agent工作流。

一、引言

Dify是一款开源的大语言模型应用开发平台,旨在帮助开发者快速构建和部署生成式AI应用。而Ollama则是一个可以在本地运行大型语言模型的开源工具,其稳定性和高效性备受好评。结合Dify与Ollama,我们可以实现一个细分领域的本地离线Agent工作流应用,如知识库+聊天助手。

二、运行环境

在开始之前,我们需要确保有一个合适的运行环境。以下是推荐的硬件配置:

  • CPU:12th Gen Intel(R) Core(TM) i9-12900K(16核24线程)
  • GPU:NVIDIA GeForce RTX 3080 Ti(12G显存)
  • 内存:32G
  • 系统:Ubuntu 20.04.4 LTS

三、Dify与Ollama的部署

1. 部署Dify

Dify的部署可以通过本地源码启动。具体步骤如下:

  • 克隆Dify的GitHub代码:
    1. git clone https://github.com/langgenius/dify.git
  • 部署依赖组件,包括PostgresSQL、Redis和Weaviate等。可以使用Docker进行部署,并查看是否所有组件都已正常启动。
  • 安装Python 3.10和poetry,然后启动API接口服务和Worker异步队列消费服务。
  • 安装Node.js v18.x stable版本,并启动Dify的Web服务。

完成以上步骤后,你可以在浏览器中访问Dify的登录页面,并进行注册和登录。

2. 部署Ollama

Ollama的部署同样简单。你可以通过以下命令进行安装:

  1. curl -fsSL https://ollama.com/install.sh | sh

安装成功后,你可以在浏览器中打开“http://localhost:11434/”来确认Ollama是否正在运行。接下来,你可以下载并运行你需要的模型,如llama3.1、qwen2等。

四、Dify串联Ollama

在Dify中串联Ollama的模型是实现Agent工作流的关键步骤。具体步骤如下:

  • 在Dify的设置中,选择“模型供应商”为“Ollama”。
  • 添加模型,并填写LLM和Text Embedding的信息。其中,“基础URL”需要填写Ollama运行的本地IP和端口。

agent-">五、实现基础Agent工作流

1. 创建知识库

在Dify中,你可以创建一个知识库来存储和检索信息。具体步骤如下:

  • 选择数据源,可以是导入已有文本、同步自Notion内容或同步自Web站点。
  • 进行文本分段与清洗,并选择Embedding模型(如nomic-embed-text)进行向量检索。
  • 设置混合检索,并调整重排的权重。

2. 创建聊天助手应用

接下来,你可以创建一个聊天助手应用,并设置工作流。

  • 在Dify的工作室中,创建一个空白应用,并选择“聊天助手”->“工作流编排”。
  • 创建工作流后,你可以添加“知识检索”节点,并连接LLM节点。
  • 设置应用的提示词和功能,如对话开场白和下一步问题建议等。

3. 运行应用

最后,你可以运行应用并测试其效果。

  • 点击右上角的“预览”按钮,输入文本后观察工作流各节点的运行情况。
  • 点击右上角的“发布”->“运行”按钮,即可体验该Agent的聊天功能。

六、运行效果与优化

在运行过程中,你可以根据实际效果进行调整和优化。例如:

  • 调整知识库的召回设置和权重分配,以提高检索的准确性。
  • 尝试使用不同的Embedding模型和LLM模型,以找到最适合你应用场景的组合。
  • 利用Dify提供的监控和分析工具来改进提示、数据集和模型性能。

七、结语

通过结合Dify与Ollama,我们实现了一个包含RAG与LLM的基础Agent工作流。这个工作流不仅可以用于聊天助手等应用场景,还可以根据需求进行定制和扩展。未来,随着AI技术的不断发展,我们可以期待更多创新和令人兴奋的AI应用的出现。同时,也欢迎广大开发者参与到Dify和Ollama的开源社区中来,共同推动AI技术的进步和发展。

在实现过程中,我们发现千帆大模型开发与服务平台也提供了类似的功能和工具,它支持多种LLM模型的部署和管理,并提供了丰富的API接口和可视化工具。因此,对于需要更强大功能和更高灵活性的开发者来说,千帆大模型开发与服务平台也是一个值得考虑的选择。