Camel.toolkits.thinking toolkit
ThinkingToolkit
A toolkit for recording thoughts during reasoning processes.
init
Initialize the ThinkingToolkit.
Parameters:
- timeout (Optional[float]): The timeout for the toolkit. (default: :obj:
None
)
plan
Use the tool to create a plan or strategy. This tool is for outlining the approach or steps to be taken before starting the actual thinking process.
Parameters:
- plan (str): A forward-looking plan or strategy.
Returns:
str: The recorded plan.
hypothesize
Use the tool to form a hypothesis or make a prediction. This tool is for making educated guesses or predictions based on the plan, before detailed thinking.
Parameters:
- hypothesis (str): A hypothesis or prediction to test.
Returns:
str: The recorded hypothesis.
think
Use the tool to think about something. It will not obtain new information or change the database, but just append the thought to the log. Use it for initial thoughts and observations during the execution of the plan.
Parameters:
- thought (str): A thought to think about.
Returns:
str: The recorded thought.
contemplate
Use the tool to deeply contemplate an idea or concept. This tool is for deeper, more thorough exploration of thoughts, considering multiple perspectives and implications. It’s more comprehensive than basic thinking but more focused than reflection.
Parameters:
- contemplation (str): A deeper exploration of thoughts or concepts.
Returns:
str: The recorded contemplation.
critique
Use the tool to critically evaluate current thoughts. This tool is for identifying potential flaws, biases, or weaknesses in the current thinking process.
Parameters:
- critique (str): A critical evaluation of current thoughts.
Returns:
str: The recorded critique.
synthesize
Use the tool to combine and integrate various thoughts. This tool is for bringing together different thoughts, contemplations, and critiques into a coherent understanding.
Parameters:
- synthesis (str): An integration of multiple thoughts and insights.
Returns:
str: The recorded synthesis.
reflect
Use the tool to reflect on the entire process. This tool is for final evaluation of the entire thinking process, including plans, hypotheses, thoughts, contemplations, critiques, and syntheses.
Parameters:
- reflection (str): A comprehensive reflection on the process.
Returns:
str: The recorded reflection.
get_tools
Returns:
List[FunctionTool]: A list of tools.