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

向Chroma向量库添加文档时遭遇认证错误求助

解决向Chroma向量库添加文档时的OpenAI认证错误

按照教程使用renumics-spotlight工具做RAG数据可视化,已通过%env OPENAI_API_KEY="sk-proj-*****"步骤设置OpenAI API密钥,但运行以下向Chroma向量库添加文档的代码时,持续出现认证错误:

import hashlib
import json
from langchain_core.documents import Document

def stable_hash(doc: Document) -> str:
    """
    Stable hash document based on its metadata.
    """
    return hashlib.sha1(json.dumps(doc.metadata, sort_keys=True).encode()).hexdigest()
    
split_ids = list(map(stable_hash, splits))
docs_vectorstore.add_documents(splits, ids=split_ids)
docs_vectorstore.persist()

错误信息翻译

认证错误:提供的API密钥无效。你可在OpenAI平台的API密钥页面获取有效密钥。请求返回401状态码,表明服务器无法识别你的身份凭证,验证失败。

解决方案

  • 修正API密钥设置方式:Jupyter中使用%env命令时,无需给密钥加引号,改为%env OPENAI_API_KEY=sk-proj-*****,避免引号被当作密钥的一部分导致验证失败。
  • 验证密钥有效性:登录OpenAI平台,确认该API密钥未被禁用、额度未耗尽,且拥有调用Embeddings模型的权限(Chroma生成向量依赖OpenAI Embeddings)。
  • 检查环境变量加载情况:在代码开头添加以下代码,确认环境变量已正确加载:
    import os
    print(os.getenv("OPENAI_API_KEY"))
    
    输出应与你设置的密钥完全一致,无截断、空格或多余字符。
  • 确认Embeddings模型配置:如果使用LangChain的OpenAIEmbeddings类,确保初始化时未手动传入错误密钥,该类默认会读取OPENAI_API_KEY环境变量,示例正确初始化代码:
    from langchain_openai import OpenAIEmbeddings
    embeddings = OpenAIEmbeddings()
    
  • 排查网络与代理问题:若在国内环境,需配置可访问OpenAI API的代理,在代码中添加代理环境变量:
    import os
    os.environ["HTTP_PROXY"] = "http://你的代理地址:端口"
    os.environ["HTTPS_PROXY"] = "http://你的代理地址:端口"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 19:47:16