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

调用OpenAI Embeddings API获取向量时遇undefined及迭代错误求助

问题解决:从OpenAI嵌入响应获取向量时出现undefined和迭代错误

你的问题出在访问响应数据的路径错误:OpenAI Node.js SDK(v4版本)的embeddings.create接口返回的响应中,嵌入结果数组直接存放在embeddingResponse.data里,你代码里多写了一层.data,导致访问到undefined,进而触发TypeError: undefined is not iterable错误。

修正后的代码

const documents = [
"Cooper codes is a youtuber with 5,300 subscribers",
"Cooper codes likes clam choder",
"Cooper codes has a video ",
"Cooper codes has a web site called coopercodes.com"
];

for(const document of documents) {
    const input = document.replace(/\n/g, '');

    const parameters= {
        model: 'text-embedding-ada-002',
        input
    }

    const embeddingResponse = await openai.embeddings.create(parameters);

    // 修正:去掉多余的.data层级
    const [{ embedding }] = embeddingResponse.data;

    console.log('Result:', embeddingResponse);

    await supabaseClient.from('documents').insert({
        content: document,
        embedding
    })
}

修改后,embedding就能正确获取到对应文本的向量数组,后续插入Supabase的逻辑也能正常执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 14:43:16