文档索引
获取完整文档索引: https://docs.crewai.com.cn/llms.txt
在深入了解之前,请使用此文件来浏览所有可用页面。
使用多模态智能体
CrewAI 支持多模态智能体,能够处理文本以及图像等非文本内容。本指南将向您展示如何启用并使用智能体的多模态功能。
启用多模态功能
要创建多模态智能体,只需在初始化智能体时将 multimodal 参数设置为 True 即可。
from crewai import Agent
agent = Agent(
role="Image Analyst",
goal="Analyze and extract insights from images",
backstory="An expert in visual content interpretation with years of experience in image analysis",
multimodal=True # This enables multimodal capabilities
)
当您设置 multimodal=True 时,智能体会自动配置处理非文本内容所需的工具,包括 AddImageTool。
处理图像
多模态智能体预装了 AddImageTool,使其能够处理图像。您无需手动添加此工具——在启用多模态功能时,它会自动包含在内。 以下是一个完整的示例,展示了如何使用多模态智能体来分析图像:from crewai import Agent, Task, Crew
# Create a multimodal agent
image_analyst = Agent(
role="Product Analyst",
goal="Analyze product images and provide detailed descriptions",
backstory="Expert in visual product analysis with deep knowledge of design and features",
multimodal=True
)
# Create a task for image analysis
task = Task(
description="Analyze the product image at https://example.com/product.jpg and provide a detailed description",
expected_output="A detailed description of the product image",
agent=image_analyst
)
# Create and run the crew
crew = Crew(
agents=[image_analyst],
tasks=[task]
)
result = crew.kickoff()
上下文进阶使用
在为多模态智能体创建任务时,您可以提供额外的上下文或关于图像的具体问题。任务描述中可以包含您希望智能体重点关注的具体方面。
from crewai import Agent, Task, Crew
# Create a multimodal agent for detailed analysis
expert_analyst = Agent(
role="Visual Quality Inspector",
goal="Perform detailed quality analysis of product images",
backstory="Senior quality control expert with expertise in visual inspection",
multimodal=True # AddImageTool is automatically included
)
# Create a task with specific analysis requirements
inspection_task = Task(
description="""
Analyze the product image at https://example.com/product.jpg with focus on:
1. Quality of materials
2. Manufacturing defects
3. Compliance with standards
Provide a detailed report highlighting any issues found.
""",
expected_output="A detailed report highlighting any issues found",
agent=expert_analyst
)
# Create and run the crew
crew = Crew(
agents=[expert_analyst],
tasks=[inspection_task]
)
result = crew.kickoff()
使用多模态智能体时,AddImageTool 会自动配置以下架构:
class AddImageToolSchema:
image_url: str # Required: The URL or path of the image to process
action: Optional[str] = None # Optional: Additional context or specific questions about the image
多模态智能体将通过其内置工具自动处理图像,使其能够:
- 通过 URL 或本地文件路径访问图像
- 在可选上下文或具体问题的辅助下处理图像内容
- 根据视觉信息和任务需求提供分析与见解
最佳实践
使用多模态智能体时,请谨记以下最佳实践:
-
图像访问
- 确保您的图像可以通过智能体可访问的 URL 获取
- 对于本地图像,请考虑临时托管它们或使用绝对文件路径
- 在运行任务前,请验证图像 URL 是否有效且可访问
-
任务描述
- 请明确您希望智能体分析图像的哪些方面
- 在任务描述中包含清晰的问题或需求
- 考虑使用可选的
action 参数进行针对性分析
-
资源管理
- 图像处理可能比仅处理文本的任务需要更多的计算资源
- 某些语言模型可能要求将图像数据进行 base64 编码
- 考虑对多张图像进行批量处理以优化性能
-
环境设置
- 验证您的环境是否具备图像处理所需的依赖项
- 确保您的语言模型支持多模态功能
- 先用小尺寸图像进行测试,以验证您的设置
-
错误处理
- 为图像加载失败实现适当的错误处理机制
- 当图像处理失败时,制定好备用方案
- 监控并记录图像处理操作以便调试