Bases: BaseReader
心灵读者。
Psychic是一个平台,通过一个通用API,允许从许多SaaS应用程序同步数据。
该读取器连接到Psychic的一个实例,并在给定连接器ID、账户ID和API密钥的情况下从中读取数据。
在docs.psychic.dev了解更多信息。
Parameters:
Name |
Type |
Description |
Default |
psychic_key |
str
|
Psychic的秘钥。
在https://dashboard.psychic.dev/api-keys获取一个。
|
None
|
Source code in llama_index/readers/psychic/base.py
12
13
14
15
16
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 | class PsychicReader(BaseReader):
"""心灵读者。
Psychic是一个平台,通过一个通用API,允许从许多SaaS应用程序同步数据。
该读取器连接到Psychic的一个实例,并在给定连接器ID、账户ID和API密钥的情况下从中读取数据。
在docs.psychic.dev了解更多信息。
Args:
psychic_key (str): Psychic的秘钥。
在https://dashboard.psychic.dev/api-keys获取一个。"""
def __init__(self, psychic_key: Optional[str] = None) -> None:
"""使用参数进行初始化。"""
try:
from psychicapi import ConnectorId, Psychic
except ImportError:
raise ImportError(
"`psychicapi` package not found, please run `pip install psychicapi`"
)
if psychic_key is None:
psychic_key = os.environ["PSYCHIC_SECRET_KEY"]
if psychic_key is None:
raise ValueError(
"Must specify `psychic_key` or set environment "
"variable `PSYCHIC_SECRET_KEY`."
)
self.psychic = Psychic(secret_key=psychic_key)
self.ConnectorId = ConnectorId
def load_data(
self, connector_id: Optional[str] = None, account_id: Optional[str] = None
) -> List[Document]:
"""从Psychic连接中加载数据。
Args:
connector_id(str):要连接的连接器ID
account_id(str):要连接的账户ID
Returns:
List[Document]:文档列表。
"""
if not connector_id or not account_id:
raise ValueError("Must specify both `connector_id` and `account_id`.")
if connector_id not in self.ConnectorId.__members__:
raise ValueError("Invalid connector ID.")
# get all the documents in the database
docs = []
data = self.psychic.get_documents(self.ConnectorId[connector_id], account_id)
for resource in data:
text = resource.get("content")
doc_id = resource.get("uri")
docs.append(
Document(
text=text,
id_=doc_id,
metadata={"connector_id": connector_id, "account_id": account_id},
)
)
return docs
|
load_data
load_data(
connector_id: Optional[str] = None,
account_id: Optional[str] = None,
) -> List[Document]
从Psychic连接中加载数据。
Returns:
Source code in llama_index/readers/psychic/base.py
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 | def load_data(
self, connector_id: Optional[str] = None, account_id: Optional[str] = None
) -> List[Document]:
"""从Psychic连接中加载数据。
Args:
connector_id(str):要连接的连接器ID
account_id(str):要连接的账户ID
Returns:
List[Document]:文档列表。
"""
if not connector_id or not account_id:
raise ValueError("Must specify both `connector_id` and `account_id`.")
if connector_id not in self.ConnectorId.__members__:
raise ValueError("Invalid connector ID.")
# get all the documents in the database
docs = []
data = self.psychic.get_documents(self.ConnectorId[connector_id], account_id)
for resource in data:
text = resource.get("content")
doc_id = resource.get("uri")
docs.append(
Document(
text=text,
id_=doc_id,
metadata={"connector_id": connector_id, "account_id": account_id},
)
)
return docs
|