如何在LangChain中为VectorstoreIndexCreator配置HuggingFace大模型?
替换自定义HuggingFace模型的VectorstoreIndexCreator配置
要让VectorstoreIndexCreator使用你指定的HuggingFaceHub模型,需要在创建实例时传入自定义的llm参数,同时注意替换默认的嵌入模型(默认依赖OpenAI Embeddings,若不想使用OpenAI服务需一并替换),具体操作如下:
- 导入额外所需模块:
from langchain.llms import HuggingFaceHub from langchain.embeddings import HuggingFaceEmbeddings
- 初始化自定义大模型与嵌入模型:
# 初始化你的HuggingFaceHub模型 llm = HuggingFaceHub(repo_id='decapoda-research/llama-7b-hf', huggingfacehub_api_token='XXXXX') # 初始化HuggingFace嵌入模型(替代默认的OpenAI Embeddings) embeddings = HuggingFaceEmbeddings()
若需要指定特定嵌入模型,可在
HuggingFaceEmbeddings中传入model_name参数,例如model_name="sentence-transformers/all-MiniLM-L6-v2"
- 修改索引生成逻辑,传入自定义模型参数:
from langchain.indexes import VectorstoreIndexCreator from langchain.document_loaders import DataFrameLoader loader = DataFrameLoader(dataframe, page_content_column="TRANSLATED_COMMENT") # 创建绑定自定义LLM和嵌入模型的索引生成器 index = VectorstoreIndexCreator( llm=llm, embedding=embeddings ).from_loaders([loader])
完成上述配置后,生成的index会使用你指定的HuggingFaceHub模型处理后续查询,且嵌入环节不再依赖OpenAI服务。
内容的提问来源于stack exchange,提问作者Lucas Azevedo
相关产品推荐
相关产品推荐

