Sentence Similarity
sentence-transformers
Safetensors
PyTorch
English
qwen3_vl
embeddings
retrieval
semantic-search
multimodal
image-text-retrieval
document-retrieval
Instructions to use Ill-Ness/Silas-Embedding with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use Ill-Ness/Silas-Embedding with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("Ill-Ness/Silas-Embedding") sentences = [ "That is a happy person", "That is a happy dog", "That is a very happy person", "Today is a sunny day" ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [4, 4] - Notebooks
- Google Colab
- Kaggle
Update README.md
Browse files
README.md
CHANGED
|
@@ -2,21 +2,189 @@
|
|
| 2 |
license: apache-2.0
|
| 3 |
language:
|
| 4 |
- en
|
| 5 |
-
base_model:
|
| 6 |
-
- Qwen/Qwen3-VL-Embedding-2B
|
| 7 |
pipeline_tag: sentence-similarity
|
| 8 |
library_name: sentence-transformers
|
| 9 |
tags:
|
| 10 |
-
-
|
|
|
|
|
|
|
| 11 |
- multimodal
|
| 12 |
-
- image-retrieval
|
| 13 |
-
-
|
|
|
|
|
|
|
| 14 |
---
|
| 15 |
|
| 16 |
-
# Silas-Embedding
|
| 17 |
|
| 18 |
-
|
| 19 |
-
It is trained for text retrieval and multimodal image/text retrieval experiments.
|
| 20 |
|
| 21 |
-
|
| 22 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
license: apache-2.0
|
| 3 |
language:
|
| 4 |
- en
|
|
|
|
|
|
|
| 5 |
pipeline_tag: sentence-similarity
|
| 6 |
library_name: sentence-transformers
|
| 7 |
tags:
|
| 8 |
+
- embeddings
|
| 9 |
+
- retrieval
|
| 10 |
+
- semantic-search
|
| 11 |
- multimodal
|
| 12 |
+
- image-text-retrieval
|
| 13 |
+
- document-retrieval
|
| 14 |
+
- sentence-transformers
|
| 15 |
+
- pytorch
|
| 16 |
---
|
| 17 |
|
| 18 |
+
# **Silas-Embedding**
|
| 19 |
|
| 20 |
+
## **Model Description**
|
|
|
|
| 21 |
|
| 22 |
+
**Silas-Embedding** is an embedding model from **Convence Lab** for semantic search, retrieval, reranking pipelines, and multimodal embedding experiments.
|
| 23 |
+
|
| 24 |
+
The model is designed to embed queries and documents into a shared vector space for fast retrieval. It can be used for document search, question-to-passage matching, image-text retrieval experiments, and retrieval-augmented generation pipelines.
|
| 25 |
+
|
| 26 |
+
* **Developed by:** Convence Lab
|
| 27 |
+
* **Model name:** Silas-Embedding
|
| 28 |
+
* **Model type:** Embedding model
|
| 29 |
+
* **Primary task:** Text and multimodal retrieval
|
| 30 |
+
* **License:** Apache 2.0
|
| 31 |
+
|
| 32 |
+
---
|
| 33 |
+
|
| 34 |
+
## **Core Capabilities**
|
| 35 |
+
|
| 36 |
+
Silas-Embedding focuses on practical retrieval behavior:
|
| 37 |
+
|
| 38 |
+
* **Semantic Search** - Match natural-language queries to relevant passages or documents.
|
| 39 |
+
* **Document Retrieval** - Retrieve policy notes, memos, document chunks, and structured text.
|
| 40 |
+
* **RAG Pipelines** - Use embeddings as the retrieval layer before generation.
|
| 41 |
+
* **Similarity Scoring** - Compare query/document or sentence-pair similarity.
|
| 42 |
+
* **Multimodal Retrieval Experiments** - Supports image-text style embedding workflows when used with compatible tooling.
|
| 43 |
+
|
| 44 |
+
---
|
| 45 |
+
|
| 46 |
+
## **Benchmark Results**
|
| 47 |
+
|
| 48 |
+
### **ParseEmbed**
|
| 49 |
+
|
| 50 |
+
ParseEmbed is an internal Convence retrieval benchmark candidate. These results are provided as an early, unverified benchmark score while the benchmark is still being prepared for broader validation.
|
| 51 |
+
|
| 52 |
+
| Benchmark | Split | Queries | Corpus | Recall@1 | Recall@5 | Recall@10 | MRR@10 | NDCG@10 |
|
| 53 |
+
| :---- | :---- | ----: | ----: | ----: | ----: | ----: | ----: | ----: |
|
| 54 |
+
| ParseEmbed | test | 720 | 2,880 | **51.67%** | **98.06%** | **99.86%** | **72.71%** | **79.61%** |
|
| 55 |
+
|
| 56 |
+
Evaluation settings:
|
| 57 |
+
|
| 58 |
+
* Dataset: `Convence/ParseEmbed`
|
| 59 |
+
* Query config: `queries`
|
| 60 |
+
* Corpus config: `corpus`
|
| 61 |
+
* Qrels config: `default`
|
| 62 |
+
* Max sequence length: `512`
|
| 63 |
+
* Batch size: `32`
|
| 64 |
+
* Evaluation date: 2026-05-21
|
| 65 |
+
|
| 66 |
+
---
|
| 67 |
+
|
| 68 |
+
## **Getting Started**
|
| 69 |
+
|
| 70 |
+
Install dependencies:
|
| 71 |
+
|
| 72 |
+
```bash
|
| 73 |
+
pip install -U sentence-transformers torch torchvision transformers
|
| 74 |
+
```
|
| 75 |
+
|
| 76 |
+
Load the model:
|
| 77 |
+
|
| 78 |
+
```python
|
| 79 |
+
from sentence_transformers import SentenceTransformer
|
| 80 |
+
|
| 81 |
+
model = SentenceTransformer("Convence/Silas-Embedding", trust_remote_code=True)
|
| 82 |
+
|
| 83 |
+
queries = [
|
| 84 |
+
"Find the memo where payment hold is capped at 96 hours during Q1.",
|
| 85 |
+
]
|
| 86 |
+
|
| 87 |
+
documents = [
|
| 88 |
+
"Cedar privacy requests memo: The payment hold is capped at 96 hours during Q1, after the second failed retry.",
|
| 89 |
+
"Cedar privacy requests memo: The payment hold target is at least 96 hours during Q1.",
|
| 90 |
+
]
|
| 91 |
+
|
| 92 |
+
query_embeddings = model.encode(queries, normalize_embeddings=True)
|
| 93 |
+
document_embeddings = model.encode(documents, normalize_embeddings=True)
|
| 94 |
+
|
| 95 |
+
scores = query_embeddings @ document_embeddings.T
|
| 96 |
+
print(scores)
|
| 97 |
+
```
|
| 98 |
+
|
| 99 |
+
For retrieval, use the highest-scoring documents as candidates:
|
| 100 |
+
|
| 101 |
+
```python
|
| 102 |
+
import numpy as np
|
| 103 |
+
|
| 104 |
+
top_k = 2
|
| 105 |
+
ranking = np.argsort(-scores[0])[:top_k]
|
| 106 |
+
|
| 107 |
+
for idx in ranking:
|
| 108 |
+
print(float(scores[0][idx]), documents[idx])
|
| 109 |
+
```
|
| 110 |
+
|
| 111 |
+
---
|
| 112 |
+
|
| 113 |
+
## **Recommended Usage**
|
| 114 |
+
|
| 115 |
+
### **Semantic Retrieval**
|
| 116 |
+
|
| 117 |
+
Use short instruction prefixes for better retrieval consistency:
|
| 118 |
+
|
| 119 |
+
```text
|
| 120 |
+
query: <user question>
|
| 121 |
+
passage: <document text>
|
| 122 |
+
```
|
| 123 |
+
|
| 124 |
+
Example:
|
| 125 |
+
|
| 126 |
+
```python
|
| 127 |
+
query = "query: Find the refund policy for enterprise customers."
|
| 128 |
+
passage = "passage: Enterprise refund requests must be reviewed within 7 business days."
|
| 129 |
+
```
|
| 130 |
+
|
| 131 |
+
### **RAG**
|
| 132 |
+
|
| 133 |
+
Recommended retrieval flow:
|
| 134 |
+
|
| 135 |
+
1. Split documents into chunks.
|
| 136 |
+
2. Embed chunks with Silas-Embedding.
|
| 137 |
+
3. Store vectors in a vector database.
|
| 138 |
+
4. Embed the user query.
|
| 139 |
+
5. Retrieve top-k chunks.
|
| 140 |
+
6. Optionally rerank the top results with a reranker.
|
| 141 |
+
7. Pass the final context to a language model.
|
| 142 |
+
|
| 143 |
+
### **ParseEmbed-Style Retrieval**
|
| 144 |
+
|
| 145 |
+
For high-precision first-result retrieval, pair Silas-Embedding with a reranker. The ParseEmbed result shows strong candidate retrieval at `Recall@5` and `Recall@10`, while `Recall@1` can still improve with more hard-negative training.
|
| 146 |
+
|
| 147 |
+
---
|
| 148 |
+
|
| 149 |
+
## **Model Details**
|
| 150 |
+
|
| 151 |
+
| Property | Silas-Embedding |
|
| 152 |
+
| :---- | :---- |
|
| 153 |
+
| **Organization** | Convence Lab |
|
| 154 |
+
| **Primary Task** | Embedding / retrieval |
|
| 155 |
+
| **Supported Use Cases** | Semantic search, RAG, document retrieval, similarity scoring |
|
| 156 |
+
| **Recommended Max Sequence Length** | 512 |
|
| 157 |
+
| **Library** | Sentence Transformers |
|
| 158 |
+
| **License** | Apache 2.0 |
|
| 159 |
+
|
| 160 |
+
---
|
| 161 |
+
|
| 162 |
+
## **Limitations**
|
| 163 |
+
|
| 164 |
+
* ParseEmbed is currently an internal benchmark candidate and should not be treated as an official leaderboard result yet.
|
| 165 |
+
* Top-1 retrieval is still improving; reranking is recommended for high-stakes retrieval.
|
| 166 |
+
* Embeddings may be sensitive to prompt formatting, chunk size, and document noise.
|
| 167 |
+
* Long documents should be chunked before embedding.
|
| 168 |
+
* The model may retrieve semantically similar but factually incorrect distractors when the corpus contains hard negatives.
|
| 169 |
+
* Do not use retrieval results without validation for legal, medical, financial, identity, or safety-critical decisions.
|
| 170 |
+
|
| 171 |
+
---
|
| 172 |
+
|
| 173 |
+
## **Ethics and Safety**
|
| 174 |
+
|
| 175 |
+
Embedding models can be used to retrieve sensitive or private information from large document collections. Users are responsible for applying access controls, dataset permissions, privacy review, and logging policies when deploying this model.
|
| 176 |
+
|
| 177 |
+
Silas-Embedding should be used with care when indexing personal data, private records, confidential documents, or regulated information.
|
| 178 |
+
|
| 179 |
+
---
|
| 180 |
+
|
| 181 |
+
## **Citation**
|
| 182 |
+
|
| 183 |
+
```bibtex
|
| 184 |
+
@misc{convence2026silasembedding,
|
| 185 |
+
title={Silas-Embedding},
|
| 186 |
+
author={Convence Lab},
|
| 187 |
+
year={2026},
|
| 188 |
+
url={https://huggingface.co/Convence/Silas-Embedding}
|
| 189 |
+
}
|
| 190 |
+
```
|