如何从OpenAI Embeddings API响应中提取嵌入向量?
如何访问OpenAI嵌入向量?
你使用的是OpenAI的最新版Python SDK(v1及以上版本),这类SDK返回的是对象实例而非字典,因此不能通过response['data'][0]['embedding']这种字典索引的方式获取向量,需要通过对象属性来访问。
解决方案
直接通过属性链访问嵌入向量:
embedding_vector = embedding_raw.data[0].embedding
如果想让代码更简洁,可以修改get_embedding函数,直接返回目标向量:
oai = OpenAI( api_key="sk-.....", ) def get_embedding(text_to_embed, openai): response = openai.embeddings.create( model= "text-embedding-ada-002", input=[text_to_embed] ) # 直接返回嵌入向量 return response.data[0].embedding embedding_vector = get_embedding(text, oai)
验证时直接打印embedding_vector就能得到你需要的浮点数组。
内容的提问来源于stack exchange,提问作者user39063
相关产品推荐
相关产品推荐

