Haystack 实战:LLM 应用编排
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/llm-orchestration-haystack。
技能介绍
问题:能跑的 Demo 不等于能上线的产品
一个能跑的 LLM Demo 通常只需要一坨 prompt:把用户问题和几段文档拼接起来交给模型。但当检索不准、生成跑偏、或想换一个模型时,才发现所有逻辑都焊死在一个 prompt 里,改任何一环都要重写全部。Demo 和产品之间的差距,本质是「编排」——把检索、生成、重写、评估拆成可替换的组件,而不是写死在一处。
核心思路:组件化 Pipeline
这个技能以 Haystack 的组件化思维,指导你搭出可维护、可观测的大模型应用,关键步骤有三步:
- 把每个能力做成
Component:检索、生成、重写、路由各自独立,实现自定义类即可。 - 用
add_component+connect串成数据流:Pipeline 声明组件间的连接方式,运行时按定义调度。 - 单组件可独立测试:替换模型或检索器不影响整体结构,改坏了也能快速定位。
RAG 黄金链路
推荐的拆解路径是:查询重写 → 检索 → 重排 → 拼接上下文 → 生成 → 引用溯源。每一步都可以插拔不同实现——换检索器不用动生成逻辑,换重排模型也不用动 prompt。
评估与解耦
- 检索质量(如召回率)与生成质量分开测,避免互相掩盖。
- 用评测集跑回归,保证组件升级后整体不退化。
注意点
- 避免把全部逻辑写进一个 prompt,否则无法单独替换或调优某个环节。
- 检索与生成要解耦,否则检索变差容易被误怪到模型头上。
- 保留引用溯源,否则答案出错时无法区分是数据问题还是生成问题。
- AI 输出以官方文档为准,生成内容可能含事实错误,关键场景需人工核验并标注引用。
使用场景
- 搭建企业知识库问答系统时,需将文档检索与答案生成拆分为可独立替换的组件
- 迭代RAG应用时,要分开测试检索召回率与生成质量,防止单环节优化掩盖其他问题
- 构建多步骤Agent流程时,需要通过Pipeline串联查询重写、路由、生成等核心环节
- 排查LLM应用错误答案时,需通过引用溯源区分检索数据问题与生成模型问题
适合人员
- LLM应用开发工程师,需要搭建可维护、可迭代的RAG或Agent系统
- AI产品经理,需要设计组件化LLM应用架构并明确技术实施边界
- 后端开发工程师,需要将LLM能力集成进现有系统且保证各环节可独立测试
- 技术团队负责人,需要评估LLM应用的可维护性与可观测性以制定迭代策略