Instructions to use Tohirju/tajik-embedding-giga3b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use Tohirju/tajik-embedding-giga3b with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("Tohirju/tajik-embedding-giga3b", 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] - Notebooks
- Google Colab
- Kaggle
You need to agree to share your Hugging Face information to access this model
This repository is publicly accessible, but you have to accept the conditions to access its files and content.
To get access, please fill in the short form at https://saidzoda.com/access. We approve requests after we receive the form.
Log in or Sign Up to review the conditions and access this model content.
Tajik Embedding (Giga-3B)
How to get access: please fill in the short form at saidzoda.com/access. We approve requests after we receive the form.
A text-embedding model for Tajik retrieval — search, RAG and semantic similarity — built by Saidzoda AI Lab. It is ai-sage/Giga-Embeddings-instruct-3B-0826 adapted to Tajik with a LoRA fine-tune on Tajik question→passage pairs. To our knowledge it is the first embedding model trained specifically for Tajik retrieval.
- Best Tajik retrieval we have measured — well ahead of BGE-M3 and multilingual-E5 on every Tajik test below.
- Trained on Tajik only (plus Russian/English to preserve them). No loss on Russian and English; Uzbek, Kazakh and Kyrgyz were evaluated (see Belebele below) but not trained.
- Ready to use with
sentence-transformers; 2048-dimensional, cosine similarity.
Usage
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("Tohirju/tajik-embedding-giga3b", trust_remote_code=True)
queries = ["Меъёри андози арзиши иловашуда чанд фоиз аст?"]
documents = ["Моддаи 264. Меъёрҳои андози арзиши иловашуда ...", "Моддаи 225. Андози иҷтимоӣ ..."]
q = model.encode(queries, prompt_name="query") # queries use the built-in instruction prompt
d = model.encode(documents) # documents are encoded without a prompt
print(model.similarity(q, d))
Use prompt_name="query" for queries only; encode documents/passages as plain text. A GPU with bf16 is recommended
(model_kwargs={"torch_dtype": "bfloat16"}).
Results
Retrieval recall@10 (the correct passage among the top 10) on held-out test sets that were frozen before training.
| test set | BGE-M3 | multilingual-E5-large-instruct | Giga-3B (base) | this model |
|---|---|---|---|---|
| Tajik law search (72,920 law chunks) | 0.776 | 0.802 | 0.922 | 0.946 |
| Tajik tax-code search (23,282 chunks) | 0.789 | 0.826 | 0.899 | 0.963 |
| Tajik Wikipedia passages | 0.950 | 0.964 | 0.986 | 0.990 |
| Belebele, Tajik (tgk_Cyrl) | 0.838 | 0.922 | 0.971 | 0.978 |
Belebele (facebook/belebele, used as a retrieval task: question → its passage among 488) — an external benchmark that was never used for training. Uzbek, Kazakh and Kyrgyz are evaluated without any training data in those languages; their scores come from the base model's multilingual ability, not from our fine-tune:
| language | BGE-M3 recall@1 | this model recall@1 | BGE-M3 recall@10 | this model recall@10 |
|---|---|---|---|---|
| Tajik | 0.658 | 0.898 | 0.838 | 0.978 |
| Uzbek (Latin) | 0.850 | 0.910 | 0.963 | 0.990 |
| Kazakh | 0.846 | 0.892 | 0.959 | 0.982 |
| Kyrgyz | 0.851 | 0.878 | 0.960 | 0.973 |
| Russian | 0.906 | 0.930 | 0.989 | 0.993 |
| English | 0.916 | 0.948 | 0.990 | 0.992 |
Training
- Base:
ai-sage/Giga-Embeddings-instruct-3B-0826(Qwen3-based bidirectional encoder, MIT). - Method: LoRA (rank 32, alpha 64, all attention and MLP projections), learning rate 1e-4, 1 epoch, batch size 512, contrastive loss (cached multiple-negatives ranking, scale 20) with one mined hard negative per pair. bf16.
- Data: trained on Tajik only — 60,254 Tajik query→passage pairs — questions over Tajik laws, the tax code, Wikipedia and web text, plus short customer-service style questions. All questions are synthetic: written by a Tajik-trained LLM from the source passage and accepted only after an independent check by a second model. Plus 33,797 Russian/English pairs (public retrieval data) to preserve those languages. No Uzbek, Kazakh or Kyrgyz data was used.
- Held-out documents and all test questions were removed from training before it started.
The LoRA adapter alone is included in lora_adapter/ for anyone who prefers to apply it to the base model.
Limitations
- Test questions for law, tax and Wikipedia were written by the same kind of model as the training questions, so those scores are best read as upper bounds; Belebele (human-written, external) is the most neutral measure.
- The law test set holds out individual articles rather than whole laws; a law-level split is in preparation.
- 3B parameters: about 35 ms per query on an H100 GPU. For CPU or latency-critical use, a smaller model may fit better.
- Tajik in Cyrillic script only; Persian-script Tajik was not evaluated.
License
MIT, following the base model.
Citation
@misc{saidzoda2026tajikembedding,
title = {Tajik Embedding (Giga-3B): a retrieval embedder for Tajik},
author = {Saidzoda AI Lab},
year = {2026},
url = {https://huggingface.co/Tohirju/tajik-embedding-giga3b}
}
- Downloads last month
- 3
Model tree for Tohirju/tajik-embedding-giga3b
Base model
ai-sage/Giga-Embeddings-instruct-3B-0826