ollama embeddings 端点:/api/embed,而非/embeddings,输出的格式与OpenAI不兼容,下面给出兼容的方式。推荐模型: bge-m3
import json
# Ollama 嵌入数据
ollama_embeddings = {
"model": "all-minilm",
"embeddings": [
[
0.010071029, -0.0017594862, 0.05007221, 0.04692972, 0.054916814,
0.008599704, 0.105441414, -0.025878139, 0.12958129, 0.031952348
],
[
-0.0098027075, 0.06042469, 0.025257962, -0.006364387, 0.07272725,
0.017194884, 0.09032035, -0.051705178, 0.09951512, 0.09072481
]
]
}
# 转换为 OpenAI 嵌入输出格式
openai_embeddings = {
"data": [
{
"embedding": embedding,
"index": index,
"object": "embedding"
}
for index, embedding in enumerate(ollama_embeddings["embeddings"])
]
}
# 打印转换后的 JSON 格式
print(json.dumps(openai_embeddings, indent=2))
输出结果:
{
"data": [
{
"embedding": [
0.010071029,
-0.0017594862,
0.05007221,
0.04692972,
0.054916814,
0.008599704,
0.105441414,
-0.025878139,
0.12958129,
0.031952348
],
"index": 0,
"object": "embedding"
},
{
"embedding": [
-0.0098027075,
0.06042469,
0.025257962,
-0.006364387,
0.07272725,
0.017194884,
0.09032035,
-0.051705178,
0.09951512,
0.09072481
],
"index": 1,
"object": "embedding"
}
]
}