Table of Contents

run

A simple script to run a Flow that can be used for development and debugging.

ChromaDBFlow

ChromaDBFlow Objects

class ChromaDBFlow(AtomicFlow)

A flow that uses the ChromaDB model to write and read memories stored in a database

Configuration Parameters:

  • name (str): The name of the flow. Default: "chroma_db"

  • description (str): A description of the flow. This description is used to generate the help message of the flow. Default: "ChromaDB is a document store that uses vector embeddings to store and retrieve documents."

  • backend (Dict[str, Any]): The configuration of the backend which is used to fetch api keys. Default: LiteLLMBackend with the default parameters of LiteLLMBackend (see aiflows.backends.LiteLLMBackend). Except for the following parameter whose default value is overwritten:

    • api_infos (List[Dict[str, Any]]): The list of api infos. Default: No default value, this parameter is required.
    • model_name (str): The name of the model. Default: "". In the current implementation, this parameter is not used.
  • similarity_search_kwargs (Dict[str, Any]): The parameters to pass to the similarity search method of the ChromaDB. Default:

    • k (int): The number of documents to retrieve. Default: 2
    • filter (str): The filter to apply to the documents. Default: null
  • paths_to_data (List[str]): The paths to the data to store in the database at instantiation. Default: []

  • chunk_size (int): The size of the chunks to split the documents into. Default: 700

  • seperator (str): The separator to use to split the documents. Default: "\n"

  • chunk_overlap (int): The overlap between the chunks. Default: 0

  • persist_directory (str): The directory to persist the database. Default: "./demo_db_dir"

  • Other parameters are inherited from the default configuration of AtomicFlow (see AtomicFlow)

Input Interface:

  • operation (str): The operation to perform. It can be "write" or "read".
  • content (str or List[str]): The content to write or read. If operation is "write", it must be a string or a list of strings. If operation is "read", it must be a string.

Output Interface:

  • retrieved (str or List[str]): The retrieved content. If operation is "write", it is an empty string. If operation is "read", it is a string or a list of strings.

Arguments:

  • backend (LiteLLMBackend): The backend of the flow (used to retrieve the API key)
  • \**kwargs: Additional arguments to pass to the flow.

instantiate_from_config

@classmethod
def instantiate_from_config(cls, config)

This method instantiates the flow from a configuration file

Arguments:

  • config (Dict[str, Any]): The configuration of the flow.

Returns:

ChromaDBFlow: The instantiated flow.

run

def run(input_message: FlowMessage)

This method runs the flow. It runs the ChromaDBFlow. It either writes or reads memories from the database.

Arguments:

  • input_message (FlowMessage): The input message of the flow.

VectorStoreFlow

VectorStoreFlow Objects

class VectorStoreFlow(AtomicFlow)

A flow that uses the VectorStore model to write and read memories stored in a database (see VectorStoreFlow.yaml for the default configuration)

Configuration Parameters:

  • name (str): The name of the flow. Default: "VecotrStoreFlow"
  • description (str): A description of the flow. This description is used to generate the help message of the flow. Default: "VectorStoreFlow"
  • backend (Dict[str, Any]): The configuration of the backend which is used to fetch api keys. Default: LiteLLMBackend with the default parameters of LiteLLMBackend (see flows.backends.LiteLLMBackend). Except for the following parameter whose default value is overwritten:
    • api_infos (List[Dict[str, Any]]): The list of api infos. Default: No default value, this parameter is required.
    • model_name (str): The name of the model. Default: "". In the current implementation, this parameter is not used.
  • type (str): The type of the vector store. It can be "chroma" or "faiss". Default: "chroma"
  • embedding_size (int): The size of the embeddings (only for faiss). Default: 1536
  • retriever_config (Dict[str, Any]): The configuration of the retriever. Default: empty dictionary
  • Other parameters are inherited from the default configuration of AtomicFlow (see AtomicFlow)

Input Interface:

  • operation (str): The operation to perform. It can be "write" or "read".
  • content (str or List[str]): The content to write or read. If operation is "write", it must be a string or a list of strings. If operation is "read", it must be a string.

Output Interface:

  • retrieved (str or List[str]): The retrieved content. If operation is "write", it is an empty string. If operation is "read", it is a string or a list of strings.

Arguments:

  • backend (LiteLLMBackend): The backend of the flow (used to retrieve the API key)
  • vector_db (VectorStoreRetriever): The vector store retriever
  • type (str): The type of the vector store
  • \**kwargs: Additional arguments to pass to the flow. See :class:aiflows.base_flows.AtomicFlow for more details.

instantiate_from_config

@classmethod
def instantiate_from_config(cls, config: Dict[str, Any])

This method instantiates the flow from a configuration file

Arguments:

  • config (Dict[str, Any]): The configuration of the flow.

Returns:

VectorStoreFlow: The instantiated flow.

package_documents

@staticmethod
def package_documents(documents: List[str]) -> List[Document]

This method packages the documents in a list of Documents.

Arguments:

  • documents (List[str]): The documents to package.

Returns:

List[Document]: The packaged documents.

run

def run(input_message: FlowMessage)

This method runs the flow. It either writes or reads memories from the database.

Arguments:

  • input_message (FlowMessage): The input data of the flow.

__init__

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.
The model cannot be deployed to the HF Inference API: The model has no library tag.