常见问题解答
关于 CrewAI 企业版的常见问题
在分层流程中,会自动创建一个管理器代理,负责协调工作流程、委派任务并验证结果,以实现简化而有效的执行。管理器代理利用工具在管理器的指导下协助代理进行任务委派和执行。管理器 LLM 对于分层流程至关重要,必须正确设置才能正常运行。
CrewAI 最新的文档可在我们的官方文档网站获取;https://docs.crewai.org.cn/
分层流程
任务根据结构化的指挥链进行委派和执行。必须为管理器代理指定一个管理器语言模型(`manager_llm`)。管理器代理监督任务执行、规划、委派和验证。任务不是预先分配的;管理器根据代理的能力分配任务。
顺序流程
任务一个接一个地执行,确保任务按顺序完成。一个任务的输出作为下一个任务的上下文。任务执行遵循任务列表中的预定义顺序。
哪种流程更适合复杂项目?
分层流程更适合复杂项目,因为它允许
- 动态任务分配和委派:管理器代理可以根据代理的能力分配任务,从而实现高效的资源利用。
- 结构化验证和监督:管理器代理审查任务输出并确保任务完成,提高了可靠性和准确性。
- 复杂任务管理:在代理级别分配工具可以对工具可用性进行精确控制,从而促进复杂任务的执行。
- 自适应学习:Crews 随着时间的推移变得更加高效,适应新信息并优化任务处理方法。
- 增强个性化:内存使代理能够记住用户偏好和历史互动,从而带来个性化体验。
- 改进问题解决:访问丰富的内存存储有助于代理做出更明智的决策,借鉴过去的经验和上下文洞察。
为代理设置最大 RPM 限制可以防止代理对外部服务发出过多请求,这有助于避免速率限制并提高性能。
它允许代理在必要时请求额外信息或澄清。此功能在复杂的决策过程中或代理需要更多详细信息才能有效完成任务时至关重要。
要将人类输入集成到代理执行中,请在任务定义中设置 `human_input` 标志。启用后,代理会在提供最终答案之前提示用户输入。此输入可以提供额外的上下文,澄清模糊之处,或验证代理的输出。
CrewAI 提供了一系列高级定制选项来调整和增强代理的行为和能力
-
语言模型定制:代理可以使用特定的语言模型(`llm`)和函数调用语言模型(`function_calling_llm`)进行定制,从而对它们的处理和决策能力进行高级控制。
-
性能和调试设置:调整代理的性能并监控其操作以实现高效的任务执行。
-
详细模式:启用代理操作的详细日志记录,有助于调试和优化。
-
RPM 限制:设置每分钟最大请求数(`max_rpm`)。
-
任务执行的最大迭代次数:`max_iter` 属性允许用户定义代理执行单个任务的最大迭代次数,防止无限循环或执行时间过长。
-
委派和自主性:控制代理委派或提问的能力,从而调整其在 CrewAI 框架内的自主性和协作动态。默认情况下,`allow_delegation` 属性设置为 True,使代理能够根据需要寻求帮助或委派任务。此默认行为促进了 CrewAI 生态系统内的协作问题解决和效率。如果需要,可以禁用委派以适应特定的操作要求。
-
代理执行中的人类输入:人类输入在几种代理执行场景中至关重要,允许代理在必要时请求额外信息或澄清。此功能在复杂的决策过程中或代理需要更多详细信息才能有效完成任务时特别有用。
在以下情况下,人类输入在代理执行中特别有用:
- 代理需要额外信息或澄清:当代理遇到模糊不清或数据不完整时,人类输入可以提供必要的上下文以有效完成任务。
- 代理需要做出复杂或敏感的决策:人类输入可以协助代理进行道德或细微的决策,确保负责任且明智的结果。
- 监督和验证代理输出:人类输入可以帮助验证代理生成的结果,确保准确性并防止任何误解或错误。
- 定制代理行为:人类输入可以就代理的响应提供反馈,让用户能够随着时间的推移调整代理的行为和响应。
- 识别和解决错误或局限性:人类输入可以帮助识别和解决代理能力的任何错误或局限性,从而实现持续改进和优化。
要在任务中使用 Output Pydantic,需要将任务的预期输出定义为 Pydantic 模型。示例如下:
定义 Pydantic 模型
首先,需要定义一个 Pydantic 模型。例如,我们创建一个简单的用户模型:
from pydantic import BaseModel
class User(BaseModel):
name: str
age: int
然后,在创建任务时,将预期输出指定为此 Pydantic 模型:
from crewai import Task, Crew, Agent
# Import the User model
from my_models import User
# Create a task with Output Pydantic
task = Task(
description="Create a user with the provided name and age",
expected_output=User, # This is the Pydantic model
agent=agent,
tools=[tool1, tool2]
)
在代理中,确保将 `output_pydantic` 属性设置为您正在使用的 Pydantic 模型:
from crewai import Agent
# Import the User model
from my_models import User
# Create an agent with Output Pydantic
agent = Agent(
role='User Creator',
goal='Create users',
backstory='I am skilled in creating user accounts',
tools=[tool1, tool2],
output_pydantic=User
)
执行 crew 时,任务的输出将是一个 User 对象:
from crewai import Crew
# Create a crew with the agent and task
crew = Crew(agents=[agent], tasks=[task])
# Kick off the crew
result = crew.kickoff()
# The output of the task will be a User object
print(result.tasks[0].output)
以下是关于如何从代理中持续获取结构化输出的教程:
本指南解释了如何使用 CrewAI 集成直接从 Slack 启动一个 crew。
先决条件
- 已安装 CrewAI 集成并连接到您的 Slack 工作空间
- 在 CrewAI 中至少配置了一个 crew
步骤
确保 CrewAI Slack 集成已设置
在 CrewAI 控制面板中,导航到“集成”部分。
验证 Slack 是否已列出并已连接。
打开您的 Slack 频道
- 导航到您要启动 crew 的频道。
- 输入斜杠命令“`/kickoff`”来启动 crew 启动过程。
- 输入时,您应该会看到“`Kickoff crew`”出现
- 按回车键或选择“`Kickoff crew`”选项。将出现一个标题为“`Kickoff an AI Crew`”的对话框。
选择您要启动的 crew
- 在标有“`Select of the crews online:`”的下拉菜单中,选择您要启动的 crew。
- 在下面的示例中,“`prep-for-meeting`”被选中
- 如果您的 crew 需要任何输入,点击“`Add Inputs`”按钮提供它们。
“`Add Inputs`”按钮在上面的示例中显示,但尚未点击。
点击 Kickoff 并等待 crew 完成
- 选择 crew 并添加所有必要的输入后,点击“`Kickoff`”启动 crew。
- crew 将开始执行,您将在 Slack 频道中看到结果。
-
确保您在 Slack 工作空间中具有使用 `/kickoff` 命令所需的权限。
-
如果您在下拉菜单中没有看到您想要的 crew,请确保它在 CrewAI 中已正确配置并在线。
点击省略号(已部署 crew 右侧的三个点),选择导出选项并将文件保存在本地。我们将使用 `CrewLead.jsx` 作为示例。
要在本地运行此 React 组件,您需要设置一个 React 开发环境,并将此组件集成到 React 项目中。以下是入门的分步指南:
安装 Node.js
- 从 Node.js 官方网站下载并安装 Node.js:https://node.org.cn/
- 选择 LTS(长期支持)版本以获得稳定性。
创建一个新的 React 项目
-
打开命令提示符或 PowerShell
-
导航到您要创建项目的目录
-
运行以下命令创建一个新的 React 项目:
npx create-react-app my-crew-app
-
切换到项目目录
cd my-crew-app
安装必要的依赖项
npm install react-dom
创建 CrewLead 组件
- 将下载的文件 `CrewLead.jsx` 移动到项目中的 `src` 文件夹中,
修改您的 `App.js` 文件以使用 `CrewLead` 组件
- 打开 `src/App.js`
- 将其内容替换为类似以下内容:
import React from 'react';
import CrewLead from './CrewLead';
function App() {
return (
<div className="App">
<CrewLead baseUrl="YOUR_API_BASE_URL" bearerToken="YOUR_BEARER_TOKEN" />
</div>
);
}
export default App;
- 将 `YOUR_API_BASE_URL` 和 `YOUR_BEARER_TOKEN` 替换为您 API 的实际值。
启动开发服务器
-
在您的项目目录中,运行
npm start
-
这将启动开发服务器,并且您的默认网页浏览器应自动打开到 https://:3000,您将在其中看到您的 React 应用正在运行。
然后,您可以自定义 `CrewLead.jsx` 以添加颜色、标题等
作为 CrewAI 企业版账户的管理员,您可以轻松邀请新的团队成员加入您的组织。本文将引导您逐步完成此过程。
访问设置页面
- 登录您的 CrewAI 企业版账户
- 在控制面板右上角找到齿轮图标 (⚙️)
- 点击齿轮图标访问“设置”页面
导航到成员部分
- 在设置页面上,您将看到一个“常规配置”标题
- 在此下方,找到并点击“成员”选项卡
邀请新成员
- 在成员部分,您将看到当前成员列表(包括您自己)
- 在列表底部,找到“电子邮件”输入字段
- 输入您想邀请的人员的电子邮件地址
- 点击电子邮件字段旁边的“邀请”按钮
根据需要重复
- 您可以重复此过程邀请多位团队成员
- 每位被邀请的成员都将收到加入您组织的电子邮件邀请
重要提示
- 只有具有管理员权限的用户才能邀请新成员
- 确保您有团队成员正确的电子邮件地址
- 被邀请的成员需要接受邀请才能加入您的组织
- 您可能需要告知团队成员检查其电子邮件(包括垃圾邮件文件夹)以获取邀请
通过遵循这些步骤,您可以轻松扩展您的团队并在 CrewAI 企业版组织内更有效地协作。
CrewAI 企业版允许您使用 Webhooks 自动化工作流程。本文将引导您完成设置和使用 Webhooks 启动 crew 执行的过程,重点介绍与 ActivePieces 的集成,ActivePieces 是一个类似于 Zapier 和 Make.com 的工作流程自动化平台。我们将在 CrewAI 企业版 UI 中设置 Webhooks。
访问 Kickoff 界面
- 导航到 CrewAI 企业版控制面板
- 寻找 `/kickoff` 部分,它用于启动 crew 执行
配置 JSON 内容
在 JSON 内容部分,您需要提供以下信息:
- `inputs`:一个包含以下内容的 JSON 对象
- `company`:公司名称(例如,“tesla”)
- `product_name`:产品名称(例如,“crewai”)
- `form_response`:响应类型(例如,“financial”)
- `icp_description`:理想客户画像的简要描述
- `product_description`:产品简短描述
- `taskWebhookUrl`, `stepWebhookUrl`, `crewWebhookUrl`:各种 webhook 端点的 URL(ActivePieces、Zapier、Make.com 或其他兼容平台)
与 ActivePieces 集成
在此示例中,我们将使用 ActivePieces。您可以使用其他平台,如 Zapier 和 Make.com
要与 ActivePieces 集成
-
在 ActivePieces 中设置一个新的流程并命名
-
添加一个触发器(例如,每天计划)
-
添加一个 HTTP 操作步骤
-
将操作设置为“发送 HTTP 请求”
-
使用 POST 作为方法
-
将 URL 设置为您的 CrewAI 企业版 kickoff 端点
-
添加必要的头部(例如,Bearer Token)
-
在正文中,包含步骤 2 中配置的 JSON 内容
-
然后 crew 将在预定义的时间启动。
-
设置 Webhook
-
在 ActivePieces 中创建一个新的流程并命名
-
添加一个 webhook 步骤作为触发器
-
选择“捕获 Webhook”作为触发器类型
-
这将生成一个唯一的 URL,它将接收 HTTP 请求并触发您的流程
-
配置电子邮件以使用 crew webhook 正文文本
-
生成的输出
-
taskWebhookUrl - 每个任务结束时将执行的回调
{ "action": "**Preliminary Research Report on the Financial Industry for crewai Enterprise Solution**\n1. Industry Overview and Trends\nThe financial industry in ....\nConclusion:\nThe financial industry presents a fertile ground for implementing AI solutions like crewai, particularly in areas such as digital customer engagement, risk management, and regulatory compliance. Further engagement with the lead is recommended to better tailor the crewai solution to their specific needs and scale.", "task_id": "97eba64f-958c-40a0-b61c-625fe635a3c0" }
-
stepWebhookUrl - 每个代理内部思考时将执行的回调
{ "description": "Using the information gathered from the lead's data, conduct preliminary research on the lead's industry, company background, and potential use cases for crewai. Focus on finding relevant data that can aid in scoring the lead and planning a strategy to pitch them crewai.The financial industry presents a fertile ground for implementing AI solutions like crewai, particularly in areas such as digital customer engagement, risk management, and regulatory compliance. Further engagement with the lead is recommended to better tailor the crewai solution to their specific needs and scale.", "task_id": "97eba64f-958c-40a0-b61c-625fe635a3c0" }
-
crewWebhookUrl - crew 执行结束时将执行的回调
{ "task_id": "97eba64f-958c-40a0-b61c-625fe635a3c0", "result": { "lead_score": "Customer service enhancement, and compliance are particularly relevant.", "talking_points": [ "Highlight how crewai's AI solutions can transform customer service with automated, personalized experiences and 24/7 support, improving both customer satisfaction and operational efficiency.", "Discuss crewai's potential to help the institution achieve its sustainability goals through better data analysis and decision-making, contributing to responsible investing and green initiatives.", "Emphasize crewai's ability to enhance compliance with evolving regulations through efficient data processing and reporting, reducing the risk of non-compliance penalties.", "Stress the adaptability of crewai to support both extensive multinational operations and smaller, targeted projects, ensuring the solution grows with the institution's needs." ] } }
导航到 CrewAI 自定义 GPT
点击此处 https://chatgpt.com/g/g-qqTuUWsBY-crewai-assistant 访问 CrewAI 自定义 GPT
描述您的项目想法
例如
Suggest some agents and tasks to retrieve LinkedIn profile details for a given person and a domain.
GPT 将为您提供建议的代理和任务列表
以下是您将获得的响应示例:
在您的终端中输入以下命令创建项目结构:
crewai create crew linkedin-profile
这将在当前目录中创建一个名为 `linkedin-profile` 的新 crew。
按照 https://docs.crewai.org.cn/quickstart 中的完整说明创建 crew。
让 GPT 将代理和任务转换为 YAML 格式。
以下是您需要保存到 `agents.yaml` 和 `tasks.yaml` 文件中的最终输出示例:
- 现在用上面的代码替换 `agents.yaml` 和 `tasks.yaml` 文件
- 让 GPT 创建自定义 LinkedIn 工具
- 让 GPT 将所有内容整合到 `crew.py` 文件中
- 您现在将拥有一个完全可用的 crew。
CrewAI 支持与 OpenAI 的 DALL-E 集成,允许您的 AI 代理作为任务的一部分生成图像。本指南将引导您了解如何在 CrewAI 项目中设置和使用 DALL-E 工具。
先决条件
- 已安装 CrewAI(最新版本)
- 具有访问 DALL-E 权限的 OpenAI API 密钥
设置 DALL-E 工具 要在 CrewAI 项目中使用 DALL-E 工具,请按照以下步骤操作:
导入 DALL-E 工具
from crewai_tools import DallETool
将 DALL-E 工具添加到您的代理配置中
@agent
def researcher(self) -> Agent:
return Agent(
config=self.agents_config['researcher'],
tools=[SerperDevTool(), DallETool()], # Add DallETool to the list of tools
allow_delegation=False,
verbose=True
)
使用 DALL-E 工具
将 DALL-E 工具添加到代理后,它可以根据文本提示生成图像。该工具将返回生成的图像的 URL,该 URL 可用于代理的输出或传递给其他代理进行进一步处理。
任务中的使用示例
role: >
LinkedIn Profile Senior Data Researcher
goal: >
Uncover detailed LinkedIn profiles based on provided name {name} and domain {domain}
Generate a Dall-e image based on domain {domain}
backstory: >
You're a seasoned researcher with a knack for uncovering the most relevant LinkedIn profiles.
Known for your ability to navigate LinkedIn efficiently, you excel at gathering and presenting
professional information clearly and concisely.
带有 DALL-E 工具的代理将能够生成图像并在其响应中提供一个 URL。然后您可以下载该图像。
最佳实践
- 在图像生成提示中要具体,以获得最佳结果。
- 请记住,图像生成可能需要一些时间,因此在任务规划时要考虑到这一点。
- 生成图像时,请始终遵守 OpenAI 的使用政策。
故障排除
- 确保您的 OpenAI API 密钥具有访问 DALL-E 的权限。
- 检查您是否正在使用最新版本的 crewAI 和 crewai-tools。
- 验证 DALL-E 工具是否已正确添加到代理的工具列表中。
本指南解释了如何在 `crew.py` 文件中使用注解来正确引用代理、任务和其他组件。
简介
框架中的注解用于修饰类和方法,为 crew 的各种组件提供元数据和功能。这些注解有助于组织和构建代码,使其更具可读性和可维护性。
可用注解
CrewAI 框架提供以下注解:
- @CrewBase:用于修饰主要的 crew 类。
- @agent:修饰定义并返回 Agent 对象的方法。
- @task:修饰定义并返回 Task 对象的方法。
- @crew:修饰创建并返回 Crew 对象的方法。
- @llm:修饰初始化并返回 Language Model 对象的方法。
- @tool:修饰初始化并返回 Tool 对象的方法。
- @callback:(未在示例中显示,但可用)用于定义回调方法。
- @output_json:(未在示例中显示,但可用)用于输出 JSON 数据的方法。
- @output_pydantic:(未在示例中显示,但可用)用于输出 Pydantic 模型的方法。
- @cache_handler:(未在示例中显示,但可用)用于定义缓存处理方法。
使用示例
让我们根据提供的 LinkedinProfileCrew 类,通过示例来了解如何使用这些注解
1. Crew 基类
@CrewBase
class LinkedinProfileCrew():
"""LinkedinProfile crew"""
agents_config = 'config/agents.yaml'
tasks_config = 'config/tasks.yaml'
@CrewBase 注解用于修饰主要的 crew 类。此类通常包含创建代理、任务和 crew 本身的配置和方法。
2. 工具定义
@tool
def myLinkedInProfileTool(self):
return LinkedInProfileTool()
@tool 注解用于修饰返回工具对象的方法。这些工具可以被代理用于执行特定任务。
3. LLM 定义
@llm
def groq_llm(self):
api_key = os.getenv('api_key')
return ChatGroq(api_key=api_key, temperature=0, model_name="mixtral-8x7b-32768")
@llm 注解用于修饰初始化并返回 Language Model 对象的方法。这些 LLM 被代理用于自然语言处理任务。
4. 代理定义
@agent
def researcher(self) -> Agent:
return Agent(
config=self.agents_config['researcher']
)
@agent 注解用于修饰定义并返回 Agent 对象的方法。
5. 任务定义
@task
def research_task(self) -> Task:
return Task(
config=self.tasks_config['research_linkedin_task'],
agent=self.researcher()
)
@task 注解用于修饰定义并返回 Task 对象的方法。这些方法指定任务配置以及负责该任务的代理。
6. Crew 创建
@crew
def crew(self) -> Crew:
"""Creates the LinkedinProfile crew"""
return Crew(
agents=self.agents,
tasks=self.tasks,
process=Process.sequential,
verbose=True
)
@crew 注解用于修饰创建并返回 Crew 对象的方法。此方法将所有组件(代理和任务)组装成一个可用的 crew。
YAML 配置
代理配置通常存储在 YAML 文件中。以下是 `agents.yaml` 文件中研究员代理的配置示例:
researcher:
role: >
LinkedIn Profile Senior Data Researcher
goal: >
Uncover detailed LinkedIn profiles based on provided name {name} and domain {domain}
Generate a Dall-E image based on domain {domain}
backstory: >
You're a seasoned researcher with a knack for uncovering the most relevant LinkedIn profiles.
Known for your ability to navigate LinkedIn efficiently, you excel at gathering and presenting
professional information clearly and concisely.
allow_delegation: False
verbose: True
llm: groq_llm
tools:
- myLinkedInProfileTool
- mySerperDevTool
- myDallETool
此 YAML 配置对应于 `LinkedinProfileCrew` 类中定义的研究员代理。配置指定了代理的角色、目标、背景故事以及其他属性,例如它使用的 LLM 和工具。
请注意 YAML 文件中的 `llm` 和 `tools` 如何对应于 Python 类中使用 `@llm` 和 `@tool` 修饰的方法。这种连接允许采用灵活和模块化的设计,您可以轻松更新代理配置而无需更改核心代码。
最佳实践
- 命名一致性:对方法使用清晰一致的命名约定。例如,代理方法可以根据其角色命名(例如,`researcher`、`reporting_analyst`)。
- 环境变量:对敏感信息(如 API 密钥)使用环境变量。
- 灵活性:通过允许轻松添加或删除代理和任务,设计您的 crew 以使其具有灵活性。
- YAML 与代码的对应性:确保您的 YAML 文件中的名称和结构与 Python 代码中用注解修饰的方法正确对应。
通过遵循这些指南并正确使用注解,您可以使用 CrewAI 框架创建结构良好且易于维护的 crews。
本指南将引导您完成将 CrewAI 企业版与 Zapier 集成的过程,使您能够在 CrewAI 企业版与其他应用之间自动化工作流程。
先决条件
- 一个 CrewAI 企业版账户
- 一个 Zapier 账户
- 一个 Slack 账户(用于本次特定集成)
分步指南
设置 Slack 触发器
- 在 Zapier 中,创建一个新的 Zap。
选择 Slack 作为您的触发应用。
- 选择“新推送消息”作为触发事件。
- 如果尚未连接,请连接您的 Slack 账户。
配置 CrewAI 企业版操作
- 向您的 Zap 添加一个新的操作步骤。
- 选择 CrewAI+ 作为您的操作应用,选择 Kickoff 作为操作事件
连接您的 CrewAI 企业版账户。
- 连接您的 CrewAI 企业版账户。
- 为您的工作流程选择合适的 Crew。
- 使用 Slack 消息中的数据配置 Crew 的输入。
格式化 CrewAI 企业版输出
- 添加另一个操作步骤来格式化 CrewAI 企业版的文本输出。
- 使用 Zapier 的格式化工具将 Markdown 输出转换为 HTML。
通过电子邮件发送输出
- 添加最后一个操作步骤,通过电子邮件发送格式化的输出。
- 选择您偏好的电子邮件服务(例如,Gmail、Outlook)。
- 配置电子邮件详细信息,包括收件人、主题和正文。
- 将格式化的 CrewAI 企业版输出插入到电子邮件正文中。
从 Slack 启动 crew
- 在您的 Slack 频道中输入文本
- 选择 3 个省略号按钮,然后选择“推送到 Zapier”
选择 crew,然后“推送到 Kick Off”
成功提示
- 确保您的 CrewAI 企业版输入已从 Slack 消息中正确映射。
- 在开启之前彻底测试您的 Zap,以发现任何潜在问题。
- 考虑添加错误处理步骤来管理工作流程中潜在的失败。
通过遵循这些步骤,您将成功地将 CrewAI 企业版与 Zapier 集成,从而实现由 Slack 消息触发的自动化工作流程,并通过电子邮件通知呈现 CrewAI 企业版输出。
本指南提供了将 CrewAI 企业版与 HubSpot 集成的分步过程,使您能够直接从 HubSpot 工作流程中启动 crews。
先决条件
- 一个 CrewAI 企业版账户
- 一个具有 HubSpot Workflows 功能的 HubSpot 账户
分步指南
连接您的 HubSpot 账户与 CrewAI 企业版
- 登录您的 CrewAI 企业版账户 > 集成
- 从可用集成列表中选择 HubSpot
- 选择您想要与 CrewAI 企业版集成的 HubSpot 账户
- 按照屏幕提示授权 CrewAI 企业版访问您的 HubSpot 账户
- HubSpot 成功连接到 CrewAI 企业版后将出现确认消息
创建 HubSpot 工作流程
- 登录您的 HubSpot 账户 > 自动化 > 工作流程 > 新建工作流程
- 选择适合您需求的工作流程类型(例如,从头开始)
- 在工作流程构建器中,点击加号 (+) 图标添加一个新的操作。
- 选择“集成应用”>“CrewAI”>“启动 Crew”。
- 选择您要启动的 Crew。
- 点击“保存”将操作添加到您的工作流程
将 Crew 结果用于其他操作
- 在“启动 Crew”步骤之后,点击加号 (+) 图标添加一个新的操作。
- 例如,要发送内部电子邮件通知,选择“通信”>“发送内部电子邮件通知”
- 在“正文”字段中,点击“插入数据”,选择“查看属性或操作输出自”>“操作输出”>“Crew 结果”以在电子邮件中包含 Crew 数据
- 根据需要配置任何其他操作
- 审查您的工作流程步骤以确保一切设置正确
- 激活工作流程
有关可用操作和自定义选项的更多详细信息,请参阅 HubSpot Workflows 文档。
- 在 Azure 中,转到“Azure AI 服务”> 选择您的部署 > 打开 Azure OpenAI Studio。
- 在左侧菜单中,点击“部署”。如果还没有部署,请使用您想要的模型创建一个部署。
- 创建后,选择您的部署并在页面右侧找到“目标 URI”和“密钥”。请保持此页面打开,您将需要这些信息。
- 在另一个选项卡中,打开 CrewAI 企业版 > LLM 连接。命名您的 LLM 连接,选择 Azure 作为提供商,然后选择您在 Azure 中选择的相同模型。
- 在同一页面上,添加步骤 3 中的环境变量
- 一个名为 `AZURE_DEPLOYMENT_TARGET_URL`(使用目标 URI)。URL 应如下所示:https://your-deployment.openai.azure.com/openai/deployments/gpt-4o/chat/completions?api-version=2024-08-01-preview
- 另一个名为 `AZURE_API_KEY`(使用密钥)。
- 点击“添加连接”保存您的 LLM 连接。
- 在 CrewAI 企业版 > 设置 > 默认值 > Crew Studio LLM 设置中,将新的 LLM 连接和模型设置为默认值。
- 确保网络访问设置
- 在 Azure 中,转到“Azure OpenAI”> 选择您的部署。
- 导航到“资源管理”>“网络”。
- 确保“允许从所有网络访问”已启用。如果此设置受到限制,CrewAI 可能无法访问您的 Azure OpenAI 端点。
您已设置完毕!Crew Studio 现在将使用您的 Azure OpenAI 连接。
人机协作 (HITL) 说明 HITL 是一种强大的方法,它将人工智能与人类专业知识相结合,以增强决策并改善任务结果。请按照以下步骤在 CrewAI 中实现 HITL:
配置您的任务
设置您的任务并启用人类输入
提供 Webhook URL
启动 crew 时,包含一个用于人类输入的 webhook URL
接收 Webhook 通知
一旦 crew 完成需要人类输入的任务,您将收到包含以下信息的 webhook 通知:
- 执行 ID
- 任务 ID
- 任务输出
审查任务输出
系统将暂停在“待人类输入”状态。仔细审查任务输出。
提交人类反馈
使用以下信息调用 crew 的恢复端点
反馈对任务执行的影响:提供反馈时务必谨慎,因为整个反馈内容将作为额外上下文纳入后续任务执行中。
这意味着
- 您反馈中的所有信息都成为任务上下文的一部分。
- 不相关的细节可能会对其产生负面影响。
- 简洁、相关的反馈有助于保持任务焦点和效率。
- 提交前务必仔细审查您的反馈,确保它仅包含与任务执行相关的、将产生积极指导作用的信息。
处理负面反馈
如果您提供负面反馈
- crew 将根据您的反馈添加的上下文重试任务。
- 您将收到另一个 webhook 通知以供进一步审查。
- 重复步骤 4-6,直到满意为止。
执行继续
当您提交正面反馈时,执行将继续进行到下一步骤。
Salesforce 演示
Salesforce 是一个领先的客户关系管理 (CRM) 平台,帮助企业简化其销售、服务和营销运营。
max_rpm 属性设置了 crew 每分钟可执行的最大请求数,以避免速率限制,如果设置了此属性,它将覆盖单个代理的 max_rpm 设置。
此页面有帮助吗?