Model reference · open weights

silver-retriever

Available as managed deployment Embeddings ipipan Embeddings 1 variants 3k dl/mo

silver-retriever is an open-weight embedding model from ipipan. AxForge deploys and operates it for you on dedicated EU-owned hardware — with the licence handled where one is required.

Available as managed deployment — configured and operated for you on dedicated EU hardware, quoted per deployment.

What it is

Released byipipan
TypeEmbedding models
TaskEmbeddings
Parameters (lead)124M
Context514 tokens
Runs withsentence-transformers
Released2023-11-27
Popularity3k downloads / month
LicenceOpen weights

About

What silver-retriever is

Silver Retriever model encodes the Polish sentences or paragraphs into a 768-dimensional dense vector space and can be used for tasks like document retrieval or semantic search.

It was initialized from the HerBERT-base model and fine-tuned on the PolQA and MAUPQA datasets for 8,000 steps with a batch size of 8,192. Please refer to the SilverRetriever: Advancing Neural Passage Retrieval for Polish Question Answering for more details.

Read the full model card

Evaluation

ModelAverage [Acc]Average [NDCG]PolQA [Acc]PolQA [NDCG]Allegro FAQ [Acc]Allegro FAQ [NDCG]Legal Questions [Acc]Legal Questions [NDCG]
BM2574.8751.8161.3524.5166.8948.7196.3882.21
BM25 (lemma)80.4655.4471.4931.9775.3355.7094.5778.65
MiniLM-L12-v262.6239.2137.2411.9371.6751.2578.9754.44
LaBSE64.8939.4746.2315.5367.1146.7181.3456.16
mContriever-Base86.3160.3778.6636.3084.4467.3895.8277.42
E5-Base91.5866.5686.6146.0891.8975.9096.2477.69
ST-DistilRoBERTa73.7848.2948.4316.7384.8964.3988.0263.76
ST-MPNet76.6649.9956.8021.5586.0065.4487.1962.99
HerBERT-QA84.2354.3675.8432.5285.7863.5891.0966.99
Silver Retriever v192.4566.7287.2443.4094.5679.6695.5477.10
Silver Retriever v1.193.1867.5588.6044.8894.0079.8396.9477.95

Legend:

  • Acc is the Accuracy at 10
  • NDCG is the Normalized Discounted Cumulative Gain at 10

Usage

Preparing inputs

The model was trained on question-passage pairs and works best when the input is the same format as that used during training:

  • We added the phrase Pytanie: to the beginning of the question.
  • The training passages consisted of title and text concatenated with the special token . Even if your passages don't have a `title`, it is still beneficial to prefix a passage with the token.
  • Although we used the dot product during training, the model usually works better with the cosine distance.

Inference with Sentence-Transformers

Using this model becomes easy when you have sentence-transformers installed:

pip install -U sentence-transformers

Then you can use the model like this:

from sentence_transformers import SentenceTransformer
sentences = [
    "Pytanie: W jakim mieście urodził się Zbigniew Herbert?",
    "Zbigniew HerbertZbigniew Bolesław Ryszard Herbert (ur. 29 października 1924 we Lwowie, zm. 28 lipca 1998 w Warszawie) – polski poeta, eseista i dramaturg.",
]

model = SentenceTransformer('ipipan/silver-retriever-base-v1.1')
embeddings = model.encode(sentences)
print(embeddings)

Inference with HuggingFace Transformers

Without sentence-transformers, you can use the model like this: First, you pass your input through the transformer model, then you have to apply the right pooling-operation on-top of the contextualized word embeddings.

from transformers import AutoTokenizer, AutoModel
import torch

def cls_pooling(model_output, attention_mask):
    return model_output[0][:,0]

# Sentences we want sentence embeddings for
sentences = [
    "Pytanie: W jakim mieście urodził się Zbigniew Herbert?",
    "Zbigniew HerbertZbigniew Bolesław Ryszard Herbert (ur. 29 października 1924 we Lwowie, zm. 28 lipca 1998 w Warszawie) – polski poeta, eseista i dramaturg.",
]
# Load model from HuggingFace Hub
tokenizer = AutoTokenizer.from_pretrained('ipipan/silver-retriever-base-v1.1')
model = AutoModel.from_pretrained('ipipan/silver-retriever-base-v1.1')

# Tokenize sentences
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')

# Compute token embeddings
with torch.no_grad():
    model_output = model(**encoded_input)

# Perform pooling. In this case, cls pooling.
sentence_embeddings = cls_pooling(model_output, encoded_input['attention_mask'])

print("Sentence embe

From the published model card. Full card on the HuggingFace links in the sidebar.

Using it via the API

Call it like any OpenAI endpoint

Once AxForge deploys silver-retriever for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (silver-retriever below is illustrative; you get the exact model name on deployment.)

$ curl -sS https://api.axforge.ai/v1/embeddings \
  -H "Authorization: Bearer $AXFORGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"silver-retriever","input":"text to embed"}'

Create an account — your API key is available in the console. 3M free tokens every 30 days with every new account.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms