feat: adds base class level methods
This commit is contained in:
parent
e7fe66470a
commit
2b23455431
2 changed files with 39 additions and 2 deletions
|
|
@ -40,3 +40,40 @@ class CacheDBInterface(ABC):
|
||||||
yield
|
yield
|
||||||
finally:
|
finally:
|
||||||
self.release()
|
self.release()
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
async def add_qa(
|
||||||
|
self,
|
||||||
|
user_id: str,
|
||||||
|
session_id: str,
|
||||||
|
question: str,
|
||||||
|
context: str,
|
||||||
|
answer: str,
|
||||||
|
ttl: int | None = 86400,
|
||||||
|
):
|
||||||
|
"""
|
||||||
|
Add a Q/A/context triplet to a cache session.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
async def get_latest_qa(self, user_id: str, session_id: str, last_n: int = 10):
|
||||||
|
"""
|
||||||
|
Retrieve the most recent Q/A/context triplets for a session.
|
||||||
|
"""
|
||||||
|
pass
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
async def get_all_qas(self, user_id: str, session_id: str):
|
||||||
|
"""
|
||||||
|
Retrieve all Q/A/context triplets for the given session.
|
||||||
|
"""
|
||||||
|
pass
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
async def close(self):
|
||||||
|
"""
|
||||||
|
Gracefully close any async connections.
|
||||||
|
"""
|
||||||
|
pass
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
"""Factory to get the appropriate cache coordination engine (e.g., Redis)."""
|
"""Factory to get the appropriate cache coordination engine (e.g., Redis)."""
|
||||||
|
|
||||||
from functools import lru_cache
|
from functools import lru_cache
|
||||||
|
from typing import Optional
|
||||||
from cognee.infrastructure.databases.cache.config import get_cache_config
|
from cognee.infrastructure.databases.cache.config import get_cache_config
|
||||||
|
|
||||||
from cognee.infrastructure.databases.cache.cache_db_interface import CacheDBInterface
|
from cognee.infrastructure.databases.cache.cache_db_interface import CacheDBInterface
|
||||||
|
|
||||||
config = get_cache_config()
|
config = get_cache_config()
|
||||||
|
|
@ -51,7 +51,7 @@ def create_cache_engine(
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
def get_cache_engine(lock_key: str) -> CacheDBInterface:
|
def get_cache_engine(lock_key: Optional[str] = None) -> CacheDBInterface:
|
||||||
"""
|
"""
|
||||||
Returns a cache adapter instance using current context configuration.
|
Returns a cache adapter instance using current context configuration.
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue