Adapter
AdapterEmbeddingModel #
Bases: BaseEmbedding
Adapter for any embedding model.
This is a wrapper around any embedding model that adds an adapter layer on top of it. This is useful for finetuning an embedding model on a downstream task. The embedding model can be any model - it does not need to expose gradients.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
base_embed_model
|
BaseEmbedding
|
Base embedding model. |
required |
adapter_path
|
str
|
Path to adapter. |
required |
adapter_cls
|
Optional[Type[Any]]
|
Adapter class. Defaults to None, in which case a linear adapter is used. |
None
|
transform_query
|
bool
|
Whether to transform query embeddings. Defaults to True. |
True
|
device
|
Optional[str]
|
Device to use. Defaults to None. |
None
|
embed_batch_size
|
int
|
Batch size for embedding. Defaults to 10. |
DEFAULT_EMBED_BATCH_SIZE
|
callback_manager
|
Optional[CallbackManager]
|
Callback manager. Defaults to None. |
None
|
Source code in llama_index/embeddings/adapter/base.py
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | |
BaseAdapter #
Bases: Module
Base adapter.
Can be subclassed to implement custom adapters. To implement a custom adapter, subclass this class and implement the following methods: - get_config_dict - forward
Source code in llama_index/embeddings/adapter/utils.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | |
get_config_dict
abstractmethod
#
get_config_dict() -> Dict
Get config dict.
Source code in llama_index/embeddings/adapter/utils.py
28 29 30 | |
forward
abstractmethod
#
forward(embed: Tensor) -> Tensor
Forward pass.
Source code in llama_index/embeddings/adapter/utils.py
32 33 34 | |
save #
save(output_path: str) -> None
Save model.
Source code in llama_index/embeddings/adapter/utils.py
36 37 38 39 40 41 | |
load
classmethod
#
load(input_path: str) -> BaseAdapter
Load model.
Source code in llama_index/embeddings/adapter/utils.py
43 44 45 46 47 48 49 50 51 52 53 54 55 | |
LinearLayer #
Bases: BaseAdapter
Linear transformation.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
in_features
|
int
|
Input dimension. |
required |
out_features
|
int
|
Output dimension. |
required |
bias
|
bool
|
Whether to use bias. Defaults to False. |
False
|
Source code in llama_index/embeddings/adapter/utils.py
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | |
forward #
forward(embed: Tensor) -> Tensor
Forward pass (Wv).
Source code in llama_index/embeddings/adapter/utils.py
81 82 83 | |
options: members: - AdapterEmbeddingModel - LinearAdapterEmbeddingModel