Views
No views yet
python -m pip install -U sentence-transformers1from sentence_transformers import models, SentenceTransformer
2from sentence_transformers.util import cos_sim
3
4# 1. load model with `cls` pooling
5model = SentenceTransformer("mixedbread-ai/mxbai-embed-2d-large-v1")
6
7# 2. set adaptive layer and embedding size.
8# it is recommended to set layers from 20 to 24.
9new_num_layers = 22 # 1D: set layer size
10model[0].auto_model.encoder.layer = model[0].auto_model.encoder.layer[:new_num_layers]
11
12new_embedding_size = 768 # 2D: set embedding size
13
14# 3. encode
15embeddings = model.encode(
16 [
17 'Who is german and likes bread?',
18 'Everybody in Germany.'
19 ]
20)
21
22# Similarity of the first sentence with the other two
23similarities = cos_sim(embeddings[0, :new_embedding_size], embeddings[1, :new_embedding_size])
24
25print('similarities:', similarities)angle-emb for inference, as follows:python -m pip install -U angle-emb1from angle_emb import AnglE
2from sentence_transformers.util import cos_sim
3
4# 1. load model
5model = AnglE.from_pretrained("mixedbread-ai/mxbai-embed-2d-large-v1", pooling_strategy='cls').cuda()
6
7# 2. set adaptive layer and embedding size.
8# it is recommended to set layers from 20 to 24.
9layer_index = 22 # 1d: layer
10embedding_size = 768 # 2d: embedding size
11
12# 3. encode
13embeddings = model.encode([
14 'Who is german and likes bread?',
15 'Everybody in Germany.'
16], layer_index=layer_index, embedding_size=embedding_size)
17
18similarities = cos_sim(embeddings[0], embeddings[1:])
19print('similarities:', similarities)npm i @xenova/transformers1import { pipeline, cos_sim } from '@xenova/transformers';
2// Create a feature-extraction pipeline
3const extractor = await pipeline('feature-extraction', 'mixedbread-ai/mxbai-embed-2d-large-v1', {
4 quantized: false, // (Optional) remove this line to use the 8-bit quantized model
5});
6
7// Compute sentence embeddings (with `cls` pooling)
8const sentences = ['Who is german and likes bread?', 'Everybody in Germany.' ];
9const output = await extractor(sentences, { pooling: 'cls' });
10
11// Set embedding size and truncate embeddings
12const new_embedding_size = 768;
13const truncated = output.slice(null, [0, new_embedding_size]);
14
15// Compute cosine similarity
16console.log(cos_sim(truncated[0].data, truncated[1].data)); // 0.69795320214252041from mixedbread_ai.client import MixedbreadAI
2from sklearn.metrics.pairwise import cosine_similarity
3import os
4
5mxbai = MixedbreadAI(api_key="{MIXEDBREAD_API_KEY}")
6
7english_sentences = [
8 'What is the capital of Australia?',
9 'Canberra is the capital of Australia.'
10]
11
12res = mxbai.embeddings(
13 input=english_sentences,
14 model="mixedbread-ai/mxbai-embed-2d-large-v1",
15 dimensions=512,
16)
17embeddings = [entry.embedding for entry in res.data]
18
19similarities = cosine_similarity([embeddings[0]], [embeddings[1]])
20print(similarities)