类似的功能:淘宝拍照识别商品。图片相识度匹配
实现方式:其实很简单,用springai 将图片转换为向量数据,然后搜索就是先把需要搜索的图片转位向量再用向量数据去向量数据库搜索
但是springai现在不支持多模态嵌入数据库。做了一些小扩展
直接上代码:lancabbage/spring-ai-image-search
重写嵌入模型转向量方法
MutimodeDashScopeApi:重写嵌入模型
核心方法:
参考文档如何使用Multimodal-Embedding API_大模型服务平台百炼(Model Studio)-阿里云帮助中心
MutimodeDocument: 由于目前springai Document不支持多模态数据,源码中只取了content
MutimodelEmbeddingRequest:请求参数
MutimodeMilvusVectorStore:也是Document 只取content,MutimodeDocument重写了content方法所以这里只能调用另外一个方法
效果:
现在大模型的接入大大降低了,AI应用开发上的门槛。像自然语言对话、图片文档的理解总结、自然语言调用。这些看似简单的功能如果让我们这种普通的程序员想要开发出来简直太难了
现在有了大模型,这些都是最基础的功能。
而现在使用嵌入模型可以把私有数据转成向量数据,这个向量数据可以说是AI数据结构,你可以把你自己私有化的数据转成向量数据,像图片检索、文本相识度检索(这可就不是关键字匹配了)