Feature Extraction
sentence-transformers
PyTorch
English
Vietnamese
xlm-roberta
embedding
dense-retrieval
contrastive-learning
cve
cybersecurity
qdrant
secAI
text-embeddings-inference
Instructions to use DuyTa/sec-embedding with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use DuyTa/sec-embedding with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("DuyTa/sec-embedding") 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
Update model card: set license to apache-2.0; add acceptance (nghiệm thu) model info & KPIs
Browse files
README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
---
|
| 2 |
-
license:
|
| 3 |
base_model: BAAI/bge-m3
|
| 4 |
base_model_relation: finetune
|
| 5 |
library_name: sentence-transformers
|
|
@@ -18,13 +18,16 @@ tags:
|
|
| 18 |
- cybersecurity
|
| 19 |
- qdrant
|
| 20 |
- secAI
|
|
|
|
|
|
|
|
|
|
| 21 |
---
|
| 22 |
|
| 23 |
# sec-embedding
|
| 24 |
|
| 25 |
**This is a fine-tuned version of [BAAI/bge-m3](https://huggingface.co/BAAI/bge-m3)** for CVE / cybersecurity dense retrieval.
|
| 26 |
|
| 27 |
-
It was trained on a **CVE investigation-trajectory dataset** with **hard-negative mining** from a **local Qdrant** collection (`cve_kb`, NVD/MITRE core chunks). It is not a raw copy of the base checkpoint.
|
| 28 |
|
| 29 |
## Training
|
| 30 |
|
|
@@ -48,6 +51,21 @@ Each example is a `(query, positive)` pair:
|
|
| 48 |
|
| 49 |
Dataset source field: `Qdrant cve_kb (NVD/MITRE)`. Split: 40k train / 5k validation.
|
| 50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 51 |
## Usage
|
| 52 |
|
| 53 |
```python
|
|
@@ -62,4 +80,4 @@ Rebuild the Qdrant index with **this** checkpoint. Mixing vectors with vanilla `
|
|
| 62 |
|
| 63 |
## Attribution & license
|
| 64 |
|
| 65 |
-
Derived from [BAAI/bge-m3](https://huggingface.co/BAAI/bge-m3) (**MIT License**)
|
|
|
|
| 1 |
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
base_model: BAAI/bge-m3
|
| 4 |
base_model_relation: finetune
|
| 5 |
library_name: sentence-transformers
|
|
|
|
| 18 |
- cybersecurity
|
| 19 |
- qdrant
|
| 20 |
- secAI
|
| 21 |
+
datasets:
|
| 22 |
+
- DuyTa/Cyber_F1_v2
|
| 23 |
+
- DuyTa/cve-kgrag-db
|
| 24 |
---
|
| 25 |
|
| 26 |
# sec-embedding
|
| 27 |
|
| 28 |
**This is a fine-tuned version of [BAAI/bge-m3](https://huggingface.co/BAAI/bge-m3)** for CVE / cybersecurity dense retrieval.
|
| 29 |
|
| 30 |
+
It was trained on a **CVE investigation-trajectory dataset** with **hard-negative mining** from a **local Qdrant** collection (`cve_kb`, NVD/MITRE core chunks). It is not a raw copy of the base checkpoint. It is the retriever component of the **secAI** stack, paired with [`DuyTa/sec-rerank`](https://huggingface.co/DuyTa/sec-rerank) and [`DuyTa/Cyber-F1-AWQ`](https://huggingface.co/DuyTa/Cyber-F1-AWQ).
|
| 31 |
|
| 32 |
## Training
|
| 33 |
|
|
|
|
| 51 |
|
| 52 |
Dataset source field: `Qdrant cve_kb (NVD/MITRE)`. Split: 40k train / 5k validation.
|
| 53 |
|
| 54 |
+
### Training corpus
|
| 55 |
+
|
| 56 |
+
Built from **five years of authoritative cybersecurity sources**: NVD (173,473 CVEs), MITRE CWE (768 weakness types, mapped to ~92% of CVEs), CAPEC/ATT&CK (443/174 entries) and Exploit-DB (3,139 exploits, 2021–2026). Public datasets: [`DuyTa/Cyber_F1_v2`](https://huggingface.co/datasets/DuyTa/Cyber_F1_v2), [`DuyTa/cve-kgrag-db`](https://huggingface.co/datasets/DuyTa/cve-kgrag-db).
|
| 57 |
+
|
| 58 |
+
## Acceptance (nghiệm thu) — reported KPIs
|
| 59 |
+
|
| 60 |
+
Measured on **NVIDIA A100 80GB** in the full production chatflow (Hybrid Search → Rerank → LLM), on a 1,000-sample security test set (40% CVE identification/classification, 40% remediation advice, 20% real-world scenario reasoning):
|
| 61 |
+
|
| 62 |
+
| Metric | Result | Target | Pass |
|
| 63 |
+
|---|---|---|---|
|
| 64 |
+
| Retrieval quality — **Hit Rate@10** | **98.78%** | > 96% | ✅ |
|
| 65 |
+
| Throughput | **2,662 emb/s** (concurrency 32) | ≥ 1,200 emb/s | ✅ |
|
| 66 |
+
|
| 67 |
+
Raw per-sample logs (`embedding-hit-rate-at-10.jsonl`) and evaluation code are delivered with the acceptance package.
|
| 68 |
+
|
| 69 |
## Usage
|
| 70 |
|
| 71 |
```python
|
|
|
|
| 80 |
|
| 81 |
## Attribution & license
|
| 82 |
|
| 83 |
+
Released under **Apache-2.0**. Derived from [BAAI/bge-m3](https://huggingface.co/BAAI/bge-m3) (**MIT License**); the MIT notice of the base model is retained and credit for the base weights belongs to the BAAI authors.
|