使用 crewAI 构建多模式多智能体系统,通过 watsonx.ai 实现零售货架优化

作者

Yohan Bensoussan

GenAI Architect @ IBM Build Lab

IBM

Anna Gutowska

AI Engineer, Developer Advocate

IBM

想象一下,仅凭一部智能手机和人工智能 (AI)的力量,就能改变零售店的业绩。这不是遥不可及的未来场景,而是中小型零售商店当下即可落地的现实!在本教程中,我们将深入了解一个令人兴奋的真实用例,其中零售店主和经理可以借助 AI 优化货架陈列、提升销售额并改善客户体验。我们将在该项目中充分利用最新的 IBM Granite 模型以及 Meta 的 Llama 3.2 视觉模型。

生成式 AI 对零售业的影响

随着基于智能体程序的生成式 AI 的出现,中小型零售商店如今也能获得专家级分析与商业建议——这些曾经只有配备专业数据团队的大型企业才能享有的服务。这项 AI 技术的普及将为您的社区超市、精品小店或区域连锁品牌带来革命性变革。

这项技术之所以具有革命性,原因如下:

  • 操作简便:您只需提供一张简单的店铺货架通道照片即可开始使用。
  • 按需专家服务:AI 智能体作为您的专属零售顾问团队,全面分析商店空间及当前市场动态。
  • 可操作的洞察分析:您将获得详细且实用货架重组方案,最大化提升销售额和改善客户满意度。
  • 成本效益:这项技术无需高昂的咨询费用,也免除了复杂软件系统的投入。
  • 灵活应变:当市场趋势变化时,您可快速重新分析并调整商店布局,始终领先行业潮流。

让我们深入了解技术细节,逐步了解这种人工智能驱动的零售优化是如何运作的。本教程结束时,您将清楚地了解如何在自己的商店中实施这一系统,从而有可能借助 AI 力量彻底改变零售空间。

多模式智能体架构模式

解决方案背后的故事

莎拉是当地一家杂货店的店主,在与大型连锁店的竞争中举步维艰。尽管她已经尽了最大努力,但她还是注意到某些产品的销售情况并不尽如人意,而另一些产品则经常缺货。有一天,当她在一个月内第三次整理新鲜农产品货架时,她想知道是否有更好的方法。

这就是我们的人工智能驱动解决方案的用武之地。莎拉只用了智能手机和我们的智能系统,就改变了自己杂货店的业绩。让我们深入研究如何构建这样的系统。

超市货架上的新鲜有机蔬菜和水果 莎拉的货架

什么是 crewAI?

我们可以使用 crewAI,这是一个开源框架,可以协调团队中的智能体交互。“crew”指的是多智能体系统。我们的团队由扮演零售专家的智能体组成,他们 24 x 7 全天候待命,各司其职。任务可以直接分配给智能体,也可以通过 crewAI 评估特定角色和可用性的分级流程来处理。

对于 crewAI 初学者,请查看 crewAI 阅读解释器以及官方文档。在 crewAI GitHub 官方存储库中,您还可以找到团队进行库存分析、数据分析、RAG、LangGraph 整合等的示例。

认识 AI 零售团队

让我们来看看本教程将使用的零售专家智能体团队。

store_manager:
    role: Store Manager
    goal
        Analyze the shelves in the physical store and provide a detailed report
        to the market analyst to develop a detailed action plan with the insights.
    backstory
        As the Space Planner, you are responsible for examining the store's shelves,
        assessing product placement and optimizing space utilization.
        You have access to advanced tools for shelf visualization, which help you
        collect accurate data on the current arrangement of products.
        You are capable to translate market analysis into a plan for the store
        or specific shelf or department.

market_analyst:
    role: Market Trend Analyst
    goal
        Provide recommendations to rearrange the product arrangement based on market trends.
    backstory
        As the Market Analyst, you possess in-depth knowledge of market trends and consumer behavior.
        Your experience and keen sense of retail enable you to propose effective recommendations
        for specific shelves. You analyze reports provided by the Space Planner to suggest
        improvements that enhance sales and customer experience.

任务工作流

任务工作流如下。

analyze_shelf:
    description:
        Use the Vision Tool to collect visual data and caption the current product arrangement.
        Conduct a thorough analysis of shelf {shelf} in the store.
        Prepare a detailed report highlighting the current layout, products,
        product placement and any observed issues.
        Ensure the report is detailed at the level of product names.
    expected_output:
        A comprehensive report on shelf {shelf}, including visual data,
        analysis of product placement, space utilization and any recommendations for improvement.
    agent: store_manager

provide_recommendations:
    description:
        Review the report on shelf {shelf} provided by the Store Manager.
        Utilize your knowledge of the retail market and internet to assess current trends
        relevant to the products in this shelf ({shelf}).
        Develop expert recommendations to optimize sales and customer satisfaction.
        Ensure the recommendations are detailed and includes details like product names.
    expected_output:
        A set of actionable recommendations for rearranging the {shelf} shelf,
        aligned with current market trends and consumer preferences.
    agent: market_analyst

create_action_plan:
    description:
        List the recommendations from the Market Analyst,
        then develop a detailed action plan for Store manager and Store buyer
        to implement the changes.
        Ensure the plan is practical and outlines the steps needed to rearrange
        the products effectively.
        Be smart and well explained.
        Give the explanation of your recommendations and the goal to achieve.
    expected_output:
        A detailed list of recommendation and action plan for rearranging and
        improving the {shelf} shelf according to market trends,
        including market analyst recommendations and translation into
        practical tasks for the Store manager and the Buyer.
    agent: store_manager

步骤

您可以在 Github 上找到这个项目。

第 1 步:设置环境

我们首先需要设置环境。可以在 GitHub 上的 Markdown 文件中找到这些步骤,也可以按照以下步骤操作。

  • 确保系统已安装 Python 版本 >= 3.10<=3.13。您可以使用以下命令检查  Python 版本python3 --version
  • 设置 虚拟环境 ,避免 Python 包依赖冲突。
python3 -m venv myenv
source ./myenv/bin/activate
  • 使用 https://github.com/IBM/ibmdotcom-tutorials.git 作为 HTTPS URL 克隆存储库。有关如何克隆存储库的详细步骤,请参阅 GitHub 文档

项目结构crew-ai-projects 目录应类似于以下内容:

src/my_retail_advisor/

├── config/
│ ├── agents.yaml # Agent configurations
│ └── tasks.yaml # Task definitions
├── tool/
│ ├── custom_tool.py # Custom crewAI tool implementations
│ └── tool_helper.py # Vision helper functions
├── crew.py # Crew orchestration
└── main.py # Application entry point

第 2 步:获取 watsonx®  API 凭据

  1.  使用您的 IBM Cloud 帐户登录 watsonx.ai 。
  2. 创建 watsonx.ai 项目。在项目>管理>常规>项目 ID 中记下 项目 ID 。您需要此 ID 用于本教程。
  3. 创建 watsonx.ai 运行时服务实例(选择 Lite 计划,这是一个免费实例)。
  4. 生成 watsonx API 密钥
  5. 将 watsonx.ai 运行时服务与您在 watsonx.ai中创建的项目关联。

第 3 步:获取 Serper API 凭据

生成并记下免费的 Serper API 密钥。Serper 是我们将在本项目中使用的 Google 搜索 API。

第 4 步:安装 crewAI 并设置凭据

我们需要为本教程安装 crewAI 框架,并设置第 2 步中生成的 watsonx.ai 凭据。
要安装 crewAI,请

要安装 crewAI,请在终端运行以下命令。

%pip install 'crewai[tools]'

 

在与 .env_sample 文件  同级目录下的单独 .env 文件中,以字符串形式设置凭据:

WATSONX_APIKEY=your_watson_api_key_here
WATSONX_PROJECT_ID=your_watsonx_project_id_here
WATSONX_URL=your_endpoint (e.g. "https://us-south.ml.cloud.ibm.com")
SERPER_API_KEY=your_serper_api_key_here

第 5 步. 自定义团队(可选)

crewAI 可以配置为使用任何开源的大语言模型 (LLM)。LLM 可以通过 Ollama 和其他几个 API(例如 IBM watsonx 和 OpenAI)进行连接。用户还可以通过crewAI Toolkit 和 LangChain Tools 充分利用预构建工具。

我们的自定义可视化搜索工具由 llama-3-2-90b-vision-instruct 基于 watsonx.ai 平台的模型驱动。以下是工具目录中自定义视觉工具的外观。

# tool/custom_tool.py
from crewai.tools import BaseTool
from my_retail_advisor.tools.tool_helper import Helper

class VisionTool(BaseTool):
name: str = "Vision Tool"
description: str = "Analyzes a default picture to collect visual data."

def _run(self) -> str:
# Relative path to the shelf.jpg image from the working crew-ai/my_retail_advisor directory
image_path = 'images/shelf.jpg'

# Simulating image-to-text conversion
products_in_image = Helper.image2text(image_path)
return products_in_image

您可以通过多种方式自定义团队:

  • 修改 src/my_retail_advisor/config/agents.yaml 来定义智能体。
  • 修改 src/my_retail_advisor/config/tasks.yaml  来定义任务。
  • 修改 src/my_retail_advisor/crew.py 添加自己的逻辑、工具和特定的参数。
  • 修改 src/my_retail_advisor/main.py 为智能体和任务添加自定义输入
  • 修改 src/my_retail_advisor/tool/custom_tool.py 为您的智能体和任务添加自定义工具。
  • 修改 src/my_retail_advisor/tool/tool_helper.py 基于多模态 Llama 模型改变自定义视觉工具。
  • 用您自己的图片替换 images/shelf.jpg

第 6 步:运行系统

确保已进入该项目的正确工作目录。您可以在终端中运行以下命令来切换目录。

cd crew-ai-projects/my_retail_advisor

要启动您的 AI 智能体团队并开始执行任务,请从项目的根文件夹运行此命令。 请注意,该团队可能需要运行几分钟才能返回最终结果。

crewai run

此命令将初始化 themy-retail-advisor 团队,按照配置中的定义组装智能体并为其分配任务。此示例未经修改,将使用 watsonx.ai 上的 Granite 创建包含输出结果的 report.md 文件。crewAI 可以返回 JSON、Pydantic 模型和原始字符串作为输出。以下是该团队输出结果的示例。

输出示例:

蔬菜货架重新布置与优化行动计划

目标创建一个具有视觉吸引力且井然有序的农产品区,展示最受欢迎的蔬菜,提升销售额,并改善客户满意度。

市场分析师的建议:

  1. 用色彩鲜艳、引人注目的方式展示最受欢迎的蔬菜,打造视觉焦点。
  2. 使用不同的颜色、质地和高度来营造视觉趣味。
  3. 将相似的蔬菜放在一起。
  4. 考虑使用篮子、箱子或其他容器,增添自然朴实的感觉。
  5. 使用照明突出特定的产品或促销活动。
    ...

商店经理和商店采购员的行动计划:

...

第 1 步:焦点展示

  • 商店经理:在货架上指定一个重点展示区域,用于摆放最受欢迎的蔬菜(西红柿、土豆、洋葱、生菜、胡萝卜、辣椒、黄瓜和芹菜)。
  • 商店采购员: 确保这些蔬菜有足够的库存,以保持陈列丰满且吸引顾客。
  • 团队:使用各种颜色、质地和高度,以视觉上吸引人的方式摆放蔬菜。

...

第 4 步:主题展示和附加功能

  • 商店经理: 规划并实施主题展示(例如夏季烧烤或假日主题),以吸引顾客并推广相关产品。
  • 商店采购员: 确保主题展示材料和相关产品有足够的库存。
  • 团队:使用蔬菜货架或展台增加额外的陈列空间,营造具有视觉吸引力的展示效果。

总结

从示例输出可以看出,多智能体系统能够执行处理输入、工具调用和制定调查结果的顺序过程。

还记得莎拉的新鲜农产品货架问题吗?以下是系统如何帮助她:

  1. 视觉分析:莎拉用智能手机拍摄了 蔬菜货架。商店经理智能体分析图片,发现货架商品摆放过于密集,需要进行整理维护。
  2. 市场调研:市场分析智能体利用当前蔬菜销售的市场趋势和顾客偏好,为重新安排蔬菜货架提出了可行的建议。
  3. 行动计划:基于这些洞察分析,莎拉收到了一份详细计划,其中包括以下说明:
    • 打造色彩缤纷、引人注目的展示效果
    • 使用篮子或箱子,为陈列增添自然气息。
    • 添加主题展示,例如夏季烧烤或假日主题展示,吸引顾客关注相关产品。
    • 在不同种类的蔬菜之间留出空间,以便整理。
    • 改善照明。

总之my-retail-advisor Crew 由多个 AI 智能体组成,每个智能体都有独特的角色、目标和工具。这些智能体根据 config/tasks.yaml 中定义的任务序列进行协作, ,利用其集体技能来实现复杂的目标。配置文件config/agents.yaml 详细说明了您团队中每个智能体的能力与配置参数。

借助这样的人工智能驱动工具,中小型零售商能够优化决策流程。就像莎拉一样,您也可以通过易于使用、经济实惠且有效的技术,提升商店的业绩。 此架构还解锁了各个领域的其他 AI 机会,例如产品设计和增强型客户体验。它的灵活性使其价值超越了零售业,使企业能够创新并在特定行业的任务中脱颖而出。

相关解决方案
IBM AI 智能体开发

借助 IBM watsonx.ai 开发平台,让开发人员能够构建、部署和监控 AI 代理。

深入了解 watsonx.ai
IBM AI 智能体和助手

借助在业界首屈一指的全面功能,帮助企业构建、定制和管理 AI 智能体和助手,从而在提高生产力方面取得突破性进展。

深入了解 AI 智能体
IBM Granite

借助专为提高开发人员效率而设计的 Granite 小型开放式模型,可实现 90% 以上的成本节约。这些企业就绪型模型可根据安全基准提供卓越的性能,且适用于多种企业任务,包括网络安全、RAG 等。

深入了解 Granite
采取后续步骤

借助在业界首屈一指的全面功能,帮助企业构建、定制和管理 AI 智能体和助手,从而实现复杂工作流自动化并在提高生产力方面取得突破性进展。

深入了解 watsonx.ai 智能体开发 探索 watsonx Orchestrate