import os
import requests
import numpy as np
api_key = os.getenv("API_KEY") or "<YOUR API KEY>"
api_url = "https://api.siflow.cn/model-api/embeddings"
def embed(texts):
resp = requests.post(
api_url,
headers={"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"},
json={"model": "BAAI/bge-m3", "input": texts},
)
return [np.array(item["embedding"]) for item in resp.json()["data"]]
def cosine(a, b):
return float(a @ b / (np.linalg.norm(a) * np.linalg.norm(b)))
query, *docs = embed([
"How do I reset my password?",
"Steps to recover a forgotten account password.",
"Our refund policy for annual plans.",
])
for i, doc in enumerate(docs):
print(f"doc {i}: {cosine(query, doc):.3f}")