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

OpenAI模块无Embed属性报错,求新版本代码适配及文本转向量方案

OpenAI Embedding代码变更及正确实现方案

你的报错确实是因为OpenAI Python SDK的版本更新导致API调用方式发生了变更,旧的Embed接口已经被移除,改用全新的实现方式。

关键变更点

  • 接口名称从openai.Embed.create改为openai.Embedding.create(注意首字母大写)
  • 参数engine替换为model,且必须使用OpenAI官方提供的专用embedding模型(如text-embedding-ada-002,这是目前推荐的默认模型)
  • 返回结果结构调整,需要从response['data'][0]['embedding']路径提取向量

正确的代码实现

import openai
openai.api_key = "YOUR_API_KEY"

text = "This is the text for which you want to create an embedding."

# 调用最新的embedding接口
response = openai.Embedding.create(
    model="text-embedding-ada-002",
    input=text
)
# 提取生成的向量
embedding = response['data'][0]['embedding']

额外注意事项

  • 先确保你的openai SDK是最新版本,执行pip install --upgrade openai完成更新
  • 不要用文本生成模型(比如text-davinci-002)来生成embedding,这类模型不支持该功能,会导致调用失败
  • 如果需要批量处理多个文本,只需将input参数改为字符串列表,接口会返回对应数量的embedding向量

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 16:52:01