FirestoreDb
is a class that implements the Db interface using Google Firestore as the backend storage system. It provides high-performance, distributed storage for agent sessions with support for JSON data types and schema versioning.
Parameter | Type | Default | Description |
---|---|---|---|
db_client | Optional[Client] | - | The Firestore client to use. |
project_id | Optional[str] | - | The GCP project ID for Firestore. |
session_collection | Optional[str] | - | Name of the collection to store sessions. |
memory_collection | Optional[str] | - | Name of the collection to store memories. |
metrics_collection | Optional[str] | - | Name of the collection to store metrics. |
eval_collection | Optional[str] | - | Name of the collection to store evaluation runs. |
knowledge_collection | Optional[str] | - | Name of the collection to store knowledge documents. |
Methods
upsert_sessions
Bulk upsert multiple sessions for improved performance on large datasets.
Parameters:
sessions
(List[Session]): List of sessions to upsertdeserialize
(Optional[bool]): Whether to deserialize the sessions. Defaults toTrue
List[Union[Session, Dict[str, Any]]]
upsert_memories
Bulk upsert multiple memories for improved performance on large datasets.
Parameters:
memories
(List[UserMemory]): List of memories to upsertdeserialize
(Optional[bool]): Whether to deserialize the memories. Defaults toTrue
List[Union[UserMemory, Dict[str, Any]]]