Haystack + Ertas

    将 Ertas 训练的模型集成到 Haystack 的模块化 NLP 管道中,用于企业级的文档检索、问答和语义搜索。

    Overview

    Haystack 由 deepset 开发,是一个开源 NLP 框架,专为构建生产就绪的搜索和问答系统而设计。与通用 LLM 框架不同,Haystack 以管道为核心:每个组件——检索器、阅读器、生成器、排序器——都是一个模块化节点,可以独立替换、链式连接和配置。这种架构使 Haystack 特别适合企业部署,在这些场景中可靠性、可观测性和组件级测试比原型开发速度更重要。

    Haystack 2.x 引入了全新设计的管道 API,对 LLM 驱动的生成提供了一流支持,使其成为需要超越简单提示-检索模式的 RAG 应用的有力选择。其内置的评估框架让团队开箱即用地衡量检索召回率、答案质量和忠实度指标——这些功能在将微调模型部署到生产环境并跟踪模型更新是否真正改善下游性能时至关重要。

    How Ertas Integrates

    Ertas 训练的模型可以直接作为生成器或阅读器组件插入 Haystack 管道。在 Ertas Studio 中微调后,您将模型部署到兼容 OpenAI 的端点,并配置 Haystack 的 OpenAIGenerator 或 OllamaGenerator 指向您的本地或云推理服务器。由于 Haystack 将 LLM 视为管道中的一个普通组件,您可以通过运行并行管道并使用 Haystack 的评估节点比较输出,对 Ertas 训练的模型与通用模型进行 A/B 测试。

    Ertas 微调与 Haystack 评估框架的结合创建了一个强大的优化循环。您可以精确衡量微调模型在领域特定评估集上对检索增强答案的改进程度,识别失败模式,从这些失败中生成有针对性的训练示例,并在 Ertas Studio 中重新训练。这种数据飞轮方法——生产失败直接反馈到训练改进中——是构建随时间不断改善而非随边缘案例累积而退化的 AI 系统最可靠的方式。

    Getting Started

    1. 1

      在 Ertas Studio 中微调领域模型

      使用 Ertas Studio 在您的领域语料库上训练模型。专注于您的 Haystack 管道将执行的特定任务——问答、摘要或提取。

    2. 2

      部署到支持的推理后端

      导出 GGUF 模型并通过 Ollama、vLLM 或任何兼容 OpenAI 的端点提供服务。Haystack 原生支持多种生成器后端。

    3. 3

      构建您的 Haystack 管道

      使用您选择的检索器、排序器和生成器组件组装 Haystack 管道。将生成器指向您的 Ertas 训练模型端点。

    4. 4

      使用 Haystack 内置指标进行评估

      在标注的评估集上运行您的管道,衡量答案准确性、忠实度和检索召回率,以量化微调的影响。

    5. 5

      迭代并重新训练

      分析管道失败案例,生成新的训练示例,并在 Ertas Studio 中重新训练。重新部署改进的模型,无需更改 Haystack 管道配置。

    python
    from haystack import Pipeline
    from haystack.components.generators import OpenAIGenerator
    from haystack.components.builders import PromptBuilder
    
    # Configure generator with your Ertas-trained model
    generator = OpenAIGenerator(
        api_base_url="http://localhost:11434/v1",
        model="ertas-support-7b",
        api_key="not-needed",
    )
    
    prompt = PromptBuilder(
        template="""Answer the question based on the context.
    Context: {{ context }}
    Question: {{ question }}
    Answer:"""
    )
    
    # Build the pipeline
    pipe = Pipeline()
    pipe.add_component("prompt", prompt)
    pipe.add_component("generator", generator)
    pipe.connect("prompt", "generator")
    
    result = pipe.run({
        "prompt": {
            "context": "Our return policy allows returns within 30 days...",
            "question": "How long do I have to return an item?",
        }
    })
    print(result["generator"]["replies"][0])
    在 Haystack 管道中使用 Ertas 训练的模型作为生成器,实现领域特定的问答。

    Benefits

    • 模块化管道架构让您无需重写应用逻辑即可替换模型
    • 内置评估框架量化微调对生产指标的影响
    • 企业级可观测性,具备管道级日志和追踪
    • 在并行管道中对 Ertas 训练的模型与基线进行 A/B 测试
    • 生产就绪的文档处理,支持 PDF、DOCX 和 HTML
    • deepset 提供强大的社区和企业支持,用于关键任务部署

    Related Resources

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.