Tony20100/langchain_full huggingface dataset:
as determined by paper
[Robust and Explainable Identification of Logical Fallacies in Natural
Language Arguments](https://arxiv.org/pdf/2212.07425.pdf).
It is modeled after Constitutional AI and in the same format, but applying logical
fallacies as generalized rules to remove them in output.
Classes¶
fallacy_removal.base.FallacyChain
Chain for applying logical fallacy evaluations.
fallacy_removal.models.LogicalFallacy
Logical fallacy.
langchain_experimental.generative_agents¶
Generative Agent primitives.
Classes¶
generative_agents.generative_agent.GenerativeAgent
Agent as a character with memory and innate characteristics.
generative_agents.memory.GenerativeAgentMemory
Memory for the generative agent.
langchain_experimental.graph_transformers¶
Graph Transformers transform Documents into Graph Documents.
Classes¶
graph_transformers.diffbot.DiffbotGraphTransformer(...)
Transform documents into graph documents using Diffbot NLP API.
graph_transformers.diffbot.NodesList()
List of nodes with associated properties.
graph_transformers.diffbot.SimplifiedSchema()
Simplified schema mapping.
graph_transformers.diffbot.TypeOption(value)
An enumeration.
graph_transformers.llm.LLMGraphTransformer(llm)
Transform documents into graph-based documents using a LLM.
graph_transformers.llm.UnstructuredRelation
Create a new model by parsing and validating input data from keyword arguments.
Functions¶
graph_transformers.diffbot.format_property_key(s)
Formats a string to be used as a property key.
graph_transformers.llm.create_simple_model([...])
Simple model allows to limit node and/or relationship types.
graph_transformers.llm.create_unstructured_prompt([...])
graph_transformers.llm.format_property_key(s)
graph_transformers.llm.map_to_base_node(node)
Map the SimpleNode to the base Node.
Map the SimpleNode to the base Node.
graph_transformers.llm.map_to_base_relationship(rel)
Map the SimpleRelationship to the base Relationship.
graph_transformers.llm.optional_enum_field([...])
Utility function to conditionally create a field with an enum constraint.
langchain_experimental.llm_bash¶
LLM bash is a chain that uses LLM to interpret a prompt and
executes bash code.
Classes¶
llm_bash.base.LLMBashChain
Chain that interprets a prompt and executes bash operations.
llm_bash.bash.BashProcess([strip_newlines, ...])
Wrapper for starting subprocesses.
llm_bash.prompt.BashOutputParser
Parser for bash output.
langchain_experimental.llm_symbolic_math¶
Chain that interprets a prompt and executes python code to do math.
Heavily borrowed from llm_math, uses the [SymPy](https://www.sympy.org/) package.
Classes¶
llm_symbolic_math.base.LLMSymbolicMathChain
Chain that interprets a prompt and executes python code to do symbolic math.
langchain_experimental.llms¶
Experimental LLM classes provide
access to the large language model (LLM) APIs and services.
Classes¶
llms.anthropic_functions.AnthropicFunctions
[Deprecated] Chat model for interacting with Anthropic functions.
llms.anthropic_functions.TagParser()
Parser for the tool tags.
llms.jsonformer_decoder.JsonFormer
Jsonformer wrapped LLM using HuggingFace Pipeline API.
llms.llamaapi.ChatLlamaAPI
Chat model using the Llama API.
llms.lmformatenforcer_decoder.LMFormatEnforcer
LMFormatEnforcer wrapped LLM using HuggingFace Pipeline API.
llms.ollama_functions.OllamaFunctions
llms.ollama_functions.OllamaFunctions
Function chat model that uses Ollama API.
llms.rellm_decoder.RELLM
RELLM wrapped LLM using HuggingFace Pipeline API.
Functions¶
llms.jsonformer_decoder.import_jsonformer()
Lazily import of the jsonformer package.
llms.lmformatenforcer_decoder.import_lmformatenforcer()
Lazily import of the lmformatenforcer package.
llms.ollama_functions.convert_to_ollama_tool(tool)
Convert a tool to an Ollama tool.
llms.ollama_functions.parse_response(message)
Extract function_call from AIMessage.
llms.rellm_decoder.import_rellm()
Lazily import of the rellm package.
langchain_experimental.open_clip¶
OpenCLIP Embeddings model.
OpenCLIP is a multimodal model that can encode text and images into a shared space.
See this paper for more details: https://arxiv.org/abs/2103.00020
and [this repository](https://github.com/mlfoundations/open_clip) for details.
Classes¶
open_clip.open_clip.OpenCLIPEmbeddings
OpenCLIP Embeddings model.
langchain_experimental.pal_chain¶
PAL Chain implements Program-Aided Language Models.
See the paper: https://arxiv.org/pdf/2211.10435.pdf.
This chain is vulnerable to [arbitrary code execution](https://github.com/langchain-ai/langchain/issues/5872).
Classes¶
pal_chain.base.PALChain
Chain that implements Program-Aided Language Models (PAL).
pal_chain.base.PALValidation([...])
Validation for PAL generated code.
langchain_experimental.plan_and_execute¶
Plan-and-execute agents are planning tasks with a language model (LLM) and
Plan-and-execute agents are planning tasks with a language model (LLM) and
executing them with a separate agent.
Classes¶
plan_and_execute.agent_executor.PlanAndExecute
Plan and execute a chain of steps.
plan_and_execute.executors.base.BaseExecutor
Base executor.
plan_and_execute.executors.base.ChainExecutor
Chain executor.
plan_and_execute.planners.base.BasePlanner
Base planner.
plan_and_execute.planners.base.LLMPlanner
LLM planner.
plan_and_execute.planners.chat_planner.PlanningOutputParser
Planning output parser.
plan_and_execute.schema.BaseStepContainer
Base step container.
plan_and_execute.schema.ListStepContainer
Container for List of steps.
plan_and_execute.schema.Plan
Plan.
plan_and_execute.schema.PlanOutputParser
Plan output parser.
plan_and_execute.schema.Step
Step.
plan_and_execute.schema.StepResponse
Step response.
Functions¶
plan_and_execute.executors.agent_executor.load_agent_executor(...)
Load an agent executor.
plan_and_execute.planners.chat_planner.load_chat_planner(llm)
Load a chat planner.
langchain_experimental.prompt_injection_identifier¶
HuggingFace Injection Identifier is a tool that uses
[HuggingFace Prompt Injection model](https://huggingface.co/deepset/deberta-v3-base-injection)
to detect prompt injection attacks.
Classes¶
prompt_injection_identifier.hugging_face_identifier.HuggingFaceInjectionIdentifier
Tool that uses HuggingFace Prompt Injection model to detect prompt injection attacks.
prompt_injection_identifier.hugging_face_identifier.PromptInjectionException([...])
Exception raised when prompt injection attack is detected.
langchain_experimental.recommenders¶
Amazon Personalize primitives.
[Amazon Personalize](https://docs.aws.amazon.com/personalize/latest/dg/what-is-personalize.html)
is a fully managed machine learning service that uses your data to generate
item recommendations for your users.
Classes¶
recommenders.amazon_personalize.AmazonPersonalize([...])
Amazon Personalize Runtime wrapper for executing real-time operations.
recommenders.amazon_personalize_chain.AmazonPersonalizeChain
Chain for retrieving recommendations from Amazon Personalize,
langchain_experimental.retrievers¶
Retriever class returns Documents given a text query.
It is more general than a vector store. A retriever does not need to be able to
store documents, only to return (or retrieve) it.
Classes¶
retrievers.vector_sql_database.VectorSQLDatabaseChainRetriever
Retriever that uses Vector SQL Database.
langchain_experimental.rl_chain¶
RL (Reinforcement Learning) Chain leverages the Vowpal Wabbit (VW) models
for reinforcement learning with a context, with the goal of modifying
the prompt before the LLM call.
[Vowpal Wabbit](https://vowpalwabbit.org/) provides fast, efficient,
and flexible online machine learning techniques for reinforcement learning,
supervised learning, and more.
Classes¶
rl_chain.base.AutoSelectionScorer
Auto selection scorer.
rl_chain.base.Embedder(*args, **kwargs)
Abstract class to represent an embedder.
rl_chain.base.Event(inputs[, selected])
Abstract class to represent an event.
rl_chain.base.Policy(**kwargs)
Abstract class to represent a policy.
rl_chain.base.RLChain
Chain that leverages the Vowpal Wabbit (VW) model as a learned policy for reinforcement learning.
rl_chain.base.Selected()
Abstract class to represent the selected item.
rl_chain.base.SelectionScorer
Abstract class to grade the chosen selection or the response of the llm.
Abstract class to grade the chosen selection or the response of the llm.
rl_chain.base.VwPolicy(model_repo, vw_cmd, ...)
Vowpal Wabbit policy.
rl_chain.metrics.MetricsTrackerAverage(step)
Metrics Tracker Average.
rl_chain.metrics.MetricsTrackerRollingWindow(...)
Metrics Tracker Rolling Window.
rl_chain.model_repository.ModelRepository(folder)
Model Repository.
rl_chain.pick_best_chain.PickBest
Chain that leverages the Vowpal Wabbit (VW) model for reinforcement learning with a context, with the goal of modifying the prompt before the LLM call.
rl_chain.pick_best_chain.PickBestEvent(...)
Event class for PickBest chain.
rl_chain.pick_best_chain.PickBestFeatureEmbedder(...)
Embed the BasedOn and ToSelectFrom inputs into a format that can be used by the learning policy.
rl_chain.pick_best_chain.PickBestRandomPolicy(...)
Random policy for PickBest chain.
rl_chain.pick_best_chain.PickBestSelected([...])
Selected class for PickBest chain.
rl_chain.vw_logger.VwLogger(path)
Vowpal Wabbit custom logger.
Functions¶
rl_chain.base.BasedOn(anything)
Wrap a value to indicate that it should be based on.
rl_chain.base.Embed(anything[, keep])
Wrap a value to indicate that it should be embedded.
rl_chain.base.EmbedAndKeep(anything)
Wrap a value to indicate that it should be embedded and kept.
rl_chain.base.ToSelectFrom(anything)
Wrap a value to indicate that it should be selected from.
rl_chain.base.embed(to_embed, model[, namespace])
Embed the actions or context using the SentenceTransformer model (or a model that has an encode function).
rl_chain.base.embed_dict_type(item, model)
Embed a dictionary item.
rl_chain.base.embed_dict_type(item, model)
Embed a dictionary item.
rl_chain.base.embed_list_type(item, model[, ...])
Embed a list item.
rl_chain.base.embed_string_type(item, model)
Embed a string or an _Embed object.
rl_chain.base.get_based_on_and_to_select_from(inputs)
Get the BasedOn and ToSelectFrom from the inputs.
rl_chain.base.is_stringtype_instance(item)
Check if an item is a string.
rl_chain.base.parse_lines(parser, input_str)
Parse the input string into a list of examples.
rl_chain.base.prepare_inputs_for_autoembed(inputs)
Prepare the inputs for auto embedding.
rl_chain.base.stringify_embedding(embedding)
Convert an embedding to a string.
langchain_experimental.smart_llm¶
SmartGPT chain is applying self-critique using the SmartGPT workflow.
See details at https://youtu.be/wVzuvf9D9BU
The workflow performs these 3 steps:
1. Ideate: Pass the user prompt to an Ideation LLM n_ideas times,
each result is an “idea”
Critique: Pass the ideas to a Critique LLM which looks for flaws in the ideas
& picks the best one
Resolve: Pass the critique to a Resolver LLM which improves upon the best idea
& outputs only the (improved version of) the best output
In total, the SmartGPT workflow will use n_ideas+2 LLM calls
Note that SmartLLMChain will only improve results (compared to a basic LLMChain),
when the underlying models have the capability for reflection, which smaller models
often don’t.
Finally, a SmartLLMChain assumes that each underlying LLM outputs exactly 1 result.
Classes¶
smart_llm.base.SmartLLMChain
Classes¶
smart_llm.base.SmartLLMChain
Chain for applying self-critique using the SmartGPT workflow.
langchain_experimental.sql¶
SQL Chain interacts with SQL Database.
Classes¶
sql.base.SQLDatabaseChain
Chain for interacting with SQL Database.
sql.base.SQLDatabaseSequentialChain
Chain for querying SQL database that is a sequential chain.
sql.vector_sql.VectorSQLDatabaseChain
Chain for interacting with Vector SQL Database.
sql.vector_sql.VectorSQLOutputParser
Output Parser for Vector SQL.
sql.vector_sql.VectorSQLRetrieveAllOutputParser
Parser based on VectorSQLOutputParser.
Functions¶
sql.vector_sql.get_result_from_sqldb(db, cmd)
Get result from SQL Database.
langchain_experimental.tabular_synthetic_data¶
Generate tabular synthetic data using LLM and few-shot template.
Classes¶
tabular_synthetic_data.base.SyntheticDataGenerator
Generate synthetic data using the given LLM and few-shot template.
Functions¶
tabular_synthetic_data.openai.create_openai_data_generator(...)
Create an instance of SyntheticDataGenerator tailored for OpenAI models.
langchain_experimental.text_splitter¶
Experimental text splitter based on semantic similarity.
Classes¶
text_splitter.SemanticChunker(embeddings[, ...])
Split the text based on semantic similarity.
Functions¶
text_splitter.calculate_cosine_distances(...)
Calculate cosine distances between sentences.
text_splitter.combine_sentences(sentences[, ...])
Combine sentences based on buffer size.
langchain_experimental.tools¶
Experimental Python REPL tools.
Classes¶
tools.python.tool.PythonAstREPLTool
Tool for running python code in a REPL.
tools.python.tool.PythonInputs
Python inputs.
tools.python.tool.PythonREPLTool
Tool for running python code in a REPL.
Functions¶
Tool for running python code in a REPL.
Functions¶
tools.python.tool.sanitize_input(query)
Sanitize input to the python REPL.
langchain_experimental.tot¶
Implementation of a Tree of Thought (ToT) chain based on the paper
[Large Language Model Guided Tree-of-Thought](https://arxiv.org/pdf/2305.08291.pdf).
The Tree of Thought (ToT) chain uses a tree structure to explore the space of
possible solutions to a problem.
Classes¶
tot.base.ToTChain
Chain implementing the Tree of Thought (ToT).
tot.checker.ToTChecker
Tree of Thought (ToT) checker.
tot.controller.ToTController([c])
Tree of Thought (ToT) controller.
tot.memory.ToTDFSMemory([stack])
Memory for the Tree of Thought (ToT) chain.
tot.prompts.CheckerOutputParser
Parse and check the output of the language model.
tot.prompts.JSONListOutputParser
Parse the output of a PROPOSE_PROMPT response.
tot.thought.Thought
A thought in the ToT.
tot.thought.ThoughtValidity(value)
Enum for the validity of a thought.
tot.thought_generation.BaseThoughtGenerationStrategy
Base class for a thought generation strategy.
tot.thought_generation.ProposePromptStrategy
Strategy that is sequentially using a "propose prompt".
tot.thought_generation.SampleCoTStrategy
Sample strategy from a Chain-of-Thought (CoT) prompt.
Functions¶
tot.prompts.get_cot_prompt()
Get the prompt for the Chain of Thought (CoT) chain.
tot.prompts.get_propose_prompt()
Get the prompt for the PROPOSE_PROMPT chain.
langchain_experimental.utilities¶
Utility that simulates a standalone Python REPL.
Classes¶
utilities.python.PythonREPL
Utility that simulates a standalone Python REPL.
Classes¶
utilities.python.PythonREPL
Simulates a standalone Python REPL.
langchain_experimental.video_captioning¶
Classes¶
video_captioning.base.VideoCaptioningChain
Video Captioning Chain.
video_captioning.models.AudioModel(...)
video_captioning.models.BaseModel(...)
video_captioning.models.CaptionModel(...)
video_captioning.models.VideoModel(...)
video_captioning.services.audio_service.AudioProcessor(api_key)
video_captioning.services.caption_service.CaptionProcessor(llm)
video_captioning.services.combine_service.CombineProcessor(llm)
video_captioning.services.image_service.ImageProcessor([...])
video_captioning.services.srt_service.SRTProcessor()
langchain_google_genai 1.0.6¶
langchain_google_genai.chat_models¶
Classes¶
chat_models.ChatGoogleGenerativeAI
Google Generative AI Chat models API.
chat_models.ChatGoogleGenerativeAIError
Custom exception class for errors associated with the Google GenAI API.
langchain_google_genai.embeddings¶
Classes¶
embeddings.GoogleGenerativeAIEmbeddings
Google Generative AI Embeddings.
langchain_google_genai.genai_aqa¶
Google GenerativeAI Attributed Question and Answering (AQA) service.
The GenAI Semantic AQA API is a managed end to end service that allows
developers to create responses grounded on specified passages based on
a user query. For more information visit:
https://developers.generativeai.google/guide
Classes¶
genai_aqa.AqaInput
Input to GenAIAqa.invoke.
genai_aqa.AqaOutput
Output from GenAIAqa.invoke.
genai_aqa.GenAIAqa
Google's Attributed Question and Answering service.
langchain_google_genai.google_vector_store¶
Google Generative AI Vector Store.
The GenAI Semantic Retriever API is a managed end-to-end service that allows
developers to create a corpus of documents to perform semantic search on
related passages given a user query. For more information visit:
https://developers.generativeai.google/guide
Classes¶
google_vector_store.DoesNotExistsException(*, ...)
google_vector_store.GoogleVectorStore(*, ...)
Google GenerativeAI Vector Store.
google_vector_store.ServerSideEmbedding()
Do nothing embedding model where the embedding is done by the server.
langchain_google_genai.llms¶
Classes¶
llms.GoogleGenerativeAI
Google GenerativeAI models.
llms.GoogleModelFamily(value)
An enumeration.
langchain_google_community 1.0.5¶
langchain_google_community.bigquery¶
Classes¶
bigquery.BigQueryLoader(query[, project, ...])
Load from the Google Cloud Platform BigQuery.
langchain_google_community.bigquery_vector_search¶
Vector Store in Google Cloud BigQuery.
Classes¶
bigquery_vector_search.BigQueryVectorSearch(...)
Google Cloud BigQuery vector store.
langchain_google_community.docai¶
Module contains a PDF parser based on Document AI from Google Cloud.
You need to install two libraries to use this parser:
pip install google-cloud-documentai
pip install google-cloud-documentai-toolbox
Classes¶
docai.DocAIParser(*[, client, location, ...])
Google Cloud Document AI parser.
docai.DocAIParsingResults(source_path, ...)
A dataclass to store Document AI parsing results.
langchain_google_community.documentai_warehouse¶
Retriever wrapper for Google Cloud Document AI Warehouse.
Classes¶
documentai_warehouse.DocumentAIWarehouseRetriever
A retriever based on Document AI Warehouse.
langchain_google_community.drive¶
Classes¶
drive.GoogleDriveLoader
Load Google Docs from Google Drive.
langchain_google_community.gcs_directory¶
Classes¶
gcs_directory.GCSDirectoryLoader(...[, ...])
Load from GCS directory.
langchain_google_community.gcs_file¶
Classes¶
gcs_file.GCSFileLoader(project_name, bucket, ...)
Load from GCS file.
langchain_google_community.gmail¶
Classes¶
gmail.base.GmailBaseTool
Base class for Gmail tools.
gmail.create_draft.CreateDraftSchema
Input for CreateDraftTool.
gmail.create_draft.GmailCreateDraft
Tool that creates a draft email for Gmail.
gmail.get_message.GmailGetMessage
Tool that gets a message by ID from Gmail.
gmail.get_message.GmailGetMessage
Tool that gets a message by ID from Gmail.
gmail.get_message.SearchArgsSchema
Input for GetMessageTool.
gmail.get_thread.GetThreadSchema
Input for GetMessageTool.
gmail.get_thread.GmailGetThread
Tool that gets a thread by ID from Gmail.
gmail.loader.GMailLoader(creds[, n, raise_error])
Load data from GMail.
gmail.search.GmailSearch
Tool that searches for messages or threads in Gmail.
gmail.search.Resource(value)
Enumerator of Resources to search.
gmail.search.SearchArgsSchema
Input for SearchGmailTool.
gmail.send_message.GmailSendMessage
Tool that sends a message to Gmail.
gmail.send_message.SendMessageSchema
Input for SendMessageTool.
gmail.toolkit.GmailToolkit
Toolkit for interacting with Gmail.
Functions¶
gmail.utils.build_resource_service([...])
Build a Gmail service.
gmail.utils.clean_email_body(body)
Clean email body.
gmail.utils.get_gmail_credentials([...])
Get credentials.
gmail.utils.import_google()
Import google libraries.
gmail.utils.import_googleapiclient_resource_builder()
Import googleapiclient.discovery.build function.
gmail.utils.import_installed_app_flow()
Import InstalledAppFlow class.
langchain_google_community.google_speech_to_text¶
Classes¶
google_speech_to_text.SpeechToTextLoader(...)
Loader for Google Cloud Speech-to-Text audio transcripts.
langchain_google_community.places_api¶
Chain that calls Google Places API.
Classes¶
places_api.GooglePlacesAPIWrapper
Wrapper around Google Places API.
places_api.GooglePlacesSchema
Input for GooglePlacesTool.
places_api.GooglePlacesTool
Tool that queries the Google places API.
langchain_google_community.search¶
Util that calls Google Search.
Classes¶
search.GoogleSearchAPIWrapper
Wrapper for Google Search API.
search.GoogleSearchResults
search.GoogleSearchAPIWrapper
Wrapper for Google Search API.
search.GoogleSearchResults
Tool that queries the Google Search API and gets back json.
search.GoogleSearchRun
Tool that queries the Google search API.
langchain_google_community.texttospeech¶
Classes¶
texttospeech.TextToSpeechTool
Tool that queries the Google Cloud Text to Speech API.
langchain_google_community.translate¶
Classes¶
translate.GoogleTranslateTransformer(...[, ...])
Translate text documents using Google Cloud Translation.
langchain_google_community.vertex_ai_search¶
Retriever wrapper for Google Vertex AI Search.
Set the following environment variables before the tests:
export PROJECT_ID=… - set to your Google Cloud project ID
export DATA_STORE_ID=… - the ID of the search engine to use for the test
Classes¶
vertex_ai_search.VertexAIMultiTurnSearchRetriever
Google Vertex AI Search retriever for multi-turn conversations.
vertex_ai_search.VertexAISearchRetriever
Google Vertex AI Search retriever.
vertex_ai_search.VertexAISearchSummaryTool
Class that exposes a tool to interface with an App in Vertex Search and Conversation and get the summary of the documents retrieved.
langchain_google_community.vertex_check_grounding¶
Classes¶
vertex_check_grounding.VertexAICheckGroundingWrapper
Initializes the Vertex AI CheckGroundingOutputParser with configurable parameters.
langchain_google_community.vertex_rank¶
Classes¶
vertex_rank.VertexAIRank
Initializes the Vertex AI Ranker with configurable parameters.
langchain_google_community.vision¶
Classes¶
vision.CloudVisionLoader(file_path[, project])
vision.CloudVisionParser([project])
langchain 0.2.3¶
langchain.agents¶
Agent is a class that uses an LLM to choose a sequence of actions to take.
In Chains, a sequence of actions is hardcoded. In Agents,
a language model is used as a reasoning engine to determine which actions
to take and in which order.
Agents select and use Tools and Toolkits for actions.
Class hierarchy:
BaseSingleActionAgent --> LLMSingleActionAgent
                          OpenAIFunctionsAgent
                          XMLAgent
                          Agent --> <name>Agent  # Examples: ZeroShotAgent, ChatAgent
BaseMultiActionAgent  --> OpenAIMultiFunctionsAgent
Main helpers:
AgentType, AgentExecutor, AgentOutputParser, AgentExecutorIterator,
AgentAction, AgentFinish
Classes¶
agents.agent.Agent
[Deprecated] Agent that calls the language model and deciding the action.
agents.agent.AgentExecutor
Agent that is using tools.
agents.agent.AgentOutputParser
Base class for parsing agent output into agent action/finish.
agents.agent.BaseMultiActionAgent
Base Multi Action Agent class.
agents.agent.BaseSingleActionAgent
Base Single Action Agent class.
agents.agent.ExceptionTool
Tool that just returns the query.
agents.agent.LLMSingleActionAgent
[Deprecated] Base class for single action agents.
agents.agent.MultiActionAgentOutputParser
Base class for parsing agent output into agent actions/finish.
agents.agent.RunnableAgent
Agent powered by runnables.
agents.agent.RunnableMultiActionAgent
Agent powered by runnables.
agents.agent_iterator.AgentExecutorIterator(...)
Iterator for AgentExecutor.
agents.agent_toolkits.vectorstore.toolkit.VectorStoreInfo
Information about a VectorStore.
agents.agent_toolkits.vectorstore.toolkit.VectorStoreRouterToolkit
Toolkit for routing between Vector Stores.
agents.agent_toolkits.vectorstore.toolkit.VectorStoreToolkit