--- license: mit pipeline_tag: feature-extraction base_model: BAAI/bge-m3 base_model_relation: quantized tags: - onnx - sentence-transformers - feature-extraction --- # Model Card for philipp-zettl/BAAI-bge-m3-ONNX ONNX variant of [BAAI/bge-m3](https://huggingface.co/BAAI/bge-m3) ## Model Details Converted model using [spaces/onnx-community/convert-to-onnx](https://huggingface.co/spaces/onnx-community/convert-to-onnx). ## How to Get Started with the Model Use the code below to get started with the model. ```python from huggingface_hub import snapshot_download snapshot_download(repo_id="philipp-zettl/BAAI-bge-m3-ONNX") from optimum.onnxruntime import ORTModelForFeatureExtraction from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("philipp-zettl/BAAI-bge-m3-ONNX") model = ORTModelForFeatureExtraction.from_pretrained("philipp-zettl/BAAI-bge-m3-ONNX") ``` **Example: Similarity Search** ```python import torch import torch.nn.functional as F from sklearn.metrics.pairwise import cosine_similarity def mean_pooling(model_output, attention_mask): token_embeddings = model_output[0] input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float() return ( torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9) ) def embed(text): encoded_input = tokenizer([text], padding=True, truncation=True, max_length=512, return_tensors='pt') model_output = model(**encoded_input) sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask']) return F.normalize(sentence_embeddings, p=2, dim=1) # from https://en.wikipedia.org/wiki/Artificial_intelligence document_embedding = embed(''' Artificial intelligence (AI), in its broadest sense, is intelligence exhibited by machines, particularly computer systems. It is a field of research in computer science that develops and studies methods and software that enable machines to perceive their environment and use learning and intelligence to take actions that maximize their chances of achieving defined goals.[1] Such machines may be called AIs. ''') cosine_similarity( document_embedding, embed('A text about technology') ) ```