DB-GPT/dbgpt/storage/knowledge_graph/base.py
M1n9X 759f7d99cc
feat(GraphRAG): enhance GraphRAG by graph community summary (#1801)
Co-authored-by: Florian <fanzhidongyzby@163.com>
Co-authored-by: KingSkyLi <15566300566@163.com>
Co-authored-by: aries_ckt <916701291@qq.com>
Co-authored-by: Fangyin Cheng <staneyffer@gmail.com>
Co-authored-by: yvonneyx <zhuyuxin0627@gmail.com>
2024-08-30 21:59:44 +08:00

33 lines
966 B
Python

"""Knowledge graph base class."""
import logging
from abc import ABC, abstractmethod
from typing import List, Optional
from dbgpt._private.pydantic import ConfigDict
from dbgpt.rag.index.base import IndexStoreBase, IndexStoreConfig
from dbgpt.storage.graph_store.graph import Graph
logger = logging.getLogger(__name__)
class KnowledgeGraphConfig(IndexStoreConfig):
"""Knowledge graph config."""
model_config = ConfigDict(arbitrary_types_allowed=True, extra="allow")
class KnowledgeGraphBase(IndexStoreBase, ABC):
"""Knowledge graph base class."""
@abstractmethod
def get_config(self) -> KnowledgeGraphConfig:
"""Get the knowledge graph config."""
@abstractmethod
def query_graph(self, limit: Optional[int] = None) -> Graph:
"""Get graph data."""
def delete_by_ids(self, ids: str) -> List[str]:
"""Delete document by ids."""
raise Exception("Delete document not supported by knowledge graph")