I use nearly the same code as here in this GitHub repo to get embeddings from 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 response
embedding_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.
When I printed the response variable, I got this:
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 this
embedding_raw = get_embedding(text,oai)