Add Sentence Transformers usage

#1
by tomaarsen HF Staff - opened
Files changed (1) hide show
  1. README.md +36 -0
README.md CHANGED
@@ -3,6 +3,7 @@ language:
3
  - de
4
  tags:
5
  - ColBERT
 
6
  - PyLate
7
  - sentence-transformers
8
  - sentence-similarity
@@ -36,6 +37,41 @@ Training Configuration
36
 
37
 
38
  ## Usage
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  First install the PyLate library:
40
 
41
  ```bash
 
3
  - de
4
  tags:
5
  - ColBERT
6
+ - multi-vector
7
  - PyLate
8
  - sentence-transformers
9
  - sentence-similarity
 
37
 
38
 
39
  ## Usage
40
+
41
+ ### Sentence Transformers
42
+
43
+ This model can be used with [Sentence Transformers](https://www.sbert.net/) as a multi-vector (ColBERT-style late interaction) retriever via the `MultiVectorEncoder`:
44
+
45
+ ```bash
46
+ pip install "sentence-transformers>=6.0.0"
47
+ ```
48
+
49
+ ```python
50
+ from sentence_transformers import MultiVectorEncoder
51
+
52
+ model = MultiVectorEncoder("samheym/GerColBERT")
53
+
54
+ query = "Welcher Planet ist als der Rote Planet bekannt?"
55
+ documents = [
56
+ "Venus wird wegen ihrer ähnlichen Größe und Nähe oft als Zwilling der Erde bezeichnet.",
57
+ "Mars, bekannt für sein rötliches Aussehen, wird oft als der Rote Planet bezeichnet.",
58
+ "Jupiter, der größte Planet des Sonnensystems, hat einen markanten roten Fleck.",
59
+ "Saturn, berühmt für seine Ringe, wird manchmal mit dem Roten Planeten verwechselt.",
60
+ ]
61
+
62
+ query_embeddings = model.encode_query(query)
63
+ document_embeddings = model.encode_document(documents)
64
+ print(query_embeddings.shape, document_embeddings[0].shape)
65
+ # (32, 128) (18, 128)
66
+
67
+ # MaxSim late-interaction scoring (higher is more relevant)
68
+ scores = model.similarity(query_embeddings, document_embeddings)
69
+ print(scores)
70
+ # tensor([[13.8994, 27.9157, 21.6549, 22.7871]])
71
+ ```
72
+
73
+ ### PyLate
74
+
75
  First install the PyLate library:
76
 
77
  ```bash