mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-08 07:38:29 +00:00
* initial knowledge * WIP * Adding core knowledge sources * Improve types and better support for file paths * added additional sources * fix linting * update yaml to include optional deps * adding in lorenze feedback * ensure embeddings are persisted * improvements all around Knowledge class * return this * properly reset memory * properly reset memory+knowledge * consolodation and improvements * linted * cleanup rm unused embedder * fix test * fix duplicate * generating cassettes for knowledge test * updated default embedder * None embedder to use default on pipeline cloning * improvements * fixed text_file_knowledge * mypysrc fixes * type check fixes * added extra cassette * just mocks * linted * mock knowledge query to not spin up db * linted * verbose run * put a flag * fix * adding docs * better docs * improvements from review * more docs * linted * rm print * more fixes * clearer docs * added docstrings and type hints for cli --------- Co-authored-by: João Moura <joaomdmoura@gmail.com> Co-authored-by: Lorenze Jay <lorenzejaytech@gmail.com>
63 lines
2.1 KiB
Python
63 lines
2.1 KiB
Python
import subprocess
|
|
import click
|
|
|
|
from crewai.memory.entity.entity_memory import EntityMemory
|
|
from crewai.memory.long_term.long_term_memory import LongTermMemory
|
|
from crewai.memory.short_term.short_term_memory import ShortTermMemory
|
|
from crewai.utilities.task_output_storage_handler import TaskOutputStorageHandler
|
|
from crewai.knowledge.storage.knowledge_storage import KnowledgeStorage
|
|
|
|
|
|
def reset_memories_command(
|
|
long,
|
|
short,
|
|
entity,
|
|
knowledge,
|
|
kickoff_outputs,
|
|
all,
|
|
) -> None:
|
|
"""
|
|
Reset the crew memories.
|
|
|
|
Args:
|
|
long (bool): Whether to reset the long-term memory.
|
|
short (bool): Whether to reset the short-term memory.
|
|
entity (bool): Whether to reset the entity memory.
|
|
kickoff_outputs (bool): Whether to reset the latest kickoff task outputs.
|
|
all (bool): Whether to reset all memories.
|
|
knowledge (bool): Whether to reset the knowledge.
|
|
"""
|
|
|
|
try:
|
|
if all:
|
|
ShortTermMemory().reset()
|
|
EntityMemory().reset()
|
|
LongTermMemory().reset()
|
|
TaskOutputStorageHandler().reset()
|
|
KnowledgeStorage().reset()
|
|
click.echo("All memories have been reset.")
|
|
else:
|
|
if long:
|
|
LongTermMemory().reset()
|
|
click.echo("Long term memory has been reset.")
|
|
|
|
if short:
|
|
ShortTermMemory().reset()
|
|
click.echo("Short term memory has been reset.")
|
|
if entity:
|
|
EntityMemory().reset()
|
|
click.echo("Entity memory has been reset.")
|
|
if kickoff_outputs:
|
|
TaskOutputStorageHandler().reset()
|
|
click.echo("Latest Kickoff outputs stored has been reset.")
|
|
if knowledge:
|
|
KnowledgeStorage().reset()
|
|
click.echo("Knowledge has been reset.")
|
|
|
|
except subprocess.CalledProcessError as e:
|
|
click.echo(f"An error occurred while resetting the memories: {e}", err=True)
|
|
click.echo(e.output, err=True)
|
|
|
|
except Exception as e:
|
|
click.echo(f"An unexpected error occurred: {e}", err=True)
|