Feature Extraction
Transformers
Safetensors
scripture_genome_head
scripture
multilingual
information-retrieval
semantic-search
genome-regression
frozen-encoder
custom-head
custom_code
Instructions to use chainuser1/Scripture_Genome_Multilingual_Head_BGE_M3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use chainuser1/Scripture_Genome_Multilingual_Head_BGE_M3 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("feature-extraction", model="chainuser1/Scripture_Genome_Multilingual_Head_BGE_M3", trust_remote_code=True)# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("chainuser1/Scripture_Genome_Multilingual_Head_BGE_M3", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
Download modeling_scripture_genome.py from chainuser1/Scripture_Genome_Multilingual_Head_BGE_M3: direct link, hf CLI and curl.
- Browser
- Download file 1.61 kB
-
https://huggingface.co/chainuser1/Scripture_Genome_Multilingual_Head_BGE_M3/resolve/main/modeling_scripture_genome.py
- Command line
-
hf download hf://chainuser1/Scripture_Genome_Multilingual_Head_BGE_M3/modeling_scripture_genome.py
-
curl -L -o modeling_scripture_genome.py https://huggingface.co/chainuser1/Scripture_Genome_Multilingual_Head_BGE_M3/resolve/main/modeling_scripture_genome.py
1.61 kB
| """The 6.53M-parameter head; BGE-M3 is not embedded in these weights.""" | |
| from dataclasses import dataclass | |
| from typing import Optional | |
| import torch | |
| from torch import nn | |
| from transformers import PreTrainedModel | |
| from transformers.utils import ModelOutput | |
| from .configuration_scripture_genome import ScriptureGenomeConfig | |
| class ScriptureGenomeOutput(ModelOutput): | |
| genome: Optional[torch.Tensor] = None | |
| class ScriptureGenomeHeadModel(PreTrainedModel): | |
| config_class = ScriptureGenomeConfig | |
| base_model_prefix = "head" | |
| main_input_name = "embeddings" | |
| def __init__(self, config): | |
| super().__init__(config) | |
| self.head = nn.Sequential( | |
| nn.Linear(config.input_dim, config.hidden_dim), | |
| nn.GELU(), | |
| nn.Linear(config.hidden_dim, config.output_dim), | |
| nn.Sigmoid(), | |
| ) | |
| self.post_init() | |
| def forward(self, embeddings, return_dict=None): | |
| """Accept normalized BGE-M3 CLS embeddings [batch,1024], not token IDs.""" | |
| if embeddings.ndim != 2 or embeddings.shape[-1] != self.config.input_dim: | |
| raise ValueError("embeddings must have shape [batch, 1024]") | |
| if not embeddings.is_floating_point() or not torch.isfinite(embeddings).all(): | |
| raise ValueError("embeddings must be finite floating-point values") | |
| genome = self.head(embeddings) | |
| use_dict = self.config.use_return_dict if return_dict is None else return_dict | |
| return ScriptureGenomeOutput(genome=genome) if use_dict else (genome,) | |
| ScriptureGenomeHeadModel.register_for_auto_class("AutoModel") | |