| | from autogpt.memory.local import LocalCache |
| | from autogpt.memory.no_memory import NoMemory |
| |
|
| | |
| | |
| | supported_memory = ["local", "no_memory"] |
| |
|
| | try: |
| | from autogpt.memory.redismem import RedisMemory |
| |
|
| | supported_memory.append("redis") |
| | except ImportError: |
| | |
| | RedisMemory = None |
| |
|
| | try: |
| | from autogpt.memory.pinecone import PineconeMemory |
| |
|
| | supported_memory.append("pinecone") |
| | except ImportError: |
| | |
| | PineconeMemory = None |
| |
|
| | try: |
| | from autogpt.memory.weaviate import WeaviateMemory |
| |
|
| | supported_memory.append("weaviate") |
| | except ImportError: |
| | |
| | WeaviateMemory = None |
| |
|
| | try: |
| | from autogpt.memory.milvus import MilvusMemory |
| |
|
| | supported_memory.append("milvus") |
| | except ImportError: |
| | |
| | MilvusMemory = None |
| |
|
| |
|
| | def get_memory(cfg, init=False): |
| | memory = None |
| | if cfg.memory_backend == "pinecone": |
| | if not PineconeMemory: |
| | print( |
| | "Error: Pinecone is not installed. Please install pinecone" |
| | " to use Pinecone as a memory backend." |
| | ) |
| | else: |
| | memory = PineconeMemory(cfg) |
| | if init: |
| | memory.clear() |
| | elif cfg.memory_backend == "redis": |
| | if not RedisMemory: |
| | print( |
| | "Error: Redis is not installed. Please install redis-py to" |
| | " use Redis as a memory backend." |
| | ) |
| | else: |
| | memory = RedisMemory(cfg) |
| | elif cfg.memory_backend == "weaviate": |
| | if not WeaviateMemory: |
| | print( |
| | "Error: Weaviate is not installed. Please install weaviate-client to" |
| | " use Weaviate as a memory backend." |
| | ) |
| | else: |
| | memory = WeaviateMemory(cfg) |
| | elif cfg.memory_backend == "milvus": |
| | if not MilvusMemory: |
| | print( |
| | "Error: Milvus sdk is not installed." |
| | "Please install pymilvus to use Milvus as memory backend." |
| | ) |
| | else: |
| | memory = MilvusMemory(cfg) |
| | elif cfg.memory_backend == "no_memory": |
| | memory = NoMemory(cfg) |
| |
|
| | if memory is None: |
| | memory = LocalCache(cfg) |
| | if init: |
| | memory.clear() |
| | return memory |
| |
|
| |
|
| | def get_supported_memory_backends(): |
| | return supported_memory |
| |
|
| |
|
| | __all__ = [ |
| | "get_memory", |
| | "LocalCache", |
| | "RedisMemory", |
| | "PineconeMemory", |
| | "NoMemory", |
| | "MilvusMemory", |
| | "WeaviateMemory", |
| | ] |
| |
|