Skip to content

Text Embedding Model Configuration

Pre-train Text Embedding Model Configuration

This configuration supports most pre-trained text embedding models from SentenceTransformer. Example configuration files are shown below:

all-mpnet-base-v2

gfmrag/workflow/config/text_emb_model/mpnet.yaml
_target_: gfmrag.text_emb_models.BaseTextEmbModel
text_emb_model_name: sentence-transformers/all-mpnet-base-v2
normalize: False
batch_size: 32
query_instruct: null
passage_instruct: null
model_kwargs: null

BAAI/bge-large-en

gfmrag/workflow/config/text_emb_model/bge_large_en.yaml
_target_: gfmrag.text_emb_models.BaseTextEmbModel
text_emb_model_name: BAAI/bge-large-en
normalize: True
batch_size: 32
query_instruct: "Represent this sentence for searching relevant passages: "
passage_instruct: null
model_kwargs: null
Parameter Options Note
_target_ gfmrag.text_emb_models.BaseTextEmbModel The class name of Text Embedding model
text_emb_model_name None The name of the pre-train text embedding model.
normalize True, False Whether to normalize the embeddings.
query_instruct None The instruction for the query.
passage_instruct None The instruction for the passage.
model_kwargs {} The additional model arguments.

Qwen3 Embedding Model Configuration

This configuration supports Qwen3 embedding models through gfmrag.text_emb_models.Qwen3TextEmbModel. Example configuration files are shown below:

Qwen/Qwen3-Embedding-0.6B

gfmrag/workflow/config/text_emb_model/qwen3.yaml
_target_: gfmrag.text_emb_models.Qwen3TextEmbModel
text_emb_model_name: Qwen/Qwen3-Embedding-0.6B
normalize: True
batch_size: 32
query_instruct: "Instruct: Given a web search query, retrieve relevant passages that answer the query\nQuery: "
passage_instruct: null
truncate_dim: 1024

Qwen/Qwen3-Embedding-8B

gfmrag/workflow/config/text_emb_model/qwen3_8b.yaml
_target_: gfmrag.text_emb_models.Qwen3TextEmbModel
text_emb_model_name: Qwen/Qwen3-Embedding-8B
normalize: True
batch_size: 32
query_instruct: "Instruct: Given a web search query, retrieve relevant passages that answer the query\nQuery: "
passage_instruct: null
truncate_dim: 4096
Parameter Options Note
_target_ gfmrag.text_emb_models.Qwen3TextEmbModel The class name of Qwen3TextEmbModel.
text_emb_model_name Qwen/Qwen3-Embedding-0.6B, Qwen/Qwen3-Embedding-8B, or local path The name or local path of the Qwen3 embedding model.
normalize True, False Whether to normalize the embeddings.
batch_size Positive integer Batch size used for encoding.
query_instruct String, null The instruction prepended to each query.
passage_instruct String, null The instruction prepended to each passage.
truncate_dim Positive integer, null Optional output embedding dimension for Matryoshka truncation, such as 1024 for 0.6B or 4096 for 8B.
api_base URL, null Base URL of an existing vLLM embedding server. If null, gfmrag starts a local vLLM instance.
api_key String API key used when api_base points to a protected server.
vllm_timeout Positive integer Timeout in seconds for vLLM embedding requests.

Nvidia Embedding Model Configuration

This configuration supports the Nvidia embedding models. An example of a Nvidia embedding model configuration file is shown below:

nvidia/NV-Embed-v2

gfmrag/workflow/config/text_emb_model/nv_embed_v2.yaml
_target_: gfmrag.text_emb_models.NVEmbedV2
text_emb_model_name: nvidia/NV-Embed-v2
normalize: True
batch_size: 1
query_instruct: "Instruct: Given a multi-hop question, retrieve documents that can help answer the question\nQuery: "
passage_instruct: ""
model_kwargs:
  torch_dtype: bfloat16
Parameter Options Note
_target_ gfmrag.text_emb_models.NVEmbedV2 The class name of NVEmbedV2
text_emb_model_name nvidia/NV-Embed-v2 The name of the Nvidia embedding model.
normalize True, False Whether to normalize the embeddings.
query_instruct Instruct: Given an entity, retrieve entities that are semantically equivalent to the given entity\nQuery: The instruction for the query.
passage_instruct None The instruction for the passage.
model_kwargs {} The additional model arguments.