电子商务目录通常包含稀疏的产品数据、通用图像、基础标题和简短说明,这限制了产品的可发现性、用户参与度以及转化率。手动扩充难以规模化,因为它依赖目录管理员人工撰写描述、添加标签和进行分类,导致流程缓慢、结果不一致且容易出错。
本教程将向开发者、产品经理和目录团队展示如何部署由 AI 赋能的增强型 blueprint,将单张产品图片转化为丰富的本地化目录条目。
通过使用 NVIDIA Nemotron 大语言模型(LLM)和视觉语言模型(VLM)(包括 Nemotron-Nano-12B-V2-VL、Llama-3.3-Nemotron-Super-49B-V1、用于生成图像的 FLUX.1-Kontext-Dev 以及 TRELLIS Image-to-3D 模型),该系统能够自动生成详细的标题与描述、准确的类别、全面的标签、适配本地文化的差异化内容,以及定制化的交互式 3D 素材。
本教程涵盖完整的架构设计、VLM 分析与资产生成的 API 使用方法、基于 Docker 容器的部署策略,以及现实世界中的集成模式。最后,教程将演示如何实现目录扩充的大规模自动化,将“黑色钱包”等稀疏的产品数据转化为内容丰富的清单,例如“金色魅力黑色晚间手袋”,并附带详细描述、经过验证的类别、标签以及多种类型的素材。
预备知识
本教程假定具备中高级技术知识,涵盖 AI API 的使用、REST 服务的构建以及容器化应用的部署。熟悉所列技术将有助于理解并实施该系统:
- Python 3.11 或更高版本
- uv 包管理器(或 pip)
- 一个 NVIDIA API 密钥
- 用于访问 FLUX 模型的 HuggingFace 令牌
- Docker 和 Docker Compose
创建 AI 驱动的目录扩展 blueprint
为了解决手动目录扩充在可扩展性、一致性、可发现性及转换方面存在的问题,该 blueprint 被设计为一个端到端的目录转换工作流。通过采用模块化的专用模型系统,并结合Docker容器化技术,由 NVIDIA NIM 提供服务,实现企业级性能。
以下是核心技术堆栈:
- NVIDIA Nemotron VLM (nemotron-nano-12b-v2-vl): 分析产品图片以提取特征、类别和上下文信息。
- NVIDIA Nemotron LLM (llama-3_3 -nemotron-super-49b-v1_5): 作为“大脑”生成丰富的本地化文本(标题、描述),并规划具备文化感知能力的提示词以生成图像。
- Black Forest Labs FLUX.1-Kontext-dev: 生成高质量的 2D 图像变体。
- Microsoft TRELLIS Image-to-3D: 将 2D 产品图片转换为可交互的 3D 模型。
此解决方案关键的部分在于其模块化的三级 API。一个常见的错误是构建一个执行所有任务的缓慢、单一的 API 调用。
- 第 1 阶段:快速 VLM 分析 ( POST/ VLM/analyze)
- 工作:接收图像、区域设置、现有产品数据以及可选的品牌说明。
- 输出:生成结构丰富的 JSON,包含优化后的标题与描述、经验证的类别、综合标签,以及针对目标区域定制的属性信息。
- 第 2 阶段:图像生成 ( POST/ 生成/ 变异)
- 工作:接收第 1 阶段的输出结果,包括标题、描述、标签及原始图像。
- 输出:生成符合当地文化特征的全新 2D 图像变体。
- 第 3 阶段:3D 素材生成 ( POST/generate/ 3d)
- 工作:接收原始 2D 图像。
- 输出:生成交互式 3D .glb 模型。
前端可调用 /vlm/analyze 接口,获取向用户展示的即时结果,随后提供“生成 3D 模型”或“创建营销素材”按钮,以触发异步后端任务。
构建扩充工作流
在本节中,后端在本地运行,通过端到端调用扩充 API。上传产品图片以生成丰富的本地化元数据,创建具有高评分质量的图像变体,并生成 3D 素材。接下来将介绍三个阶段的 API 方法。
第 1 步:设置本地后端
首先,运行本地机器上的 FastAPI 后端服务器,以测试 API 端点。
克隆资源库:
git clone https://github.com/NVIDIA-AI-Blueprints/Retail-Catalog-Enrichment.git
cd Retail-Catalog-Enrichment
创建。根目录中包含 API 密钥的 env 文件:
NGC_API_KEY=your_nvidia_api_key_here
HF_TOKEN=your_huggingface_token_here
使用 uv (或 pip) 设置 Python 环境:
* 创建并激活虚拟环境
# Create and activate virtual environment
uv venv .venv
source .venv/bin/activate
# Install dependencies
uv pip install -e .
使用 Uvicorn 运行 FastAPI 服务器:
uvicorn --app-dir src backend.main:app --host 0.0.0.0 --port 8000 --reload
该 API 现已在 http://localhost:8000 上线,可通过访问 http://localhost:8000/health 查看其运行状况。
第 2 步:可视化分析
随着服务器的运行,即可启用 Core/vlm/analyze端点。该端点是系统的核心功能,专为提供即时、同步的反馈而设计。
对产品图片执行基本分析。此命令将发送产品图像 (bag.jpg) 并指定区域设置为 en-US。
curl -X POST \
-F "image=@bag.jpg;type=image/jpeg" \
-F "locale=en-US" \
http://localhost:8000/vlm/analyze
查看 JSON 响应。短短几秒内,即可返回结构丰富的 JSON 对象。这是“前后”转换:
{
"title": "Glamorous Black Evening Handbag with Gold Accents",
"description": "This exquisite handbag exudes sophistication and elegance. Crafted from high-quality, glossy leather...",
"categories": ["accessories"],
"tags": ["black leather", "gold accents", "evening bag", "rectangular shape"],
"colors": ["black", "gold"],
"locale": "en-US"
}
第 3 步:通过定位与品牌语调强化数据
API 的真正强大之处在于其增强功能。通过提供现有产品的数据和新的语言环境,可针对新区域实现内容本地化。此示例面向西班牙市场 (es-ES),系统足够智能,能够运用区域术语对稀疏数据进行增强。
curl -X POST \
-F "image=@bag.jpg;type=image/jpeg" \
-F 'product_data={"title":"Black Purse","description":"Elegant bag"}' \
-F "locale=es-ES" \
http://localhost:8000/vlm/analyze
使用 brand_instructions 参数应用自定义品牌语音。品牌具有独特性,因此内容也应体现个性。该参数将为 AI 的语气、语调及内容分类提供明确指引。
curl -X POST \
-F "image=@product.jpg;type=image/jpeg" \
-F 'product_data={"title":"Beauty Product","description":"Nice cream"}' \
-F "locale=en-US" \
-F 'brand_instructions=You work at a premium beauty retailer. Use a playful, empowering, and inclusive brand voice. Focus on self-expression and beauty discovery. Use terms like "beauty lovers", "glow", "radiant", and "treat yourself".' \
http://localhost:8000/vlm/analyze
AI 将生成准确且符合品牌形象的描述。
第 4 步:生成文化图像变体
现在,已生成丰富的本地化文本,/generate/variation 端点可用于创建相匹配的 2D 营销素材。
传入第 2 步的结果以生成新图像。此端点使用本地化文本作为基于 FLUX 模型生成新图像的规划。
curl -X POST \
-F "image=@bag.jpg;type=image/jpeg" \
-F "locale=en-US" \
-F "title=Glamorous Black Evening Handbag with Gold Accents" \
-F "description=This exquisite handbag exudes sophistication..." \
-F 'categories=["accessories"]' \
-F 'tags=["black leather","gold accents","evening bag"]' \
-F 'colors=["black","gold"]' \
http://localhost:8000/generate/variation
此调用将返回包含生成的_ image_b64 字符串的 JSON。若使用 ES – ES 区域设置,模型会生成更符合该市场偏好的背景,例如地中海式院落,而非现代化工作室。
查看 JSON 响应:
{
"generated_image_b64": "iVBORw0KGgoAAAANS...",
"artifact_id": "a4511bbed05242078f9e3f7ead3b2247",
"image_path": "data/outputs/a4511bbed05242078f9e3f7ead3b2247.png",
"metadata_path": "data/outputs/a4511bbed05242078f9e3f7ead3b2247.json",
"locale": "en-US"
}
第 5 步:利用 NVIDIA Nemotron VLM 实现自动化质量控制
生成式 AI 功能强大,却可能产生幻觉。在企业目录中,“Black Handbag”不会突然出现蓝色表带或手柄缺失的情况。为应对此问题,我们引入了代理反射循环。
无需依赖人工评审,可部署由 NVIDIA Nemotron VLM 提供支持的 质量保证代理。该模块充当严格的评审者,执行“反思”步骤,将生成的变体与原始产品图像进行对比,以确保高度保真。
在 API 响应之前,此智能体会依据原始产品照片,从五个严格维度对生成的图像进行分析:
- 产品一致性:颜色、材质与纹理是否与原始内容相符?
- 结构保真度:是否完整保留了把手、拉链及口袋等关键细节?
- 大小与比例:在新环境中,产品的尺寸呈现是否自然合理?
- 解剖准确性:若包含人物模型,手部与手指的渲染是否准确无误?
- 背景质量:光照效果与场景氛围是否真实可信?
“VLM Judge”输出:API 将返回生成的素材及详细的质量报告,其中包含质量评分与具体问题列表。
{
"generated_image_b64": "iVBORw0KGgoAAAANSUhEUgA...",
"artifact_id": "027c08866d90450399f6bf9980ab7...",
"image_path": "/path/to/outputs/027c08866d90450399f6bf9980ab73...png",
"metadata_path": "/path/to/outputs/027c08866d90450399f6bf9980ab73...json",
"quality_score": 72.5,
"quality_issues": [
"Product appears slightly oversized relative to background context",
"Minor texture inconsistency on handle hardware"
],
"locale": "en-US"
}
此功能提供自动化所需的关键元数据。软件集成商可扩展此功能,构建自校正流程,使系统通过调整提示自动重试生成,直至 VLM 评委给出及格分数(例如 > 85)。
第 6 步:创建交互式 3D 素材
通过使用 /generate/3d 端点的 3D 模型,使产品栩栩如生。
请求基于原始 2D 图像生成 3D 模型。这是一个仅需提供图像的简单调用。
curl -X POST \
-F "image=@bag.jpg;type=image/jpeg" \
http://localhost:8000/generate/3d \
--output product.glb
只需几秒钟,即可生成 product.glb 文件。该文件可直接拖入任何基于 Web 的 3D 查看器中,方便客户从各个角度查看产品。
请求 JSON 响应(可选)。对于 Web 客户端,处理 JSON 响应通常更为便捷。如需使用,请设置 return_json = true.
curl -X POST \
-F "image=@bag.jpg;type=image/jpeg" \
-F "return_json=true" \
http://localhost:8000/generate/3d
查看 JSON 响应: 该响应将以 base64 字符串形式返回 3D 模型及相关的元数据。
{
"glb_base64": "Z2xURgIAAA...A=",
"artifact_id": "c724a1b8e1f54a6b8d2c9a7e6f3d1b9f",
"metadata": {
"slat_cfg_scale": 5.0,
"ss_cfg_scale": 10.0,
"slat_sampling_steps": 50,
"ss_sampling_steps": 50,
"seed": 0,
"size_bytes": 1234567
}
}
第 7 步:进入生产环境(Docker 与故障排除)
以下是一些用于调试并过渡到完整生产级部署的常用技巧。
- 使用 Docker 运行完整堆栈。在本示例中,后端在本地运行;但完整项目专为 Docker 设计。docker-compose.yml 文件将启动前端、后端以及通过 NVIDIA NIM(NVIDIA 模型接口)提供服务的所有 AI 模型。
- 查看 GPU 可用性。如果模型运行失败,应首先检查 nvidia-smi,以确认 Docker 是否能够识别 GPU。
- 检查服务日志。调试的有效方法是跟踪特定服务的日志:docker-compose logs -f backend
可扩展性和未来功能
扩展此 blueprint 的目标是自主提升商务就-ready型资产和元数据的广度与质量。项目路线图包含多个可构建的扩展模块:
- 代理式社交媒体研究: 本计划功能引入了专门的社交媒体研究智能体,作为代理式工作流的一环,由自主智能体负责处理复杂任务。该智能体依托 NVIDIA Nemotron 等推理模型,并通过社交媒体 API 或 MCP 进行工具调用,能够分析现实世界中的使用模式、情感倾向及热门术语,进而将这些洞察输入至 /vlm/analyze 步骤,确保产品描述持续保持丰富、相关且紧跟趋势。
- 短视频生成:下一步是添加另一个生成端点,用于创建时长 3-5 秒的产品视频片段。借助开源模型,可直接从 2D 图像生成简短视频,无需复杂的实拍流程,即可制作由 AI 生成的动态生活场景片段或产品旋转效果。
此基础专为扩展而设计。您可以参照添加新的专用微服务的模式,为虚拟试用、自动广告生成或动态定价模型等场景添加相应模块。
总结
我们已成功构建由 AI 驱动的高效工作流,解决了稀疏目录问题。实现这一系统的关键要点在于:
- 采用模块化:生产就绪型系统必须将快速分析与缓慢生成分离开来,这不仅能提供响应灵敏的用户界面,还可灵活地将素材生成作为按需或后台任务处理。
- 本地化是关键:真正丰富内容的不仅仅是翻译,更是文化适应。通过将区域设置作为核心参数,系统能够生成与全球受众产生共鸣的文本和图像。
- 品牌语音是一项功能:brand_instructions 参数是一项颠覆性功能,它可将大语言模型从通用生成器转变为真正可扩展的品牌助手。
资源
准备好自行构建了吗?深入探索项目文档:
- API 文档: 全面了解所有端点、参数及使用示例。
- Docker 部署指南: 掌握如何通过 NVIDIA NIM 容器部署完整堆栈。
- NVIDIA 构建: 获取 API 密钥并探索更多模型。
详细了解零售目录扩展 Blueprint。