| 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", |
| ] |
|
|