Feature Extraction
sentence-transformers
Safetensors
Transformers
Russian
English
gigarembed
MTEB
custom_code
Instructions to use vasyz/Giga-Embeddings-instruct with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use vasyz/Giga-Embeddings-instruct with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("vasyz/Giga-Embeddings-instruct", trust_remote_code=True) sentences = [ "The weather is lovely today.", "It's so sunny outside!", "He drove to the stadium." ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [3, 3] - Transformers
How to use vasyz/Giga-Embeddings-instruct with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("feature-extraction", model="vasyz/Giga-Embeddings-instruct", trust_remote_code=True)# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("vasyz/Giga-Embeddings-instruct", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
Download model_artifacts/handler.py from vasyz/Giga-Embeddings-instruct: direct link, hf CLI and curl.
- Browser
- Download file 1.74 kB
-
https://huggingface.co/vasyz/Giga-Embeddings-instruct/resolve/main/model_artifacts/handler.py
- Command line
-
hf download hf://vasyz/Giga-Embeddings-instruct/model_artifacts/handler.py
-
curl -L -o handler.py https://huggingface.co/vasyz/Giga-Embeddings-instruct/resolve/main/model_artifacts/handler.py
1.74 kB
| from transformers import AutoModel, AutoTokenizer | |
| import torch | |
| class EndpointHandler: | |
| def __init__(self, model_dir="/opt/huggingface/model"): | |
| """ | |
| model_dir: путь к директории с моделью из artifact_uri | |
| """ | |
| self.device = 0 if torch.cuda.is_available() else -1 | |
| # Загрузка модели из локальной директории (GCS) | |
| self.tokenizer = AutoTokenizer.from_pretrained( | |
| model_dir, | |
| trust_remote_code=True | |
| ) | |
| self.model = AutoModel.from_pretrained( | |
| model_dir, | |
| trust_remote_code=True | |
| ) | |
| if self.device >= 0: | |
| self.model = self.model.cuda(self.device) | |
| self.model.eval() | |
| def __call__(self, data): | |
| """ | |
| data: словарь с ключом 'inputs' или список строк | |
| """ | |
| if isinstance(data, dict): | |
| inputs = data.get("inputs", data.get("input", "")) | |
| else: | |
| inputs = data | |
| # Токенизация | |
| encoded = self.tokenizer( | |
| inputs, | |
| padding=True, | |
| truncation=True, | |
| max_length=4096, | |
| return_tensors="pt" | |
| ) | |
| if self.device >= 0: | |
| encoded = {k: v.cuda(self.device) for k, v in encoded.items()} | |
| # Генерация эмбеддингов | |
| with torch.no_grad(): | |
| outputs = self.model(**encoded) | |
| # Используем [CLS] токен (первый токен) | |
| embeddings = outputs.last_hidden_state[:, 0].cpu().numpy() | |
| return {"embeddings": embeddings.tolist()} | |