API Reference#
Data Handling#
- class llmSHAP.data_handler.DataHandler(data, permanent_keys=None, mask_token='')[source]#
Bases:
object- Parameters:
data (DataMapping | str)
permanent_keys (Set[str] | Set[Index] | None)
mask_token (str)
- get_data(indexes, *, mask=True, exclude_permanent_keys=False)[source]#
Return a dict view according to the supplied options.
- Parameters:
indexes (int | Iterable[int])
mask (bool)
exclude_permanent_keys (bool)
- Return type:
Dict[Any, Any]
- get_keys(*, exclude_permanent_keys=False)[source]#
List of indexes, optionally excluding permanent ones.
- Parameters:
exclude_permanent_keys (bool)
- Return type:
list[int]
- image_list(indexes, *, exclude_permanent_keys=False)[source]#
Return a list of the available images at the given indexes.
- Parameters:
indexes (int | Iterable[int])
exclude_permanent_keys (bool)
- Return type:
list[Image]
- remove(indexes, *, mask=True)[source]#
Return a copy where the chosen indexes are either masked (mask=True) or removed (mask=False). self.data is unchanged.
- Parameters:
indexes (int | Iterable[int])
mask (bool)
- Return type:
Dict[Any, Any]
- remove_hard(indexes)[source]#
Delete the selected indexes in-place. Returns the live mapping.
- Parameters:
indexes (int | Iterable[int])
- Return type:
Dict[Any, Any]
Prompt Codecs#
- class llmSHAP.prompt_codec.BasicPromptCodec(system='')[source]#
Bases:
PromptCodec- Parameters:
system (str)
- build_prompt(data_handler, indexes)[source]#
(Encode) Build prompt to send to the model.
- Parameters:
data_handler (DataHandler)
indexes (int | Iterable[int])
- Return type:
list[dict[str, str]]
- get_images(data_handler, indexes)[source]#
Retreive the available images at the given indexes. Defaults to an emty list.
- Parameters:
data_handler (DataHandler)
indexes (int | Iterable[int])
- Return type:
list[Any]
- get_tools(data_handler, indexes)[source]#
Retreive the available tools at the given indexes. Defaults to an emty list.
- Parameters:
data_handler (DataHandler)
indexes (int | Iterable[int])
- Return type:
list[Any]
- class llmSHAP.prompt_codec.PromptCodec[source]#
Bases:
ABC- abstractmethod build_prompt(data_handler, indexes)[source]#
(Encode) Build prompt to send to the model.
- Parameters:
data_handler (DataHandler)
indexes (int | Iterable[int])
- Return type:
list[dict[str, str]]
- get_images(data_handler, indexes)[source]#
Retreive the available images at the given indexes. Defaults to an emty list.
- Parameters:
data_handler (DataHandler)
indexes (int | Iterable[int])
- Return type:
list[Any]
- get_tools(data_handler, indexes)[source]#
Retreive the available tools at the given indexes. Defaults to an emty list.
- Parameters:
data_handler (DataHandler)
indexes (int | Iterable[int])
- Return type:
list[Any]
Generations#
Value Functions#
- class llmSHAP.value_functions.EmbeddingCosineSimilarity(model_name='sentence-transformers/all-MiniLM-L6-v2')[source]#
Bases:
ValueFunction
- class llmSHAP.value_functions.TFIDFCosineSimilarity[source]#
Bases:
ValueFunction
Attribution Methods#
- class llmSHAP.attribution_methods.attribution_function.AttributionFunction(model, data_handler, prompt_codec, use_cache=False, verbose=True, logging=False, log_filename='log', value_function=None)[source]#
Bases:
object- Parameters:
model (LLMInterface)
data_handler (DataHandler)
prompt_codec (PromptCodec)
use_cache (bool)
verbose (bool)
logging (bool)
log_filename (str)
value_function (ValueFunction | None)
- class llmSHAP.attribution_methods.coalition_sampler.CounterfactualSampler[source]#
Bases:
CoalitionSampler
- class llmSHAP.attribution_methods.coalition_sampler.FullEnumerationSampler(num_players)[source]#
Bases:
CoalitionSampler- Parameters:
num_players (int)
- class llmSHAP.attribution_methods.coalition_sampler.RandomSampler(sampling_ratio, seed=None)[source]#
Bases:
CoalitionSampler- Parameters:
sampling_ratio (float)
seed (int | None)
- class llmSHAP.attribution_methods.coalition_sampler.SlidingWindowSampler(ordered_keys, w_size, stride=1)[source]#
Bases:
CoalitionSampler- Parameters:
ordered_keys (List[Index])
w_size (int)
stride (int)
- class llmSHAP.attribution_methods.shapley_attribution.ShapleyAttribution(model, data_handler, prompt_codec, sampler=None, use_cache=False, verbose=True, logging=False, num_threads=1, value_function=None)[source]#
Bases:
AttributionFunction- Parameters:
model (LLMInterface)
data_handler (DataHandler)
prompt_codec (PromptCodec)
sampler (CoalitionSampler | None)
use_cache (bool)
verbose (bool)
logging (bool)
num_threads (int)
value_function (ValueFunction | None)
LLM Interfaces#
- class llmSHAP.llm.llm_interface.LLMInterface[source]#
Bases:
ABC
- class llmSHAP.llm.openai.OpenAIInterface(model_name, temperature=0.0, max_tokens=512, seed=None, reasoning=None)[source]#
Bases:
LLMInterface- Parameters:
model_name (str)
temperature (float)
max_tokens (int)
seed (int | None)
reasoning (str | None)