Singlestore
单存储读取器
基类:EventBaseReader
SingleStore 读取器。
参数:
| 名称 |
类型 |
描述 |
默认 |
scheme
|
str
|
|
required
|
host
|
str
|
|
required
|
port
|
str
|
|
required
|
user
|
str
|
|
required
|
password
|
str
|
|
required
|
dbname
|
str
|
|
required
|
table_name
|
str
|
|
required
|
content_field
|
str
|
|
'text'
|
vector_field
|
str
|
|
'embedding'
|
workflows/handler.py 中的源代码llama_index/readers/singlestore/base.py
10
11
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
75
76
77
78
79
80
81
82
83
84
85
86 | class SingleStoreReader(BaseReader):
"""
SingleStore reader.
Args:
scheme (str): Database Scheme.
host (str): Database Host.
port (str): Database Port.
user (str): Database User.
password (str): Database Password.
dbname (str): Database Name.
table_name (str): Table Name.
content_field (str): Content Field.
vector_field (str): Vector Field.
"""
def __init__(
self,
scheme: str,
host: str,
port: str,
user: str,
password: str,
dbname: str,
table_name: str,
content_field: str = "text",
vector_field: str = "embedding",
):
"""Initialize with parameters."""
self.scheme = scheme
self.host = host
self.port = port
self.user = user
self.password = password
self.dbname = dbname
self.table_name = table_name
self.content_field = content_field
self.vector_field = vector_field
try:
import pymysql
pymysql.install_as_MySQLdb()
except ImportError:
pass
self.DatabaseReader = DatabaseReader
self.reader = self.DatabaseReader(
scheme=self.scheme,
host=self.host,
port=self.port,
user=self.user,
password=self.password,
dbname=self.dbname,
)
def load_data(self, search_embedding: str, top_k: int = 5) -> List[Document]:
"""
Load data from SingleStore.
Args:
search_embedding (str): The embedding to search.
top_k (int): Number of results to return.
Returns:
List[Document]: A list of documents.
"""
query = f"""
SELECT {self.content_field}, DOT_PRODUCT_F64({self.vector_field}, JSON_ARRAY_PACK_F64(\'{search_embedding}\')) AS score
FROM {self.table_name}
ORDER BY score
DESC LIMIT {top_k}
"""
return self.reader.load_data(query=query)
|
load_data
load_data(search_embedding: str, top_k: int = 5) -> List[文档]
从SingleStore加载数据。
参数:
| 名称 |
类型 |
描述 |
默认 |
search_embedding
|
str
|
|
required
|
top_k
|
int
|
|
5
|
返回:
workflows/handler.py 中的源代码llama_index/readers/singlestore/base.py
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86 | def load_data(self, search_embedding: str, top_k: int = 5) -> List[Document]:
"""
Load data from SingleStore.
Args:
search_embedding (str): The embedding to search.
top_k (int): Number of results to return.
Returns:
List[Document]: A list of documents.
"""
query = f"""
SELECT {self.content_field}, DOT_PRODUCT_F64({self.vector_field}, JSON_ARRAY_PACK_F64(\'{search_embedding}\')) AS score
FROM {self.table_name}
ORDER BY score
DESC LIMIT {top_k}
"""
return self.reader.load_data(query=query)
|
选项:
成员:- SingleStoreReader