指南
- 策略
- Agent
- Crew
- 流程
- 高级
工具
- AI Mind 工具
- Apify Actors
- Bedrock Invoke Agent 工具
- Bedrock 知识库检索器
- Brave 搜索
- Browserbase Web 加载器
- 代码文档 RAG 搜索
- 代码解释器
- Composio 工具
- CSV RAG 搜索
- DALL-E 工具
- 目录 RAG 搜索
- 目录读取
- DOCX RAG 搜索
- EXA 搜索 Web 加载器
- 文件读取
- 文件写入
- Firecrawl 网站爬取
- Firecrawl 网站抓取
- Firecrawl 搜索
- Github 搜索
- Hyperbrowser 加载工具
- Linkup 搜索工具
- LlamaIndex 工具
- LangChain 工具
- Google Serper 搜索
- S3 读取工具
- S3 写入工具
- Scrapegraph 抓取工具
- 从网站抓取元素工具
- JSON RAG 搜索
- MDX RAG 搜索
- MySQL RAG 搜索
- MultiOn 工具
- NL2SQL 工具
- Patronus 评估工具
- PDF RAG 搜索
- PG RAG 搜索
- Qdrant 向量搜索工具
- RAG 工具
- 抓取网站
- Scrapfly 网站抓取工具
- Selenium 抓取器
- Snowflake 搜索工具
- Spider 抓取器
- Stagehand 工具
- TXT RAG 搜索
- Vision 工具
- Weaviate 向量搜索
- 网站 RAG 搜索
- XML RAG 搜索
- YouTube 频道 RAG 搜索
- YouTube 视频 RAG 搜索
Agent 监控与可观测性
学习
遥测
Agent 监控与可观测性
MLflow 集成
使用 MLflow 快速开始监控您的 Agent。
MLflow 概述
MLflow 是一个开源平台,旨在帮助机器学习从业者和团队处理机器学习过程的复杂性。
它提供了一个跟踪功能,通过捕获应用程序服务执行的详细信息,增强了生成式 AI 应用程序中的 LLM 可观测性。跟踪提供了一种记录请求中每个中间步骤相关的输入、输出和元数据的方式,使您能够轻松查明错误和意外行为的来源。
功能
- 跟踪仪表板:使用详细的仪表板监控您的 crewAI Agent 活动,包括 span 的输入、输出和元数据。
- 自动化跟踪:与 crewAI 的完全自动化集成,可以通过运行
mlflow.crewai.autolog()
启用。 - 少量工作的手动跟踪检测:通过 MLflow 的高级流利 API(如装饰器、函数包装器和上下文管理器)自定义跟踪检测。
- OpenTelemetry 兼容性:MLflow 跟踪支持将跟踪导出到 OpenTelemetry Collector,然后可用于将跟踪导出到各种后端,如 Jaeger、Zipkin 和 AWS X-Ray。
- 打包和部署 Agent:将您的 crewAI Agent 打包并部署到推理服务器,支持多种部署目标。
- 安全托管 LLM:通过 MLflow 网关在一个统一的端点中托管来自不同提供商的多个 LLM。
- 评估:使用便捷的 API
mlflow.evaluate()
,通过广泛的指标评估您的 crewAI Agent。
设置说明
1
安装 MLflow 包
# The crewAI integration is available in mlflow>=2.19.0
pip install mlflow
2
启动 MLflow 跟踪服务器
# This process is optional, but it is recommended to use MLflow tracking server for better visualization and broader features.
mlflow server
3
在您的应用程序中初始化 MLflow
将以下两行添加到您的应用程序代码中
import mlflow
mlflow.crewai.autolog()
# Optional: Set a tracking URI and an experiment name if you have a tracking server
mlflow.set_tracking_uri("https://:5000")
mlflow.set_experiment("CrewAI")
跟踪 CrewAI Agent 的示例用法
from crewai import Agent, Crew, Task
from crewai.knowledge.source.string_knowledge_source import StringKnowledgeSource
from crewai_tools import SerperDevTool, WebsiteSearchTool
from textwrap import dedent
content = "Users name is John. He is 30 years old and lives in San Francisco."
string_source = StringKnowledgeSource(
content=content, metadata={"preference": "personal"}
)
search_tool = WebsiteSearchTool()
class TripAgents:
def city_selection_agent(self):
return Agent(
role="City Selection Expert",
goal="Select the best city based on weather, season, and prices",
backstory="An expert in analyzing travel data to pick ideal destinations",
tools=[
search_tool,
],
verbose=True,
)
def local_expert(self):
return Agent(
role="Local Expert at this city",
goal="Provide the BEST insights about the selected city",
backstory="""A knowledgeable local guide with extensive information
about the city, it's attractions and customs""",
tools=[search_tool],
verbose=True,
)
class TripTasks:
def identify_task(self, agent, origin, cities, interests, range):
return Task(
description=dedent(
f"""
Analyze and select the best city for the trip based
on specific criteria such as weather patterns, seasonal
events, and travel costs. This task involves comparing
multiple cities, considering factors like current weather
conditions, upcoming cultural or seasonal events, and
overall travel expenses.
Your final answer must be a detailed
report on the chosen city, and everything you found out
about it, including the actual flight costs, weather
forecast and attractions.
Traveling from: {origin}
City Options: {cities}
Trip Date: {range}
Traveler Interests: {interests}
"""
),
agent=agent,
expected_output="Detailed report on the chosen city including flight costs, weather forecast, and attractions",
)
def gather_task(self, agent, origin, interests, range):
return Task(
description=dedent(
f"""
As a local expert on this city you must compile an
in-depth guide for someone traveling there and wanting
to have THE BEST trip ever!
Gather information about key attractions, local customs,
special events, and daily activity recommendations.
Find the best spots to go to, the kind of place only a
local would know.
This guide should provide a thorough overview of what
the city has to offer, including hidden gems, cultural
hotspots, must-visit landmarks, weather forecasts, and
high level costs.
The final answer must be a comprehensive city guide,
rich in cultural insights and practical tips,
tailored to enhance the travel experience.
Trip Date: {range}
Traveling from: {origin}
Traveler Interests: {interests}
"""
),
agent=agent,
expected_output="Comprehensive city guide including hidden gems, cultural hotspots, and practical travel tips",
)
class TripCrew:
def __init__(self, origin, cities, date_range, interests):
self.cities = cities
self.origin = origin
self.interests = interests
self.date_range = date_range
def run(self):
agents = TripAgents()
tasks = TripTasks()
city_selector_agent = agents.city_selection_agent()
local_expert_agent = agents.local_expert()
identify_task = tasks.identify_task(
city_selector_agent,
self.origin,
self.cities,
self.interests,
self.date_range,
)
gather_task = tasks.gather_task(
local_expert_agent, self.origin, self.interests, self.date_range
)
crew = Crew(
agents=[city_selector_agent, local_expert_agent],
tasks=[identify_task, gather_task],
verbose=True,
memory=True,
knowledge={
"sources": [string_source],
"metadata": {"preference": "personal"},
},
)
result = crew.kickoff()
return result
trip_crew = TripCrew("California", "Tokyo", "Dec 12 - Dec 20", "sports")
result = trip_crew.run()
print(result)
有关更多配置和用例,请参阅 MLflow 跟踪文档。
4
可视化 Agent 的活动
现在您的 crewAI Agent 的跟踪信息已被 MLflow 捕获。让我们访问 MLflow 跟踪服务器来查看跟踪信息并了解您的 Agent 的详情。
在您的浏览器中打开 127.0.0.1:5000
以访问 MLflow 跟踪服务器。
MLflow 跟踪仪表板
此页面有帮助吗?