如何在LangChain的FAISS向量库中获取文档的Embedding?
使用LangChain获取向量存储中文档的Embedding
我通过LangChain Python库构建向量存储,实现基于用户查询的相关文档检索,当前需要获取向量存储中doc1和doc2的Embedding,示例代码如下:
import pprint from langchain_community.vectorstores import FAISS from langchain_community.embeddings import HuggingFaceEmbeddings from langchain.docstore.document import Document model = "sentence-transformers/multi-qa-MiniLM-L6-cos-v1" embeddings = HuggingFaceEmbeddings(model_name = model) def main(): doc1 = Document(page_content="天空是蓝色的。", metadata={"document_id": "10"}) doc2 = Document(page_content="森林是绿色的。", metadata={"document_id": "62"}) docs = [] docs.append(doc1) docs.append(doc2) for doc in docs: doc.metadata['summary'] = '你好' pprint.pprint(docs) db = FAISS.from_documents(docs, embeddings) db.save_local("faiss_index") new_db = FAISS.load_local("faiss_index", embeddings) query = "天空是什么颜色的?" docs = new_db.similarity_search_with_score(query) print('检索到的文档:', docs) print('最相关文档的元数据:', docs[0][0].metadata) if __name__ == '__main__': main()
该代码基于Python 3.11测试,执行以下命令安装所需依赖包:
pip install langchain==0.1.1 langchain_openai==0.0.2.post1 sentence-transformers==2.2.2 langchain_community==0.0.13 faiss-cpu==1.7.4
内容的提问来源于stack exchange,提问作者Franck Dernoncourt
相关产品推荐
相关产品推荐

