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

使用LlamaIndex + Gemini时遭遇OpenAI嵌入模型API密钥错误

解决LlamaIndex使用Gemini时的OpenAI嵌入模型API密钥错误

问题原因

你已将LLM设置为Gemini,但LlamaIndex默认会加载OpenAI的嵌入模型,而你未配置OpenAI的API密钥,导致初始化失败。

解决方案

有两种可行方案:

方案1:使用Gemini嵌入模型(与已用LLM统一)

  1. 先安装Gemini嵌入模型依赖:
pip install llama-index-embeddings-google
  1. 修改代码,添加Gemini嵌入模型配置:
import os
GOOGLE_API_KEY = "abcd"  # 替换为你的GOOGLE API密钥
os.environ["GOOGLE_API_KEY"] = GOOGLE_API_KEY

from llama_index.core import SimpleDirectoryReader, VectorStoreIndex, Settings
from llama_index.llms.gemini import Gemini
from llama_index.embeddings.google import GeminiEmbedding

# 配置LLM和嵌入模型
Settings.llm = Gemini(model="models/gemini-pro")
Settings.embed_model = GeminiEmbedding(model_name="models/embedding-001")

documents = SimpleDirectoryReader("./data").load_data()
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine()

response = query_engine.query("which fruit is Green in color?")
print(response)

方案2:使用本地嵌入模型

如果不想依赖云服务,可改用本地嵌入模型:

  1. 安装依赖:
pip install llama-index-embeddings-huggingface
  1. 修改配置:
# 替换嵌入模型配置为本地模型
Settings.embed_model = "local"
# 或指定具体HuggingFace模型:
# Settings.embed_model = HuggingFaceEmbedding(model_name="BAAI/bge-small-en-v1.5")

原报错信息

Traceback (most recent call last):
File "/Users/navdeepparmar/opt/anaconda3/envs/dev/lib/python3.10/site-packages/llama_index/core/embeddings/utils.py", line 59, in resolve_embed_model
validate_openai_api_key(embed_model.api_key)
File "/Users/navdeepparmar/opt/anaconda3/envs/dev/lib/python3.10/site-packages/llama_index/embeddings/openai/utils.py", line 104, in validate_openai_api_key
raise ValueError(MISSING_API_KEY_ERROR_MESSAGE)
ValueError: No API key found for OpenAI.
Please set either the OPENAI_API_KEY environment variable or openai.api_key prior to initialization.
API keys can be found or created at https://platform.openai.com/account/api-keys

在处理上述异常时,又触发了另一个异常:

Traceback (most recent call last):
File "/Users/navdeepparmar/Documents/python/Llama/Llamaindex.py", line 22, in
index = VectorStoreIndex.from_documents(documents)
File "/Users/navdeepparmar/opt/anaconda3/envs/dev/lib/python3.10/site-packages/llama_index/core/indices/base.py", line 145, in from_documents
return cls(
File "/Users/navdeepparmar/opt/anaconda3/envs/dev/lib/python3.10/site-packages/llama_index/core/indices/vector_store/base.py", line 71, in init
else embed_model_from_settings_or_context(Settings, service_context)
File "/Users/navdeepparmar/opt/anaconda3/envs/dev/lib/python3.10/site-packages/llama_index/core/settings.py", line 274, in embed_model_from_settings_or_context
return settings.embed_model
File "/Users/navdeepparmar/opt/anaconda3/envs/dev/lib/python3.10/site-packages/llama_index/core/settings.py", line 67, in embed_model
self._embed_model = resolve_embed_model("default")
File "/Users/navdeepparmar/opt/anaconda3/envs/dev/lib/python3.10/site-packages/llama_index/core/embeddings/utils.py", line 66, in resolve_embed_model
raise ValueError(
ValueError:


无法加载OpenAI嵌入模型。若您打算使用OpenAI,请检查您的OPENAI_API_KEY。
原始错误:
未找到OpenAI的API密钥,请在初始化前设置OPENAI_API_KEY环境变量或openai.api_key。API密钥可在https://platform.openai.com/account/api-keys获取或创建。
考虑使用embed_model='local'。更多嵌入选项请查阅文档:https://docs.llamaindex.ai/en/stable/module_guides/models/embeddings.html#modules

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 14:03:22