CoilConfig

class lightning_ir.models.coil.CoilConfig(query_length: int = 32, doc_length: int = 512, similarity_function: Literal['cosine', 'dot'] = 'dot', normalize: bool = False, add_marker_tokens: bool = False, token_embedding_dim: int = 32, cls_embedding_dim: int = 768, projection: Literal['linear', 'linear_no_bias'] = 'linear', **kwargs)[source]

Bases: MultiVectorBiEncoderConfig

Configuration class for COIL models.

__init__(query_length: int = 32, doc_length: int = 512, similarity_function: Literal['cosine', 'dot'] = 'dot', normalize: bool = False, add_marker_tokens: bool = False, token_embedding_dim: int = 32, cls_embedding_dim: int = 768, projection: Literal['linear', 'linear_no_bias'] = 'linear', **kwargs) None[source]

A COIL model encodes queries and documents separately, and computes a similarity score using the maximum similarity …

Parameters:
  • query_length (int, optional) – Maximum query length in number of tokens. Defaults to 32.

  • doc_length (int, optional) – Maximum document length in number of tokens. Defaults to 512.

  • similarity_function (Literal["cosine", "dot"]) – Similarity function to compute scores between query and document embeddings. Defaults to “dot”.

  • normalize (bool) – Whether to normalize query and document embeddings. Defaults to False.

  • add_marker_tokens (bool) – Whether to add extra marker tokens [Q] / [D] to queries / documents. Defaults to False.

  • token_embedding_dim (int, optional) – The output embedding dimension for tokens. Defaults to 32.

  • cls_embedding_dim (int, optional) – The output embedding dimension for the [CLS] token. Defaults to 768.

  • projection (Literal["linear", "linear_no_bias"], optional) – Whether and how to project the embeddings. Defaults to “linear”.

Methods

__init__([query_length, doc_length, ...])

A COIL model encodes queries and documents separately, and computes a similarity score using the maximum similarity ...

Attributes

model_type

Model type for COIL models.

backbone_model_type: str | None = None

Backbone model type for the configuration. Set by LightningIRModelClassFactory().

classmethod from_pretrained(pretrained_model_name_or_path: str | Path, *args, **kwargs) LightningIRConfig

Loads the configuration from a pretrained model. Wraps the transformers.PretrainedConfig.from_pretrained

Parameters:

pretrained_model_name_or_path (str | Path) – Pretrained model name or path.

Returns:

Derived LightningIRConfig class.

Return type:

LightningIRConfig

Raises:

ValueError – If pretrained_model_name_or_path is not a Lightning IR model and no LightningIRConfig is passed.

get_tokenizer_kwargs(Tokenizer: Type[LightningIRTokenizer]) Dict[str, Any]

Returns the keyword arguments for the tokenizer. This method is used to pass the configuration parameters to the tokenizer.

Parameters:

Tokenizer (Type[LightningIRTokenizer]) – Class of the tokenizer to be used.

Returns:

Keyword arguments for the tokenizer.

Return type:

Dict[str, Any]

model_type: str = 'coil'

Model type for COIL models.

to_dict() Dict[str, Any]

Overrides the transformers.PretrainedConfig.to_dict method to include the added arguments and the backbone model type.

Returns:

Configuration dictionary.

Return type:

Dict[str, Any]

to_diff_dict() dict[str, Any]

Removes all attributes from the configuration that correspond to the default config attributes for better readability, while always retaining the config attribute from the class. Serializes to a Python dictionary.

Returns:

Dictionary of all the attributes that make up this configuration instance.

Return type:

dict[str, Any]