其他
Jina 实例秀 —— 跨模态搜索
在搜索过程中,当我们输入文本时,首先计算该文本的向量表示。与索引过程不同,搜索过程中将对文本输入使用图片indexer,将文本向量与之前计算的图片向量索引进行比较,最终找到最符合文本描述的图像。类似的,也可以使用图像来搜索相对应的文本描述。
在了解了整体框架和运行原理后,让我们开始构建吧!
下载代码库(包括代码与数据集)并进入到相应文件夹:
git clone https://github.com/jina-ai/examples
cd examples/cross-modal-search
安装Jina和环境配置:
pip install -r requirements.txt
💡 Jina安装小提示:推荐在一个新的python虚拟环境中安装Jina
我们默认使用一个小型数据集用于索引,若想使用完整的数据集:
Step1:对Kaggle进行设置(具体方式可在“阅读原文”中查找)
Step2:运行以下脚本下载数据
运行下面代码对数据集建立索引:
若想要对下载好的完整数据建立索引,则运行下面的代码:
对于数量较大的索引,SimpleIndexer处理 速度非常慢。建议使用更高级的索引器,如FaissIndexer来建立大量数据索引
将启动一个Restful API等待搜索请求
向应用程序发送搜索请求:
curl --request POST -d '{"parameters":{"top_k": 5}, "data": ["a black dog and a spotted dog are fighting"]}' -H 'Content-Type: application/json' 'http://localhost:45678/search'
将返回JSON格式的输出,其中包含五个最相 关的图像
⭐️Jina实例秀系列教程将不断更新 ⭐️
⭐️敬请持续关注 ⭐️
👇 往期系列教程
Jina 实例秀 —— 维基百科句子搜索
Jina 轻松学 —— 用 Jina + Streamlit 极速搭建搜索应用
Jina 实例秀 —— 智能聊天机器人