antimatter.handlers.langchain#

Module Contents#

Classes#

EmbeddingClient

LangchainHandler

The LangchainHandler DataHandler supports an implementation of a langchain

class antimatter.handlers.langchain.EmbeddingClient#
OPEN_AI = 'openai'#
HUGGING_FACE = 'huggingface'#
class antimatter.handlers.langchain.LangchainHandler#

Bases: antimatter.handlers.DataHandler

The LangchainHandler DataHandler supports an implementation of a langchain Retriever. This handler assumes that the underlying data is a list of two-dimensional data.

from_generic(cols: List[str], generic_data: List[List[bytes]], extra: Dict[str, Any]) Any#

from_generic loads the generic data into an implementation of a langchain Retriever with langchain Embeddings.

Parameters:
  • cols – the column names for the underlying data

  • generic_data – the capsule’s generic data format that is loaded into a langchain Retriever

  • extra – extra data for the DataHandler, containing information for the Embeddings

Returns:

the langchain Retriever built with the dataset

to_generic(data: Any) Tuple[List[str], List[List[bytes]], Dict[str, Any]]#

to_generic converts a langchain Retriever with langchain Embeddings into the generic data format.

Parameters:

data – the langchain Retriever

Returns:

the data in its generic format

field_converter_from_generic(ft: antimatter.fieldtype.fieldtypes.FieldType) Callable[[bytes], Any]#

field_converter_from_generic gets a field converter function for the given field type that can be used to convert fields from their generic string type to their specific type.

Note that these statement should be true for all implementations, given FieldType ft.

from_gen = field_converter_from_generic(ft) to_gen = field_converter_to_generic(ft)

generic_value == to_gen(from_gen(generic_value)) field_value == from_gen(to_gen(field_value))

Parameters:

ft – the FieldType to get the converter function for

Returns:

a function that can convert field values from generic form

field_converter_to_generic(ft: antimatter.fieldtype.fieldtypes.FieldType) Callable[[Any], bytes]#

field_converter_to_generic gets a field converter function for the given field type that can be used to convert fields from their specific type to their generic type.

Note that these statement should be true for all implementations, given FieldType ft.

from_gen = field_converter_from_generic(ft) to_gen = field_converter_to_generic(ft)

generic_value == to_gen(from_gen(generic_value)) field_value == from_gen(to_gen(field_value))

Parameters:

ft – the FieldType to get the converter function for

Returns:

a function that can convert field values to generic form