CrewAI + Ertas

    使用 CrewAI 编排 AI 智能体团队,每个智能体由专门的 Ertas 训练模型驱动,实现基于角色的任务执行和协作工作流。

    Overview

    CrewAI 是一个多智能体编排框架,将 AI 智能体组织成具有定义角色、目标和背景故事的团队。受人类团队运作方式的启发,CrewAI 为每个智能体分配特定角色——研究员、作者、编辑、分析师——并通过结构化任务委派和顺序或并行执行模式协调其工作。该框架自动处理智能体间通信、任务依赖、上下文共享和输出验证。

    CrewAI 的设计理念强调简洁性和生产就绪性。智能体使用自然语言角色描述来定义,而非复杂的配置文件,任务以声明式格式指定预期输出、工具和委派规则。该框架支持顺序工作流(每个智能体的输出作为下一个智能体的输入)和层级工作流(管理智能体委派和审查下属智能体的工作)。这种灵活性使 CrewAI 适用于从内容生产管道到复杂研究和分析工作流的各种场景。

    How Ertas Integrates

    Ertas 训练的模型通过标准 LLM 配置接口为 CrewAI 智能体提供支持。在 Ertas Studio 中微调专业模型后——研究模型、写作模型、分析模型——您将每个模型分配给相应的 CrewAI 智能体角色。智能体的角色描述和背景故事在提示层面指导其行为,而微调模型在权重层面提供深度领域专业知识。这种双层专业化产生了既方向明确又真正具有知识深度的智能体。

    CrewAI-Ertas 组合在内容和分析工作流方面表现出色。例如一个金融研究团队:数据分析师智能体(在财务报表分析上训练)收集和处理公司数据,研究智能体(在市场分析上训练)识别趋势和竞争动态,写作智能体(在投资备忘录风格上训练)将所有内容综合成一份精致的报告。每个智能体使用针对其特定任务优化的不同 Ertas 训练模型,CrewAI 协调他们的工作,使最终输出反映三位专家的综合专业知识。这与让单一通用模型完成所有工作有本质区别——输出质量也体现了这种差异。

    Getting Started

    1. 1

      定义团队角色并微调模型

      确定您团队中需要的专业角色。在 Ertas Studio 中使用任务特定的训练示例为每个角色微调一个单独的模型。

    2. 2

      将模型部署到推理端点

      通过 Ollama 或 vLLM 提供微调模型的服务。Ollama 可以同时服务多个模型,非常适合多智能体场景。

    3. 3

      创建带有角色专用模型的智能体

      定义 CrewAI 智能体及其角色、目标和背景故事。通过 LLM 配置为每个智能体分配其专用的 Ertas 训练模型。

    4. 4

      定义任务和工作流结构

      创建具有预期输出的任务并将其分配给智能体。根据任务依赖关系将工作流配置为顺序、并行或层级模式。

    5. 5

      运行团队并迭代

      执行团队工作流并审查输出。分析哪些智能体需要改进,并在 Ertas Studio 中使用有针对性的训练数据重新训练其模型。

    python
    from crewai import Agent, Task, Crew
    from langchain_openai import ChatOpenAI
    
    # Create specialized LLMs from Ertas-trained models
    researcher_llm = ChatOpenAI(
        base_url="http://localhost:11434/v1",
        model="ertas-researcher-7b",
        api_key="not-needed",
    )
    writer_llm = ChatOpenAI(
        base_url="http://localhost:11434/v1",
        model="ertas-writer-7b",
        api_key="not-needed",
    )
    
    # Define agents with role-specific fine-tuned models
    researcher = Agent(
        role="Market Researcher",
        goal="Gather and analyze market data for investment decisions",
        backstory="Senior equity analyst with 15 years of experience.",
        llm=researcher_llm,
    )
    
    writer = Agent(
        role="Report Writer",
        goal="Write clear, actionable investment memos",
        backstory="Financial writer specializing in institutional reports.",
        llm=writer_llm,
    )
    
    # Define tasks
    research_task = Task(
        description="Research Q3 earnings for the top 5 semiconductor companies.",
        agent=researcher,
        expected_output="Structured analysis with revenue, margins, and guidance.",
    )
    
    report_task = Task(
        description="Write a 2-page investment memo based on the research.",
        agent=writer,
        expected_output="Professional investment memo with recommendation.",
    )
    
    # Run the crew
    crew = Crew(agents=[researcher, writer], tasks=[research_task, report_task])
    result = crew.kickoff()
    print(result)
    使用 CrewAI 构建金融研究团队,为研究和写作角色使用不同的 Ertas 训练模型。

    Benefits

    • 基于角色的智能体专业化,每个角色配备专用的微调模型
    • 自然语言智能体定义使团队设置直观且快速
    • 顺序和层级工作流处理复杂的多步骤流程
    • 智能体间上下文共享确保团队输出的连贯性
    • 内置任务验证在错误向下传播之前捕获错误
    • 生产就绪的框架,具备日志记录、回调和错误处理功能

    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.