clip-retrieval简介
clip-retrieval是一个用于轻松计算CLIP嵌入并构建检索系统的开源项目。它可以在20小时内使用3080 GPU处理1亿个文本+图像嵌入。该项目提供了多个组件:
- clip client:允许通过Python远程查询后端
- clip inference:快速计算图像和文本嵌入(在3080上可达1500样本/秒)
- clip index:使用嵌入构建高效索引
- clip filter:使用clip索引过滤数据
- clip back:使用简单的Flask服务托管索引
- clip front:一个简单的UI用于查询后端
通过这些组件,可以端到端地构建一个简单的语义搜索系统。
安装和使用
可以通过pip安装clip-retrieval:
pip install clip-retrieval
基本使用流程:
- 使用
clip-retrieval inference
计算嵌入 - 使用
clip-retrieval index
构建索引 - 使用
clip-retrieval back
启动后端服务 - 使用
clip-retrieval front
或访问在线演示进行查询
详细的使用说明请参考项目README。
学习资源
-
项目GitHub仓库 - 包含完整的文档和示例代码
-
入门Notebook - 介绍如何使用ClipClient进行查询
-
语义搜索介绍文章 - 了解相关背景知识
-
分布式推理教程 - 介绍如何在多个节点上运行
-
LAION-5B索引使用文档 - 如何使用预构建的大规模索引
-
项目Discord聊天室 - 与开发者和用户交流
高级功能
- 支持多语言搜索
- 提供安全模型过滤不适当内容
- 可集成美学评分
- 支持大规模分布式处理
- 提供监控和性能分析工具
clip-retrieval为构建大规模语义搜索系统提供了强大而灵活的工具。欢迎探索更多高级用法,为你的应用赋能!