RAG 实现包括三部分,文档向量化、相似度搜索和大模型回答,本文将使用 LangChain 进行 RAG 的实现。RAG 中最重要的是向量,向量模型的好坏直接反映到最终结果的好坏,如果不能搜索到相对准确的文档,RAG 就没有起到该有的效果。文章将分为两部分,首先是向量索引以及搜索,然后是与大语言模型的结合。
文档向量化
文档向量化是将文档转为向量,查询时将问题转化为向量,将问题向量与文档向量进行相似度比较,返回相似度较高的内容。比较三个Embedding 模型,分别为 Google 、Conan(腾讯)、JinaAI。
VertexAIEmbeddings
使用 VertexAI 模型,需要安装 Google Cloud 客户端,安装完成之后运行一下两条命令。
gcloud init
gcloud auth application-default login
使用 text-multilingual-embedding-002 多语言 Embedding 模型。https://cloud.google.c