最近在做RAG项目,看了一些教程都说用向量数据库存embedding,但我一直没太搞懂这个“向量”到底对应的是什么内容。比如我有一份PDF文档,里面有文字也有图表,我现在是只把文字切块丢给embedding模型,然后存进Milvus,图片就完全没管。导致现在用户问“图里那个柱状图趋势是什么”,系统完全答不上来。
最近在做RAG项目,看了一些教程都说用向量数据库存embedding,但我一直没太搞懂这个“向量”到底对应的是什么内容。比如我有一份PDF文档,里面有文字也有图表,我现在是只把文字切块丢给embedding模型,然后存进Milvus,图片就完全没管。导致现在用户问“图里那个柱状图趋势是什么”,系统完全答不上来。
我现在是文字和图片分开处理,图片先用多模态模型生成一段描述性文字,再把这段文字embedding存进去,检索时命中描述就能间接回答图表问题。另外Milvus本身也支持多向量字段,可以把图片的CLIP向量和文本向量放同一个collection里做混合检索。不过关键还是得有个能读图的模型来接最后一棒,光靠向量库解决不了生成端理解图片的问题。
图片得单独走多模态embedding,不然文字向量根本检索不到图里的信息。