OpenAI Embeddings API: How to extract the embedding vector?
题意:“OpenAI 嵌入 API:如何提取嵌入向量?”
问题背景:
I use nearly the same code as here in this GitHub repo to get embeddings from OpenAI:
“我使用几乎与此 GitHub 仓库中的代码相同的代码,从 OpenAI 获取嵌入:”
oai = OpenAI(
# This is the default and can be omitted
api_key="sk-.....",
)def get_embedding(text_to_embed, openai):response = openai.embeddings.create(model= "text-embedding-ada-002",input=[text_to_embed])return responseembedding_raw = get_embedding(text,oai)
According to the GitHub repo, the vector should be in response['data'][0]['embedding']. But it isn't in my case.
根据 GitHub 仓库的说明,向量应该在 response['data'][0]['embedding'] 中。但在我的情况下并没有。
When I printed the response variable, I got this:
“当我打印 `response` 变量时,我得到了这个结果:”
print(embedding_raw)
Output: 输出信息:
CreateEmbeddingResponse(data=[Embedding(embedding=[0.009792150929570198, -0.01779201813042164, 0.011846082285046577, -0.0036859565880149603, -0.0013213189085945487, 0.00037509595858864486,..... -0.0121011883020401, -0.015751168131828308], index=0, object='embedding')], model='text-embedding-ada-002', object='list', usage=Usage(prompt_tokens=360, total_tokens=360))
How can I access the embedding vector?
“我该如何访问嵌入向量?”
问题解决:
Simply return just the embedding vector as follows:
“只需按如下方式返回嵌入向量即可:”
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 # Change thisembedding_raw = get_embedding(text,oai)

