在当今的人工智能领域,多模态模型如Claude和Gemini正变得越来越重要。这些模型能够处理和理解来自不同来源的数据,例如图像和文本。在本文中,将探讨如何使用这些模型在Roboflow Workflows中提取图像中的产品标签数据。
Roboflow Workflows是一个基于网络的计算机视觉应用构建器,它允许用户在几分钟内构建复杂的多步骤应用程序。这个平台已经集成了多种多模态模型,包括OpenAI的GPT-4o、微软的Florence-2、YOLO-World、Grounding DINO等。
将通过一个具体的示例来展示如何使用Claude进行结构化数据提取。首先,需要创建一个Roboflow账户,并在左侧边栏点击“Workflows”进入工作区。在这里,可以查看所有已创建的工作流,并点击“创建工作流”来开始构建新的应用。
在Roboflow Workflows编辑器中,可以添加一个与所需模型相对应的模块。以Claude为例,可以通过点击“添加模块”并搜索Claude来添加相应的模块。在配置面板中,可以为Claude设置不同的任务类型,包括直接传递提示、文本识别(OCR)、结构化输出生成、单标签和多标签分类、视觉问题回答、图像描述和无提示目标检测等。
在本指南中,将使用Claude进行结构化数据提取。为此,需要在“任务类型”下拉菜单中选择“结构化输出生成”。然后,可以定义一个JSON表示的标识符,这些标识符映射到描述。例如,可以在咖啡袋上搜索三个项目:名称、烘焙日期和产地。
{
"name": "咖啡名称",
"roast date": "烘焙日期",
"origin": "咖啡产地"
}
这些键是每个描述的标识符。描述被传递给模型,然后结果被映射回键。一旦设置了任务和输出,就可以添加Claude API密钥。配置好模块后,就可以运行工作流了。
工作流接受输入图像,将图像发送给Claude,然后返回结果。这个工作流可以定制以添加更多的逻辑。例如,可以运行一个目标检测模型,裁剪预测,然后将每个单独的预测发送给Claude。或者,可以运行一个人体检测模型,在将图像发送给Claude之前模糊图像中的所有人。
鼓励探索Workflows界面并尝试各种可用的模块。要测试工作流,请点击页面顶部的“运行预览”。要运行预览,首先将图像拖放到图像输入字段中。点击“运行预览”来运行工作流。工作流将运行并提供一个JSON视图,其中包含配置的工作流返回的所有数据。
让在这张图片上运行工作流:工作流返回了一个输出键,其中包含了系统的结果。这个键包含了一个字符串,该字符串以JSON格式表示图像的输出。结果如下:
[
{
"anthropic_claude": {
"output": "{\n \"name\": \"Union House Roast Original Blend\",\n \"roast date\": \"08/09/2020\",\n \"origin\": \"Asoproaaa cooperative, Colombia and Chirinos cooperative, Peru\"\n}",
"classes": null
}
}
]
Claude成功识别了咖啡的名称、烘焙日期和参与烘焙的合作社。话虽如此,可能想要调整输出,将产地和合作社分开,以便Claude只包含国家在产地键中。可以通过修改结构化输出配置来实现这一点。
工作流可以在Roboflow云中部署,也可以在边缘设备上部署,如NVIDIA Jetson或Raspberry Pi。要部署工作流,请点击工作流构建器中的“部署工作流”。然后,可以选择想要部署工作流的方式。要了解更多关于部署工作流的信息,请参考Roboflow Workflows部署文档。