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

使用AzureOpenAIEmbeddings报错:'str'对象无'create'属性

解决AzureOpenAIEmbeddings报错:'str' object has no attribute 'create'

错误原因

你在初始化AzureOpenAIEmbeddings时传入了client="azure"字符串参数,这并非该类的合法配置项,内部逻辑错误地将字符串当作客户端实例调用create方法,从而触发报错。同时,你缺少Azure OpenAI服务必需的端点和API版本配置。

修正方案

方案1:使用正确的AzureOpenAIEmbeddings配置

不需要传入client参数,补充Azure端点、API版本等必填项:

import openai
from langchain_community.document_loaders import PyMuPDFLoader
from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores.faiss import FAISS
from langchain_openai import AzureOpenAIEmbeddings

loader = PyMuPDFLoader("test.pdf")
pages = loader.load_and_split()

# 正确配置AzureOpenAIEmbeddings
embeddings_AZ = AzureOpenAIEmbeddings(
    openai_api_key=OPENAI_API_KEY,
    azure_endpoint="你的Azure OpenAI端点URL",  # 例如https://xxx.openai.azure.com/
    deployment=OPENAI_EMBEDDING_MODEL_NAME,  # 你的嵌入模型部署名
    openai_api_version="2023-05-15",  # 替换为你的API版本
    chunk_size=1
)

# 正常执行创建向量库
pdfDocSearch = FAISS.from_documents(pages, embedding=embeddings_AZ)

方案2:用OpenAIEmbeddings兼容Azure

如果要使用OpenAIEmbeddings类对接Azure服务,需设置openai_api_type="azure"而非client="azure",同时补充相关配置:

embeddings_AZ = OpenAIEmbeddings(
    openai_api_key=OPENAI_API_KEY,
    openai_api_type="azure",
    openai_api_base="你的Azure OpenAI端点URL",
    openai_api_version="2023-05-15",
    deployment=OPENAI_EMBEDDING_MODEL_NAME,
    chunk_size=1
)

关键注意点

  • AzureOpenAIEmbeddings类无需手动传入客户端实例,内部会自动创建适配Azure的客户端
  • 必须确保azure_endpoint、openai_api_version参数与你的Azure OpenAI服务配置一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 05:48:19