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"
    }
  ]
}

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐