基于 Dify Workflow 的文章智能分析实践

66 天前
 ginobefun

BestBlogs.dev 基于 Dify Workflow 的文章智能分析实践

摘要

本文详细介绍了 BestBlogs.dev 如何利用 Dify Workflow 实现文章的自动化分析流程。我们将探讨从文章初评到深度分析,再到多语言翻译的全过程。通过采用 Dify 平台,我们成功提高了内容处理的效率和质量,为读者提供了更优质的阅读体验。文章还将分享实施过程中的经验教训,以及对 Dify Workflow 的使用感受,为有类似需求的开发者提供有价值的参考。

背景介绍

BestBlogs.dev 是一个面向技术从业者、创业者和产品经理的网站,主要收集和分享有关软件开发、人工智能、产品管理、营销、设计、商业、科技和个人成长等领域的高质量内容。

其主要原理是通过 RSS 订阅和爬虫,收集来自各个领域的优质博客文章,并通过大语言模型进行筛选和评估,以提高内容的质量和效率。其核心特性包括:

Dify Workflow 简介

Dify Workflow 是一个强大的 LLMOps 平台,专为构建复杂的 AI 应用流程而设计。它提供了直观的可视化界面,允许用户通过拖拽方式创建和管理工作流。Dify 支持多种大语言模型,并提供了丰富的预置节点类型,如条件判断、迭代、HTTP 调用等,使得复杂的 AI 任务变得简单易实现。此外,Dify 还提供了调试、日志追踪和 API 集成功能,非常适合用于构建如 BestBlogs.dev 这样的智能内容处理系统。

为什么需要 Workflow ?

原先网站采用了一个非常大而全的提示词用来实现文章的摘要、标签生成、评分及翻译工作,过多的任务使得输出效果难以控制和优化,比如摘要内容经常遗漏重要信息、标签的生成缺乏统一、评分标准调整调试麻烦、翻译结果过于生硬,以及在运维上修改、测试和部署麻烦。

为什么选择 Dify ?

在选择适合的工具时,我们对比了市面上几个主流的 AI 工作流平台:

  1. Coze: 优点:

    • 社区化产品,便于分享 Workflow 和 Agent
    • 上手成本低,用户友好 缺点:
    • 不支持使用自己的 ApiKey
    • 不支持自部署,可能存在数据安全风险
  2. FastGPT: 优点:

    • 开源,支持自部署
    • 有一定的用户基础 缺点:
    • 作为较新的平台,社区生态还在建设中
    • Workflow 预置节点类型较少,灵活性不足
  3. Dify: 优点:

    • 完善的 LLMOps 功能,非常适合复杂 AI 应用开发
    • 直观的可视化界面,易于使用
    • 支持多种主流大语言模型
    • 丰富的预置节点类型,提高开发效率
    • 开源,支持自部署,保障数据安全
    • 完善的调试和日志追踪功能 缺点:
    • 作为较新的平台,社区生态还在建设中
    • 某些高级功能仅限企业版

考虑到 BestBlogs.dev 的具体需求,特别是对灵活性、可定制性和数据安全的要求,我们最终选择了 Dify 。它不仅能满足我们当前的需求,还为未来的扩展和优化提供了充足的空间。Dify 平台的 LLMOps 定位与我们的核心需求高度契合,使得我们能够快速构建和迭代我们的文章分析流程。

Dify Workflow 实现

在使用 Dify Workflow 之前,重新梳理了网站的核心流程,主要包括以下几个子流程:

以下流程的 DSL 文件和各个节点的提示词已更新到 BestBlogs 项目,欢迎查看和讨论。

文章初评流程

流程说明:

文章分析流程

流程说明:

分析结果翻译流程

流程说明:

运行效果

总结与展望

本文主要介绍了 BestBlogs.dev 使用 Dify Workflow 实现文章自动化分析的背景、原因、流程和效果,主要包括文章初评、文章分析和分析结果翻译三个流程,通过大语言模型对文章内容进行摘要、分类、评分和翻译,提高了文章分析的效率和质量,为读者提供更好的阅读体验。

对于 Dify Workflow 的使用感受:

展望未来,我们计划进一步探索大语言模型在 BestBlogs.dev 中的应用范围。具体来说,我们正在考虑以下几个方向:

  1. 智能搜索:利用 Dify Workflow 识别搜索意图,基于文章领域、关键词、标签、摘要等实现更精准的文章搜索功能,使读者能够更快速地找到所需的信息。

  2. 个性化推荐:基于用户的阅读历史和偏好,开发一个智能推荐系统,为每个用户提供量身定制的文章推荐。

  3. 交互式问答:实现一个基于文章内容的智能问答系统,让读者能够直接向系统提问,解决阅读疑惑,提升阅读效果。

  4. 全文翻译:基于 Dify Workflow 实现全文翻译,沉浸式阅读全球各种语言优质技术文章。

通过这些功能的实现,我们期望能够进一步提升 BestBlogs.dev 的用户体验,为读者提供更智能、更个性化的内容服务。同时,这也将是对 Dify 平台功能的进一步探索和应用,我们期待在这个过程中不断学习和成长,为技术社区贡献更多有价值的经验和洞见。

1486 次点击
所在节点    程序员
7 条回复
18850317627
66 天前
大佬,dify 如何外接数据库做长时记忆
ginobefun
66 天前
@18850317627 我目前还没有长时记忆的需求,可以考虑用工具更新和读取会话记录,但是感觉很重
kyleLin
66 天前
有什么比较好的方式可以实现日志的分析吗? 比如我有一套规范 1.出现 xxx 的 log 代表 xxx 2.特定日志要如何解析 ,有点类似于比较长的提示,然后我希望通过上传文件和我的规范/提示之后,能够输出最终的多维度结论,基于我给的规则对日志进行分析和讨论。
gydi
66 天前
@18850317627 我看 dify 支持 http ,那么我感觉可以这么实现,每次 query 时调用自己的 A 接口检索出需要的上下文。然后 llm 回答完之后可以再调 B 接口将数据存好。这里需要自己实现一个 http server ,外加俩接口
ginobefun
64 天前
@kyleLin 这个应该可以,只要不断的去调试你的提升词就行,如果日志文件比较大,就分段依次处理
kyleLin
63 天前
@ginobefun 也就是说解析的规则或者知识点应该通过提示词提供给 AI ,然后分段对日志进行分析吗? 这样感觉提示词 promot 感觉会很长。不知道会不会有影响。
ginobefun
62 天前
还好的,现在很多模型上下文都是 128k 了,提示词那点长度不算什么

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1058398

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX