Voxel51开源VoxelGPT:基于GPT-3.5的计算机视觉数据集查询AI助手
Voxel51最近开源了VoxelGPT,这是一个基于GPT-3.5的AI助手,能够生成用于查询计算机视觉数据集的Python代码。VoxelGPT是Voxel51的开源工具FiftyOne的插件,提供了一个自然语言界面,用户可以通过提问生成Python代码,利用FiftyOne进行数据查询。VoxelGPT使用LangChain和提示工程与GPT-3.5交互,并输出Python代码。
数据科学与计算机视觉数据集的挑战
在数据科学项目中,数据探索和可视化是关键步骤,但许多技术适用于结构化或表格数据。计算机视觉数据集通常是非结构化的,如图像或点云。FiftyOne为探索和整理计算机视觉数据集提供了查询语言,但对于普通用户来说,快速可靠地使用这些工具可能具有挑战性。
VoxelGPT的开发经验与建议
Voxel51的联合创始人兼首席科学官Jason Corso分享了开发VoxelGPT的经验和见解。他提到,期望与LLM(大型语言模型)的一次交互就能充分解决任务是不现实的。建议开发者将交互分段,每次提供足够的上下文,生成有用的部分结果,然后根据最终任务将它们组合在一起。
其他建议包括:
- 从简单开始,逐步增加复杂性。
- LangChain是一个强大的库,但有时需要自定义工具来满足特定需求。
测试VoxelGPT的挑战与策略
测试基于LLM的应用程序具有挑战性,因为LLM不如传统软件组件那样可预测。Voxel51通过单元测试框架,创建了60个测试案例,覆盖了预期查询的类型。每次对代码或示例集进行重大更改时,都会运行这些测试以防止回归。
AI安全问题与解决方案
AI安全是构建这些系统时需要考虑的关键因素。VoxelGPT通过以下方式解决潜在的安全问题:
- 输入验证:通过OpenAI的审核端点确保所有查询符合其服务条款,并运行自定义的“意图分类”例程验证查询的有效性。
- 偏差缓解:通过利用用户数据集的上下文背景,减少LLM训练数据中的偏差。
- 程序限制:限制VoxelGPT对数据的永久移动、写入或删除功能的访问,并防止其执行计算密集型操作。
开发VoxelGPT的意外发现
开发VoxelGPT的过程中,最令人惊讶的是LLM在特定上下文中的泛化能力。尽管FiftyOne的领域特定语言(DSL)需要时间掌握,但通过有限的上下文,LLM能够生成可执行的Python代码,实现了对数据集的语义切片。
资源与演示
VoxelGPT的源代码已在GitHub上开源,用户还可以在FiftyOne网站上体验在线演示。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。