跳转到内容

遥测

CrewAI 使用匿名遥测来收集使用统计,其主要目标是改进该库。 我们的重点是优化和开发用户最常用的功能、集成和 tools。

需要明确的是,默认情况下,不会收集任何个人数据,包括 prompts、任务描述、agents 的 backstory 或 goal、 tools 的使用情况、API 调用、响应、agents 处理的任何数据,以及 secrets 和环境变量。 当启用 share_crew 功能时,会收集更详细的数据,包括任务描述、agents 的 backstory 或 goal,以及其他具体属性, 以便获得更深入的洞察。这种扩展后的数据收集可能包含个人信息,如果用户在 crews 或 tasks 中加入了这些信息的话。 在启用 share_crew 之前,用户应仔细考虑自己 crews 和 tasks 中包含的内容。 用户可以通过将环境变量 CREWAI_DISABLE_TELEMETRY 设为 true,或者将 OTEL_SDK_DISABLED 设为 true 来关闭遥测(注意后者会全局禁用所有 OpenTelemetry instrumentation)。

# 仅禁用 CrewAI 遥测
os.environ['CREWAI_DISABLE_TELEMETRY'] = 'true'
# 禁用所有 OpenTelemetry(包括 CrewAI)
os.environ['OTEL_SDK_DISABLED'] = 'true'
默认收集数据原因与说明
CrewAI 和 Python 版本跟踪软件版本。例如:CrewAI v1.2.3、Python 3.8.10。无个人数据。
Crew 元数据包括:随机生成的 key 和 ID、process 类型(例如 sequentialparallel)、memory 使用布尔值、任务数量、agents 数量。均非个人信息。
Agent 数据包括:随机生成的 key 和 ID、角色名称(不应包含个人信息)、布尔设置(verbose、是否启用 delegation、是否允许代码执行)、最大迭代次数、最大 RPM、最大重试限制、LLM 信息(见 LLM Attributes)、tool 名称列表(不应包含个人信息)。无个人数据。
Task 元数据包括:随机生成的 key 和 ID、布尔执行设置(async_execution、human_input)、关联 agent 的角色和 key、tool 名称列表。均非个人信息。
Tool 使用统计包括:tool 名称(不应包含个人信息)、使用尝试次数(整数)、使用的 LLM 属性。无个人数据。
测试执行数据包括:crew 随机生成的 key 和 ID、迭代次数、使用的模型名称、质量分数(float)、执行时间(秒)。均非个人信息。
Task 生命周期数据包括:创建时间、执行开始/结束时间、crew 和 task 标识符。以带时间戳的 spans 形式存储。无个人数据。
LLM Attributes包括:name、model_name、model、top_k、temperature 以及 LLM 的类名。均为技术性非个人数据。
使用 crewAI CLI 的 Crew 部署尝试包括:正在进行部署这一事实、crew id,以及是否尝试拉取日志,不包含其他数据。
Agent 的扩展数据包括:goal 描述、backstory 文本、i18n prompt 文件标识符。用户应确保这些文本字段中不包含个人信息。
详细 Task 信息包括:task 描述、expected output 描述、context 引用。用户应确保这些字段中不包含个人信息。
环境信息包括:平台、发行版、系统、版本和 CPU 数量。例如:Windows 10x86_64。无个人数据。
Crew 和 Task 的输入与输出包括:输入参数和输出结果,作为不可识别个人身份的数据。用户应确保其中不包含个人信息。
全量 Crew 执行数据包括:crew 操作的详细日志、所有 agents 和 tasks 数据、最终输出。均为非个人且技术性的内容。

用户可以通过在 crew 配置中将 share_crew 属性设为 True,来选择共享完整的遥测数据。 启用 share_crew 后,会收集更详细的 crew 和 task 执行数据,包括任务的 goalbackstorycontextoutput。 这有助于更深入地了解使用模式。