如何利用 Dify 结合本地知识库搭建一套自动化研报分析工作流
要把 Dify 玩转,核心不在于它那个可视化画布,而在于你如何给 LLM 喂数据以及怎么设计 RAG(检索增强生成)的链路。最近我用本地知识库跑了一套研报分析流,实测下来,Claude 3.5 Sonnet 和 DeepSeek-V2.5 在这里的表现差异非常明显。
我的链路是:PDF解析 → 知识库分段 → 混合检索 → 多步推理 → 结构化输出。
在模型选择上,我做了对比测试:
DeepSeek-V2.5:性价比之王,适合初步清洗
处理长文档的初筛非常快,能够快速从几万字的研报里把关键指标(如营收、毛利、市场份额)给抠出来。但缺点是面对极其复杂的逻辑推演(比如:根据 A 指标推导 B 公司的潜在风险)时,偶尔会出现幻觉,或者回答得过于泛泛。
Claude 3.5 Sonnet:逻辑怪,适合深度分析
这是目前分析研报的神。它对上下文的理解极其细腻,尤其是处理那些“话外之音”或矛盾点时。我给它一段关于行业竞争格局的描述,它能精准地分析出报告作者在刻意回避哪个竞争对手。实测在复杂逻辑推理环节,Claude 的准确率比 DeepSeek 高出约 20%。
GPT-4o:中规中矩,指令遵循最稳
如果你在 Dify 里设置了非常复杂的 JSON 输出格式要求,GPT-4o 是最不容易掉链子的。
具体的 Prompt 调优建议,我在“分析节点”用了这个结构,能有效避免模型胡编乱造:
# Role: 资深行业分析师
# Context: {{knowledge_retrieval_result}}
# Task: 基于提供的检索片段,对比分析 A 公司与 B 公司的核心竞争力。
# Constraint:
1. 仅使用上下文内容,若文中未提及则直接回答“信息不足”。
2. 必须列出原句作为证据,格式为 [原文:xxx]。
3. 禁用“综上所述”、“总的来说”等废话。几个避坑点:
分段策略:千万别用默认的自动分段,研报里有很多表格和页眉页脚,直接分段会导致检索碎片化。建议手动设置 500-800 字符,且重叠度设为 10%-15%,否则模型拿到的上下文是不完整的。
检索模式:一定要开“混合检索”(Hybrid Search),单纯的向量检索在搜具体公司名称或专业术语时经常跑偏,关键词检索能起到很好的补位作用。
这套流程跑通后,原本需要看 3 小时的研报,现在通过 Dify 的工作流,5 分钟就能出核心要点对比,而且结论有据可查。
全部回复 (0)
还没有回复,来发第一条吧!
