LangChain + Ertas

    将 Ertas 训练的模型集成到 LangChain 管道中,用于检索增强生成、智能体和复杂的多步推理工作流。

    Overview

    LangChain 是使用最广泛的框架,用于构建由大语言模型驱动的应用。它提供了用于提示管理、链编排、工具使用、内存和检索增强生成 (RAG) 的可组合抽象。开发者使用 LangChain 构建复杂的 AI 管道,其中 LLM 对检索到的文档进行推理、调用外部 API 并在多轮交互中保持对话上下文。

    对于使用 Ertas 微调模型的团队,LangChain 是自然的应用层。您无需通过昂贵的 API 调用依赖通用基础模型,而是可以将通过 Ollama、llama.cpp 或 vLLM 在本地提供服务的 Ertas 训练模型直接插入 LangChain 链和智能体中。这在管道的每一步都为您提供领域特定的智能:更好的检索重排序、更准确的工具选择以及最终输出中更少的幻觉,因为模型已经理解了您的领域词汇和推理模式。

    How Ertas Integrates

    在 Ertas Studio 中微调模型后,您可以将其部署到任何兼容 OpenAI 的推理端点——Ollama、vLLM、LM Studio 或 Ertas Cloud——并使用标准的 ChatOpenAI 或 ChatOllama 类将其连接到 LangChain。LangChain 的提供商无关接口意味着从云 API 切换到 Ertas 训练的本地模型只需更改基础 URL 和模型名称;您的链、提示和检索逻辑保持不变。

    Ertas Hub 提供针对常见微调用例(如文档问答、结构化提取和多步分类)优化的精选提示模板和链配置。这些模板设计为与 Ertas Studio 嵌入到微调模型中的聊天格式和系统提示配合使用,确保 LangChain 中的提示结构与模型训练时的格式匹配。训练时和推理时提示之间的对齐对于从微调模型中获得最大质量至关重要,也是团队自行组装管道时常见的隐性错误来源。

    Getting Started

    1. 1

      在 Ertas Studio 中微调您的模型

      使用您的 JSONL 数据集在 Ertas Studio 中训练领域特定模型。从 Hub 选择基础模型并应用 LoRA 适配器,针对您的特定用例进行高效训练。

    2. 2

      部署到兼容 OpenAI 的端点

      将模型导出为 GGUF 格式并通过 Ollama、vLLM 或 Ertas Cloud 提供服务。任何暴露 /v1/chat/completions API 的端点都可与 LangChain 配合使用。

    3. 3

      安装 LangChain 并配置 LLM 提供商

      安装 langchain 和相关提供商包(langchain-openai 或 langchain-ollama)。将客户端指向您的本地或云推理端点。

    4. 4

      构建您的链或智能体

      使用 LangChain 的 LCEL(LangChain 表达式语言)组合检索链、工具调用智能体或利用微调模型的多步推理管道。

    5. 5

      通过 Ertas 反馈循环迭代

      通过 LangChain 回调收集推理日志和用户反馈,然后将其作为额外训练数据反馈到 Ertas Studio 中,持续提升模型质量。

    python
    from langchain_openai import ChatOpenAI
    from langchain_core.prompts import ChatPromptTemplate
    from langchain_core.output_parsers import StrOutputParser
    
    # Point to your Ertas-trained model served via Ollama
    llm = ChatOpenAI(
        base_url="http://localhost:11434/v1",
        model="ertas-legal-7b",
        api_key="not-needed",
        temperature=0.1,
    )
    
    # Build a simple RAG chain
    prompt = ChatPromptTemplate.from_messages([
        ("system", "You are a legal assistant. Use the context to answer questions accurately."),
        ("human", "Context: {context}\n\nQuestion: {question}"),
    ])
    
    chain = prompt | llm | StrOutputParser()
    
    response = chain.invoke({
        "context": "The contract stipulates a 30-day termination notice period...",
        "question": "What is the required notice period for termination?",
    })
    print(response)
    将通过 Ollama 本地提供服务的 Ertas 训练模型连接到 LangChain RAG 链,只需更改基础 URL。

    Benefits

    • 在任何 LangChain 链或智能体中使用微调模型作为即插即用替代
    • 通过领域训练的检索和生成减少 RAG 管道中的幻觉
    • 将所有推理保持在本地或您的 VPC 中——数据不发送到第三方 API
    • 利用 LangChain 的 700+ 集成生态系统结合 Ertas 品质的模型
    • 对齐训练时和推理时的提示以获得最大模型性能
    • 通过将 LangChain 日志反馈到 Ertas Studio 来持续改进模型

    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.