使用假设性文档嵌入(HyDE)改善文档索引
摘要
本文介绍了如何使用假设性文档嵌入(Hypothetical Document Embeddings,简称HyDE),这是根据一篇论文中描述的技术。HyDE 是一种嵌入技术,它接收查询,生成一个假设性的答案,然后嵌入该生成的文档,并将其作为最终示例使用。
代码及注释
from langchain.chains import HypotheticalDocumentEmbedder, LLMChain
from langchain.prompts import PromptTemplate
from langchain_openai import OpenAI, OpenAIEmbeddings
# 初始化基础嵌入模型
base_embeddings = OpenAIEmbeddings()
# 初始化语言模型
llm = OpenAI()
# 使用web_search提示加载HyDE
embeddings = HypotheticalDocumentEmbedder.from_llm(llm, base_embeddings, "web_search")
# 现在我们可以像使用任何嵌入类一样使用它
result