Views
No views yet
1curl https://api.sionic.ai/v1/embedding \
2 -H "Content-Type: application/json" \
3 -d '{
4 "inputs": ["first query", "second query", "third query"]
5 }'1{
2 "embedding": [
3 [
4 0.1380517,
5 0.0749767,
6 -0.0600897,
7 0.6106221,
8 -0.3284067,
9 ...
10 ],
11 [
12 -0.0237823,
13 -0.103611,
14 -0.0491666,
15 0.671397,
16 -0.8827474,
17 ...
18 ],
19 [
20 0.0137392,
21 -0.1101281,
22 -0.2256125,
23 0.7899137,
24 -0.8847492,
25 ...
26 ]
27 ]
28}1from typing import List
2import numpy as np
3import requests
4
5def get_embedding(queries: List[str], url):
6 response = requests.post(url=url, json={'inputs': queries})
7 return np.asarray(response.json()['embedding'], dtype=np.float32)
8
9url = "https://api.sionic.ai/v1/embedding"
10inputs1 = ["first query", "second query"]
11inputs2 = ["third query", "fourth query"]
12embedding1 = get_embedding(inputs1, url=url)
13embedding2 = get_embedding(inputs2, url=url)
14cos_similarity = (embedding1 / np.linalg.norm(embedding1)) @ (embedding2 / np.linalg.norm(embedding1)).T
15print(cos_similarity)1from model_api import SionicEmbeddingModel
2import numpy as np
3
4inputs1 = ["first query", "second query"]
5inputs2 = ["third query", "fourth query"]
6model = SionicEmbeddingModel(url="https://api.sionic.ai/v1/embedding",
7 dimension=2048)
8embedding1 = model.encode(inputs1)
9embedding2 = model.encode(inputs2)
10cos_similarity = (embedding1 / np.linalg.norm(embedding1)) @ (embedding2 / np.linalg.norm(embedding1)).T
11print(cos_similarity)encode_queries(), you can use the instruction to encode queries which is prefixed to each query as the following example.
The recommended instruction for both v1 and v2 models is "query: ".1from model_api import SionicEmbeddingModel
2import numpy as np
3
4query = ["first query", "second query"]
5passage = ["This is a passage related to the first query", "This is a passage related to the second query"]
6model = SionicEmbeddingModel(url="https://api.sionic.ai/v1/embedding",
7 instruction="query: ",
8 dimension=2048)
9query_embedding = model.encode_queries(query)
10passage_embedding = model.encode_corpus(passage)
11cos_similarity = (query_embedding / np.linalg.norm(query_embedding)) @ (passage_embedding / np.linalg.norm(passage_embedding)).T
12print(cos_similarity)| Model Name | Dimension | Sequence Length | Average (56) |
|---|---|---|---|
| sionic-ai/sionic-ai-v2 | 3072 | 512 | 65.23 |
| sionic-ai/sionic-ai-v1 | 2048 | 512 | 64.92 |
| bge-large-en-v1.5 | 1024 | 512 | 64.23 |
| gte-large-en | 1024 | 512 | 63.13 |
| text-embedding-ada-002 | 1536 | 8191 | 60.99 |