mirror of
https://github.com/HKUDS/LightRAG.git
synced 2025-06-26 22:00:19 +00:00
137 lines
4.5 KiB
Python
137 lines
4.5 KiB
Python
STORAGE_IMPLEMENTATIONS = {
|
|
"KV_STORAGE": {
|
|
"implementations": [
|
|
"JsonKVStorage",
|
|
"MongoKVStorage",
|
|
"RedisKVStorage",
|
|
"TiDBKVStorage",
|
|
"PGKVStorage",
|
|
"OracleKVStorage",
|
|
],
|
|
"required_methods": ["get_by_id", "upsert"],
|
|
},
|
|
"GRAPH_STORAGE": {
|
|
"implementations": [
|
|
"NetworkXStorage",
|
|
"Neo4JStorage",
|
|
"MongoGraphStorage",
|
|
"TiDBGraphStorage",
|
|
"AGEStorage",
|
|
"GremlinStorage",
|
|
"PGGraphStorage",
|
|
"OracleGraphStorage",
|
|
],
|
|
"required_methods": ["upsert_node", "upsert_edge"],
|
|
},
|
|
"VECTOR_STORAGE": {
|
|
"implementations": [
|
|
"NanoVectorDBStorage",
|
|
"MilvusVectorDBStorage",
|
|
"ChromaVectorDBStorage",
|
|
"TiDBVectorDBStorage",
|
|
"PGVectorStorage",
|
|
"FaissVectorDBStorage",
|
|
"QdrantVectorDBStorage",
|
|
"OracleVectorDBStorage",
|
|
"MongoVectorDBStorage",
|
|
],
|
|
"required_methods": ["query", "upsert"],
|
|
},
|
|
"DOC_STATUS_STORAGE": {
|
|
"implementations": [
|
|
"JsonDocStatusStorage",
|
|
"PGDocStatusStorage",
|
|
"PGDocStatusStorage",
|
|
"MongoDocStatusStorage",
|
|
],
|
|
"required_methods": ["get_docs_by_status"],
|
|
},
|
|
}
|
|
|
|
# Storage implementation environment variable without default value
|
|
STORAGE_ENV_REQUIREMENTS: dict[str, list[str]] = {
|
|
# KV Storage Implementations
|
|
"JsonKVStorage": [],
|
|
"MongoKVStorage": [],
|
|
"RedisKVStorage": ["REDIS_URI"],
|
|
"TiDBKVStorage": ["TIDB_USER", "TIDB_PASSWORD", "TIDB_DATABASE"],
|
|
"PGKVStorage": ["POSTGRES_USER", "POSTGRES_PASSWORD", "POSTGRES_DATABASE"],
|
|
"OracleKVStorage": [
|
|
"ORACLE_DSN",
|
|
"ORACLE_USER",
|
|
"ORACLE_PASSWORD",
|
|
"ORACLE_CONFIG_DIR",
|
|
],
|
|
# Graph Storage Implementations
|
|
"NetworkXStorage": [],
|
|
"Neo4JStorage": ["NEO4J_URI", "NEO4J_USERNAME", "NEO4J_PASSWORD"],
|
|
"MongoGraphStorage": [],
|
|
"TiDBGraphStorage": ["TIDB_USER", "TIDB_PASSWORD", "TIDB_DATABASE"],
|
|
"AGEStorage": [
|
|
"AGE_POSTGRES_DB",
|
|
"AGE_POSTGRES_USER",
|
|
"AGE_POSTGRES_PASSWORD",
|
|
],
|
|
"GremlinStorage": ["GREMLIN_HOST", "GREMLIN_PORT", "GREMLIN_GRAPH"],
|
|
"PGGraphStorage": [
|
|
"POSTGRES_USER",
|
|
"POSTGRES_PASSWORD",
|
|
"POSTGRES_DATABASE",
|
|
],
|
|
"OracleGraphStorage": [
|
|
"ORACLE_DSN",
|
|
"ORACLE_USER",
|
|
"ORACLE_PASSWORD",
|
|
"ORACLE_CONFIG_DIR",
|
|
],
|
|
# Vector Storage Implementations
|
|
"NanoVectorDBStorage": [],
|
|
"MilvusVectorDBStorage": [],
|
|
"ChromaVectorDBStorage": [],
|
|
"TiDBVectorDBStorage": ["TIDB_USER", "TIDB_PASSWORD", "TIDB_DATABASE"],
|
|
"PGVectorStorage": ["POSTGRES_USER", "POSTGRES_PASSWORD", "POSTGRES_DATABASE"],
|
|
"FaissVectorDBStorage": [],
|
|
"QdrantVectorDBStorage": ["QDRANT_URL"], # QDRANT_API_KEY has default value None
|
|
"OracleVectorDBStorage": [
|
|
"ORACLE_DSN",
|
|
"ORACLE_USER",
|
|
"ORACLE_PASSWORD",
|
|
"ORACLE_CONFIG_DIR",
|
|
],
|
|
"MongoVectorDBStorage": [],
|
|
# Document Status Storage Implementations
|
|
"JsonDocStatusStorage": [],
|
|
"PGDocStatusStorage": ["POSTGRES_USER", "POSTGRES_PASSWORD", "POSTGRES_DATABASE"],
|
|
"MongoDocStatusStorage": [],
|
|
}
|
|
|
|
# Storage implementation module mapping
|
|
STORAGES = {
|
|
"NetworkXStorage": ".kg.networkx_impl",
|
|
"JsonKVStorage": ".kg.json_kv_impl",
|
|
"NanoVectorDBStorage": ".kg.nano_vector_db_impl",
|
|
"JsonDocStatusStorage": ".kg.json_doc_status_impl",
|
|
"Neo4JStorage": ".kg.neo4j_impl",
|
|
"OracleKVStorage": ".kg.oracle_impl",
|
|
"OracleGraphStorage": ".kg.oracle_impl",
|
|
"OracleVectorDBStorage": ".kg.oracle_impl",
|
|
"MilvusVectorDBStorage": ".kg.milvus_impl",
|
|
"MongoKVStorage": ".kg.mongo_impl",
|
|
"MongoDocStatusStorage": ".kg.mongo_impl",
|
|
"MongoGraphStorage": ".kg.mongo_impl",
|
|
"MongoVectorDBStorage": ".kg.mongo_impl",
|
|
"RedisKVStorage": ".kg.redis_impl",
|
|
"ChromaVectorDBStorage": ".kg.chroma_impl",
|
|
"TiDBKVStorage": ".kg.tidb_impl",
|
|
"TiDBVectorDBStorage": ".kg.tidb_impl",
|
|
"TiDBGraphStorage": ".kg.tidb_impl",
|
|
"PGKVStorage": ".kg.postgres_impl",
|
|
"PGVectorStorage": ".kg.postgres_impl",
|
|
"AGEStorage": ".kg.age_impl",
|
|
"PGGraphStorage": ".kg.postgres_impl",
|
|
"GremlinStorage": ".kg.gremlin_impl",
|
|
"PGDocStatusStorage": ".kg.postgres_impl",
|
|
"FaissVectorDBStorage": ".kg.faiss_impl",
|
|
"QdrantVectorDBStorage": ".kg.qdrant_impl",
|
|
}
|