You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用llama_index的VectorStoreIndex遇OpenAI密钥缺失异常,为何需该密钥?

解决LlamaIndex无需OpenAI API构建索引的问题

默认情况下LlamaIndex的VectorStoreIndex会调用OpenAI的Embedding模型生成文本向量,所以会要求你提供OpenAI的API密钥。如果不想用付费的OpenAI服务,可以切换到开源的本地Embedding模型,完全免费且不需要联网。

解决步骤:

  1. 安装依赖库
    先安装sentence-transformers,它提供了多种开源的Embedding模型:

    pip install sentence-transformers
    
  2. 修改代码使用本地Embedding模型
    替换默认的Embedding配置,使用开源模型构建索引:

    from llama_index import (
        SimpleDirectoryReader,
        VectorStoreIndex,
        ServiceContext
    )
    from llama_index.embeddings import SentenceTransformerEmbedding
    
    # 加载本地文档
    documents = SimpleDirectoryReader("docs").load_data()
    
    # 初始化开源Embedding模型(这里用all-MiniLM-L6-v2,轻量且效果不错)
    embed_model = SentenceTransformerEmbedding(model_name="all-MiniLM-L6-v2")
    service_context = ServiceContext.from_defaults(embed_model=embed_model)
    
    # 使用本地模型构建索引
    index = VectorStoreIndex.from_documents(documents, service_context=service_context)
    

这样修改后,代码就会使用本地的开源Embedding模型,不再依赖OpenAI的API,也就不会再要求你提供API密钥了。

内容的提问来源于stack exchange,提问作者mce

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 15:01:29