Feature Extraction
sentence-transformers
Safetensors
Transformers
multilingual
qwen3
text-embeddings
alfotech
silas
rag
semantic-search
vector-search
Eval Results (legacy)
text-embeddings-inference
Instructions to use alfotech/silas-embedding-0.6b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use alfotech/silas-embedding-0.6b with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("alfotech/silas-embedding-0.6b") 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 alfotech/silas-embedding-0.6b with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("feature-extraction", model="alfotech/silas-embedding-0.6b")# Load model directly from transformers import AutoTokenizer, AutoModel tokenizer = AutoTokenizer.from_pretrained("alfotech/silas-embedding-0.6b") model = AutoModel.from_pretrained("alfotech/silas-embedding-0.6b", device_map="auto") - Notebooks
- Google Colab
- Kaggle
| license: apache-2.0 | |
| base_model: | |
| - Qwen/Qwen3-Embedding-0.6B | |
| pipeline_tag: feature-extraction | |
| library_name: sentence-transformers | |
| language: | |
| - multilingual | |
| tags: | |
| - text-embeddings | |
| - feature-extraction | |
| - sentence-transformers | |
| - transformers | |
| - multilingual | |
| - qwen3 | |
| - alfotech | |
| - silas | |
| - rag | |
| - semantic-search | |
| - vector-search | |
| model-index: | |
| - name: silas-embedding-0.6b | |
| results: | |
| - task: | |
| type: feature-extraction | |
| name: Embedding Model — Easy Benchmark | |
| metrics: | |
| - type: recall_at_1 | |
| value: 0.967 | |
| name: Recall@1 | |
| - type: recall_at_5 | |
| value: 0.999 | |
| name: Recall@5 | |
| - type: recall_at_10 | |
| value: 1.0 | |
| name: Recall@10 | |
| - type: mrr_at_10 | |
| value: 0.9815 | |
| name: MRR@10 | |
| - task: | |
| type: feature-extraction | |
| name: Embedding Model — Hard Benchmark | |
| metrics: | |
| - type: recall_at_1 | |
| value: 0.614 | |
| name: Recall@1 | |
| - type: recall_at_5 | |
| value: 0.883 | |
| name: Recall@5 | |
| - type: recall_at_10 | |
| value: 0.929 | |
| name: Recall@10 | |
| - type: mrr_at_10 | |
| value: 0.7268 | |
| name: MRR@10 | |
| <p align="center"> | |
| <img src="image.png" width="220"/> | |
| </p> | |
| <h1 align="center">Silas Embedding 0.6B</h1> | |
| <p align="center"> | |
| <b>Production-Grade Embedding Model by Alfo Tech Industries</b><br/> | |
| Multilingual · Long Context · Semantic Understanding · AI Infrastructure | |
| </p> | |
| <p align="center"> | |
| <a href="https://huggingface.co/alfotech/silas-embedding-0.6b"> | |
| <img src="https://img.shields.io/badge/🤗_Hugging_Face-Model-yellow" alt="Hugging Face"/> | |
| </a> | |
| <img src="https://img.shields.io/badge/Parameters-0.6B-6D5BFF" alt="Parameters"/> | |
| <img src="https://img.shields.io/badge/Context-32K-00E5FF" alt="Context"/> | |
| <img src="https://img.shields.io/badge/Embedding-1024D-8B5CF6" alt="Embedding Dimension"/> | |
| <img src="https://img.shields.io/badge/Languages-100%2B-22C55E" alt="Languages"/> | |
| <img src="https://img.shields.io/badge/License-Apache--2.0-2563EB" alt="License"/> | |
| <img src="https://img.shields.io/badge/Status-Active_Development-F59E0B" alt="Status"/> | |
| </p> | |
| <p align="center"> | |
| <a href="#quick-start">Quick Start</a> · | |
| <a href="#benchmark-dashboard">Benchmarks</a> · | |
| <a href="#production-deployment">Deployment</a> · | |
| <a href="#intended-use">Intended Use</a> · | |
| <a href="#faq">FAQ</a> · | |
| <a href="#citation">Citation</a> | |
| </p> | |
| --- | |
| ## Table of Contents | |
| - [Model Profile](#model-profile) | |
| - [Why Silas?](#why-silas) | |
| - [Embedding Capabilities](#embedding-capabilities) | |
| - [Benchmark Dashboard](#benchmark-dashboard) | |
| - [Easy Embedding Benchmark](#easy-embedding-benchmark) | |
| - [Hard Embedding Benchmark](#hard-embedding-benchmark) | |
| - [Benchmark Comparison](#benchmark-comparison) | |
| - [Semantic Analysis](#semantic-analysis) | |
| - [Development Architecture](#development-architecture) | |
| - [Quick Start](#quick-start) | |
| - [Usage Guide](#usage-guide) | |
| - [Query vs. Document Embeddings](#query-vs-document-embeddings) | |
| - [Variable Embedding Size (Matryoshka)](#variable-embedding-size-matryoshka) | |
| - [Batch Processing](#batch-processing) | |
| - [Production Deployment](#production-deployment) | |
| - [Recommended Production Config](#production-starting-point) | |
| - [Serving Options](#serving-options) | |
| - [Integration Architecture](#integration) | |
| - [Intended Use](#intended-use) | |
| - [Bias, Risks & Limitations](#bias-risks--limitations) | |
| - [Current Development Status](#current-development-status) | |
| - [Roadmap](#roadmap) | |
| - [Versioning](#versioning) | |
| - [FAQ](#faq) | |
| - [Reproducibility](#reproducibility) | |
| - [Citation](#citation) | |
| - [License](#license) | |
| - [Contact & Support](#contact--support) | |
| --- | |
| # Model Profile | |
| **Silas Embedding 0.6B** is a production-oriented multilingual embedding model developed by **Alfo Tech Industries**. | |
| Silas converts text into dense vector representations designed for semantic understanding, similarity measurement, knowledge systems, AI search, Retrieval-Augmented Generation, and vector databases. The model is based on **Qwen3-Embedding-0.6B** and follows an evaluation-first engineering workflow focused on difficult semantic matching scenarios rather than only easy, well-separated cases. | |
| | Property | Specification | | |
| | --------------------------- | ---------------------- | | |
| | **Model** | Silas Embedding 0.6B | | |
| | **Organization** | Alfo Tech Industries | | |
| | **Base Model** | Qwen3-Embedding-0.6B | | |
| | **Parameters** | 0.6B | | |
| | **Context Window** | 32K | | |
| | **Default Embedding Size** | 1024 dimensions | | |
| | **Supported Dimensions** | 32–1024 | | |
| | **Languages** | 100+ | | |
| | **Architecture Type** | Text Embedding | | |
| | **Instruction Aware** | Yes | | |
| | **Framework** | Sentence Transformers | | |
| | **License** | Apache-2.0 | | |
| --- | |
| # Why Silas? | |
| A useful embedding model should do more than place related sentences close together — it should help a downstream system distinguish the *correct* semantic match from close, plausible-looking alternatives. | |
| ```text | |
| Correct Semantic Meaning | |
| │ | |
| ▼ | |
| Silas Embedding | |
| │ | |
| ▼ | |
| Dense Vector Representation | |
| │ | |
| ┌──────┼────────┐ | |
| ▼ ▼ ▼ | |
| Search RAG Similarity | |
| ``` | |
| For this reason, Silas is evaluated on both a straightforward **Easy Benchmark** and a deliberately adversarial **Hard Benchmark** built from semantically similar candidates — the gap between the two is treated as the real signal of embedding quality, not the easy score alone. | |
| --- | |
| # Embedding Capabilities | |
| | Capability | Example | | |
| | ----------------------- | ------------------------------------------ | | |
| | **Semantic Search** | Find conceptually relevant documents | | |
| | **RAG** | Retrieve context for language models | | |
| | **Knowledge Bases** | Search enterprise documentation | | |
| | **FAQ Matching** | Match questions with answers | | |
| | **Similarity Systems** | Compare semantic meaning | | |
| | **Code Search** | Retrieve related programming content | | |
| | **Vector Databases** | Store and query dense vectors | | |
| | **Multilingual AI** | Represent text across supported languages | | |
| --- | |
| # Benchmark Dashboard | |
| ## Evaluation Overview | |
| | Benchmark | Corpus | Queries | Primary Purpose | | |
| | ------------------------------ | ------------------ | ------- | ----------------------------------- | | |
| | **Easy Embedding Benchmark** | Evaluation set | 1,000 | Standard semantic matching | | |
| | **Hard Embedding Benchmark** | 72,635 documents | 1,000 | Difficult semantic discrimination | | |
| The hard benchmark introduces semantically similar candidates, making it a more demanding test of embedding quality than corpus-level recall alone. | |
| ## Easy Embedding Benchmark | |
| | Metric | Score | | |
| | -------------- | ------- | | |
| | **Recall@1** | 96.70% | | |
| | **Recall@5** | 99.90% | | |
| | **Recall@10** | 100.00% | | |
| | **MRR@10** | 98.15% | | |
| **Interpretation:** The model performs strongly when the correct semantic match is relatively distinguishable from competing candidates — this reflects typical FAQ-matching and coarse retrieval workloads. | |
| ## Hard Embedding Benchmark | |
| ### Evaluation Setup | |
| | Parameter | Value | | |
| | --------------------------- | -------------------------------- | | |
| | **Corpus Size** | 72,635 documents | | |
| | **Evaluation Queries** | 1,000 | | |
| | **Candidate Environment** | Semantically similar documents | | |
| | **Primary Metric** | Recall@1 | | |
| | **Ranking Metric** | MRR@10 | | |
| ### Results | |
| | Metric | Score | | |
| | -------------- | ------ | | |
| | **Recall@1** | 61.40% | | |
| | **Recall@5** | 88.30% | | |
| | **Recall@10** | 92.90% | | |
| | **MRR@10** | 72.68% | | |
| This benchmark is intentionally more difficult because incorrect candidates can be semantically close to the correct document — the kind of near-miss confusion that matters most in production RAG pipelines. | |
| ## Benchmark Comparison | |
| | Metric | Easy | Hard | | |
| | -------------- | ------- | ------ | | |
| | **Recall@1** | 96.70% | 61.40% | | |
| | **Recall@5** | 99.90% | 88.30% | | |
| | **Recall@10** | 100.00% | 92.90% | | |
| | **MRR@10** | 98.15% | 72.68% | | |
| The gap between the two evaluations is a useful signal of how the model behaves once results get semantically crowded, rather than an artifact of an easy test set. | |
| ## Semantic Analysis | |
| A detailed failure analysis was run on the hard benchmark results: | |
| | Analysis | Result | | |
| | ------------------------------------- | ------- | | |
| | **Queries analyzed** | 1,000 | | |
| | **Semantic hard negatives** | 386 | | |
| | **Average positive similarity** | 0.6894 | | |
| | **Average top-negative similarity** | 0.6534 | | |
| | **Average separation margin** | 0.0360 | | |
| | **Potential noisy positives** | 0 | | |
| | **Potential duplicates** | 0 | | |
| **Key finding:** The average similarity margin between the positive document and the strongest negative candidate was only **0.0360**. This indicates the remaining challenge is primarily **fine-grained semantic separation**, not simply filtering out unrelated content — which directly informs the hard-negative mining plan in the [Roadmap](#roadmap). | |
| --- | |
| # Development Architecture | |
| Silas follows an evaluation-driven development process: | |
| ```text | |
| BASE MODEL | |
| │ | |
| ▼ | |
| ┌─────────────────┐ | |
| │ Baseline Test │ | |
| └────────┬────────┘ | |
| │ | |
| ▼ | |
| ┌─────────────────┐ | |
| │ Hard Benchmark │ | |
| └────────┬────────┘ | |
| │ | |
| ▼ | |
| ┌─────────────────┐ | |
| │ Failure Analysis│ | |
| └────────┬────────┘ | |
| │ | |
| ▼ | |
| ┌─────────────────┐ | |
| │ Hard Negatives │ | |
| └────────┬────────┘ | |
| │ | |
| ▼ | |
| ┌─────────────────┐ | |
| │ Fine-Tuning │ | |
| └────────┬────────┘ | |
| │ | |
| ▼ | |
| ┌─────────────────┐ | |
| │ Validation │ | |
| └────────┬────────┘ | |
| │ | |
| ▼ | |
| PRODUCTION MODEL | |
| ``` | |
| --- | |
| # Quick Start | |
| ## Install | |
| ```bash | |
| pip install -U sentence-transformers | |
| ``` | |
| ## Load the Model | |
| ```python | |
| from sentence_transformers import SentenceTransformer | |
| model = SentenceTransformer( | |
| "alfotech/silas-embedding-0.6b" | |
| ) | |
| ``` | |
| ## Generate Embeddings | |
| ```python | |
| texts = [ | |
| "Artificial intelligence improves information retrieval.", | |
| "Vector embeddings represent semantic relationships." | |
| ] | |
| embeddings = model.encode( | |
| texts, | |
| normalize_embeddings=True | |
| ) | |
| print(embeddings.shape) | |
| ``` | |
| --- | |
| # Usage Guide | |
| ## Query vs. Document Embeddings | |
| For retrieval-style workloads, query instructions can describe the intended task: | |
| ```text | |
| Instruct: Given a search query, retrieve relevant passages. | |
| Query: How do I optimize transformer inference? | |
| ``` | |
| ```python | |
| queries = [ | |
| "How do I optimize transformer inference?" | |
| ] | |
| documents = [ | |
| "Quantization, batching, and KV-cache optimization can reduce inference latency.", | |
| "The stock market closed higher after strong earnings reports." | |
| ] | |
| query_embeddings = model.encode( | |
| queries, | |
| prompt_name="query", | |
| normalize_embeddings=True | |
| ) | |
| document_embeddings = model.encode( | |
| documents, | |
| normalize_embeddings=True | |
| ) | |
| scores = model.similarity( | |
| query_embeddings, | |
| document_embeddings | |
| ) | |
| print(scores) | |
| ``` | |
| > Use `prompt_name="query"` for the search-query side of asymmetric retrieval and leave documents un-prefixed. For symmetric tasks (e.g. clustering, deduplication), encode both sides the same way. | |
| ## Variable Embedding Size (Matryoshka) | |
| Silas supports configurable embedding dimensions so storage and latency can be traded against representation capacity without re-encoding your corpus with a different model: | |
| ```python | |
| embeddings = model.encode( | |
| ["Efficient vectors reduce storage requirements."], | |
| normalize_embeddings=True, | |
| truncate_dim=256 | |
| ) | |
| ``` | |
| Supported range: **32 → 1024 dimensions**. | |
| Use larger representations when maximizing representation capacity is important (e.g. hard semantic discrimination), or smaller vectors when storage and throughput are the priority (e.g. large-scale first-pass retrieval). | |
| ## Batch Processing | |
| ```python | |
| embeddings = model.encode( | |
| large_text_list, | |
| batch_size=32, | |
| normalize_embeddings=True, | |
| show_progress_bar=True | |
| ) | |
| ``` | |
| For corpora in the millions of documents, encode in chunks and stream directly into your vector database's bulk-insert API rather than holding all vectors in memory at once. | |
| --- | |
| # Production Deployment | |
| ## Production Starting Point | |
| | Configuration | Recommended Value | | |
| | ------------------------- | ------------------ | | |
| | **Sequence Length** | 512 | | |
| | **Batch Size** | 32 | | |
| | **Normalization** | Enabled | | |
| | **Similarity Metric** | Cosine | | |
| | **Default Dimension** | 1024 | | |
| These are recommended starting points — production workloads should be benchmarked using representative data before locking in a configuration. | |
| ## Serving Options | |
| Silas is a standard `sentence-transformers`-compatible model, so it can be served with: | |
| - **Sentence Transformers**, directly in a Python service, for simplest integration and full control over batching. | |
| - **Hugging Face Text Embeddings Inference (TEI)** or similar dedicated embedding servers, for higher-throughput, lower-latency serving behind a REST/gRPC endpoint. | |
| - **ONNX / quantized export**, where CPU-only or edge deployment is required and GPU serving isn't available. | |
| Choice of serving stack should be validated against your own latency, throughput, and hardware constraints — figures above are configuration defaults, not deployment benchmarks. | |
| ## Integration | |
| ```text | |
| Application | |
| │ | |
| ▼ | |
| Silas Embedding | |
| │ | |
| ▼ | |
| Vector Database | |
| │ | |
| ┌───┼───────────────┐ | |
| ▼ ▼ ▼ | |
| FAISS Qdrant pgvector | |
| │ | |
| ▼ | |
| Nearest Neighbors | |
| │ | |
| ▼ | |
| AI Application | |
| ``` | |
| --- | |
| # Intended Use | |
| Silas is intended as the **representation layer** in semantic search, RAG, knowledge-base retrieval, and similarity-matching systems, primarily where: | |
| - Text needs to be compared or retrieved by meaning rather than exact keyword match. | |
| - A downstream ranking, generation, or filtering step consumes the retrieved candidates (Silas returns similarity, not a final answer). | |
| - Multilingual input is expected, or embedding size needs to be tuned per deployment tier. | |
| **Out of scope:** Silas does not verify factual correctness, does not perform classification or generation on its own, and should not be used as a sole safety or content-moderation filter — similarity scores reflect semantic closeness, not truth or safety. | |
| --- | |
| # Bias, Risks & Limitations | |
| Silas is currently evaluated primarily through embedding and semantic-matching experiments. Current limitations include: | |
| - External leaderboard evaluation has not been independently performed. | |
| - Long-context behavior has not been independently re-benchmarked across the entire 32K context window. | |
| - Performance may vary across domains not represented in the benchmark corpus. | |
| - Multilingual performance should be validated against the specific languages relevant to the target application — "100+ languages supported" reflects the base model's training, not per-language benchmarking by Alfo Tech Industries. | |
| - Similarity scores do not represent factual correctness, and retrieved-but-similar text can still be wrong, biased, or outdated relative to the query's intent. | |
| For high-stakes applications (legal, medical, financial, safety-critical), validate Silas using domain-specific evaluation datasets and appropriate system-level safeguards rather than relying on the benchmarks above alone. | |
| --- | |
| # Current Development Status | |
| | Component | Status | | |
| | ------------------------------------ | ---------- | | |
| | Base Model Integration | ✅ Complete | | |
| | Baseline Evaluation | ✅ Complete | | |
| | Easy Benchmark | ✅ Complete | | |
| | Hard Benchmark | ✅ Complete | | |
| | Failure Analysis | ✅ Complete | | |
| | Semantic Hard-Negative Discovery | ✅ Complete | | |
| | Retrieval Fine-Tuning | 🔄 Ongoing | | |
| | Extended Blind Evaluation | 🔄 Planned | | |
| | Production Optimization | 🔄 Planned | | |
| --- | |
| # Roadmap | |
| **Model Quality** | |
| - Larger curated datasets | |
| - Improved semantic hard-negative mining | |
| - Stronger domain adaptation | |
| - Broader multilingual evaluation | |
| **Benchmarking** | |
| - Blind evaluation sets | |
| - Additional embedding benchmarks | |
| - Expanded production-scale benchmarks | |
| - Cross-domain evaluation | |
| **Deployment** | |
| - Higher-throughput inference | |
| - Optimized vector dimensions | |
| - Serving infrastructure | |
| - Additional vector database integrations | |
| --- | |
| # Versioning | |
| | Version | Status | Notes | | |
| | ------- | ------- | -------------------------------------------------------- | | |
| | v1 | Current | Initial public release; baseline + hard-benchmark results above | | |
| Future releases that materially change benchmark numbers or the recommended production config will be tagged as new versions rather than silently overwriting these results. | |
| --- | |
| # FAQ | |
| **Which dimension should I use?** | |
| Start at the default 1024 for best hard-case separation. Drop to a smaller `truncate_dim` (e.g. 256–384) once you've confirmed accuracy holds on your own hard-negative style data — don't shrink dimensions before benchmarking on your corpus. | |
| **Do I need the `query` prompt for every use case?** | |
| Only for asymmetric retrieval (short query → long document). For symmetric comparison tasks (dedup, clustering, paraphrase matching), encode both sides without the query prompt. | |
| **Why is Recall@1 so much lower on the hard benchmark?** | |
| Because the hard benchmark's negatives are semantically close to the correct answer by design (see [Semantic Analysis](#semantic-analysis)) — this is expected and is the metric the roadmap's hard-negative mining work targets directly. | |
| **Is this model safe to use as a standalone fact-checker or filter?** | |
| No — see [Intended Use](#intended-use) and [Bias, Risks & Limitations](#bias-risks--limitations). | |
| --- | |
| # Reproducibility | |
| Silas follows an evaluation-first development methodology. The project tracks: | |
| - Model configuration | |
| - Dataset processing | |
| - Benchmark methodology | |
| - Failure analysis | |
| - Inference configuration | |
| - Production recommendations | |
| All benchmark values presented above are measured results from the current development evaluation. | |
| --- | |
| # Citation | |
| ## Silas Embedding | |
| ```bibtex | |
| @misc{silas_embedding_2026, | |
| title={Silas Embedding 0.6B}, | |
| author={Alfo Tech Industries}, | |
| year={2026}, | |
| publisher={Hugging Face}, | |
| url={https://huggingface.co/alfotech/silas-embedding-0.6b} | |
| } | |
| ``` | |
| ## Qwen3 Embedding | |
| ```bibtex | |
| @article{qwen3embedding, | |
| title={Qwen3 Embedding: Advancing Text Embedding and Reranking Through Foundation Models}, | |
| author={Zhang, Yanzhao and Li, Mingxin and Long, Dingkun and others}, | |
| journal={arXiv preprint arXiv:2506.05176}, | |
| year={2025} | |
| } | |
| ``` | |
| --- | |
| # License | |
| **Apache-2.0** | |
| Silas is based on Qwen3-Embedding-0.6B and follows the applicable licensing requirements of the upstream model. | |
| --- | |
| # Contact & Support | |
| - **Organization:** Alfo Tech Industries — [github.com/Alfo-Tech-Lab](https://github.com/Alfo-Tech-Lab) | |
| - **Issues & feedback:** open an issue on the model's Hugging Face repository discussion tab, or via the GitHub organization above. | |
| --- | |
| <p align="center"> | |
| <b>Silas Embedding 0.6B</b><br/> | |
| <b>Alfo Tech Industries</b><br/> | |
| <i>Production-grade embedding infrastructure for modern AI systems.</i> | |
| <br/><br/> | |
| <a href="https://huggingface.co/alfotech/silas-embedding-0.6b">Hugging Face</a> | |
| </p> |