Skip to content

Simple

SimpleDocumentStore #

Bases: KVDocumentStore

简单的文档(节点)存储。

一个用于文档和节点对象的内存存储。

Source code in llama_index/core/storage/docstore/simple_docstore.py
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
class SimpleDocumentStore(KVDocumentStore):
    """简单的文档(节点)存储。

一个用于文档和节点对象的内存存储。

Args:
    simple_kvstore(SimpleKVStore):简单的键值存储
    namespace(str):文档存储的命名空间"""

    def __init__(
        self,
        simple_kvstore: Optional[SimpleKVStore] = None,
        namespace: Optional[str] = None,
        batch_size: int = DEFAULT_BATCH_SIZE,
    ) -> None:
        """初始化一个SimpleDocumentStore。"""
        simple_kvstore = simple_kvstore or SimpleKVStore()
        super().__init__(simple_kvstore, namespace=namespace, batch_size=batch_size)

    @classmethod
    def from_persist_dir(
        cls,
        persist_dir: str = DEFAULT_PERSIST_DIR,
        namespace: Optional[str] = None,
        fs: Optional[fsspec.AbstractFileSystem] = None,
    ) -> "SimpleDocumentStore":
        """从持久化目录创建一个SimpleDocumentStore。

Args:
    persist_dir(str):持久化存储的目录
    namespace(可选[str]):文档存储的命名空间
    fs(可选[fsspec.AbstractFileSystem]):要使用的文件系统
"""
        if fs is not None:
            persist_path = concat_dirs(persist_dir, DEFAULT_PERSIST_FNAME)
        else:
            persist_path = os.path.join(persist_dir, DEFAULT_PERSIST_FNAME)
        return cls.from_persist_path(persist_path, namespace=namespace, fs=fs)

    @classmethod
    def from_persist_path(
        cls,
        persist_path: str,
        namespace: Optional[str] = None,
        fs: Optional[fsspec.AbstractFileSystem] = None,
    ) -> "SimpleDocumentStore":
        """从持久路径创建一个SimpleDocumentStore。

Args:
    persist_path (str): 持久化存储的路径
    namespace (Optional[str]): 文档存储的命名空间
    fs (Optional[fsspec.AbstractFileSystem]): 要使用的文件系统
"""
        simple_kvstore = SimpleKVStore.from_persist_path(persist_path, fs=fs)
        return cls(simple_kvstore, namespace)

    def persist(
        self,
        persist_path: str = DEFAULT_PERSIST_PATH,
        fs: Optional[fsspec.AbstractFileSystem] = None,
    ) -> None:
        """持久化存储。"""
        if isinstance(self._kvstore, BaseInMemoryKVStore):
            self._kvstore.persist(persist_path, fs=fs)

    @classmethod
    def from_dict(
        cls, save_dict: dict, namespace: Optional[str] = None
    ) -> "SimpleDocumentStore":
        simple_kvstore = SimpleKVStore.from_dict(save_dict)
        return cls(simple_kvstore, namespace)

    def to_dict(self) -> dict:
        assert isinstance(self._kvstore, SimpleKVStore)
        return self._kvstore.to_dict()

from_persist_dir classmethod #

from_persist_dir(
    persist_dir: str = DEFAULT_PERSIST_DIR,
    namespace: Optional[str] = None,
    fs: Optional[AbstractFileSystem] = None,
) -> SimpleDocumentStore

从持久化目录创建一个SimpleDocumentStore。

Source code in llama_index/core/storage/docstore/simple_docstore.py
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
    @classmethod
    def from_persist_dir(
        cls,
        persist_dir: str = DEFAULT_PERSIST_DIR,
        namespace: Optional[str] = None,
        fs: Optional[fsspec.AbstractFileSystem] = None,
    ) -> "SimpleDocumentStore":
        """从持久化目录创建一个SimpleDocumentStore。

Args:
    persist_dir(str):持久化存储的目录
    namespace(可选[str]):文档存储的命名空间
    fs(可选[fsspec.AbstractFileSystem]):要使用的文件系统
"""
        if fs is not None:
            persist_path = concat_dirs(persist_dir, DEFAULT_PERSIST_FNAME)
        else:
            persist_path = os.path.join(persist_dir, DEFAULT_PERSIST_FNAME)
        return cls.from_persist_path(persist_path, namespace=namespace, fs=fs)

from_persist_path classmethod #

from_persist_path(
    persist_path: str,
    namespace: Optional[str] = None,
    fs: Optional[AbstractFileSystem] = None,
) -> SimpleDocumentStore

从持久路径创建一个SimpleDocumentStore。

Parameters:

Name Type Description Default
persist_path str

持久化存储的路径

required
namespace Optional[str]

文档存储的命名空间

None
fs Optional[AbstractFileSystem]

要使用的文件系统

None
Source code in llama_index/core/storage/docstore/simple_docstore.py
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
    @classmethod
    def from_persist_path(
        cls,
        persist_path: str,
        namespace: Optional[str] = None,
        fs: Optional[fsspec.AbstractFileSystem] = None,
    ) -> "SimpleDocumentStore":
        """从持久路径创建一个SimpleDocumentStore。

Args:
    persist_path (str): 持久化存储的路径
    namespace (Optional[str]): 文档存储的命名空间
    fs (Optional[fsspec.AbstractFileSystem]): 要使用的文件系统
"""
        simple_kvstore = SimpleKVStore.from_persist_path(persist_path, fs=fs)
        return cls(simple_kvstore, namespace)

persist #

persist(
    persist_path: str = DEFAULT_PERSIST_PATH,
    fs: Optional[AbstractFileSystem] = None,
) -> None

持久化存储。

Source code in llama_index/core/storage/docstore/simple_docstore.py
73
74
75
76
77
78
79
80
def persist(
    self,
    persist_path: str = DEFAULT_PERSIST_PATH,
    fs: Optional[fsspec.AbstractFileSystem] = None,
) -> None:
    """持久化存储。"""
    if isinstance(self._kvstore, BaseInMemoryKVStore):
        self._kvstore.persist(persist_path, fs=fs)