llama-index-vector-stores-postgres 0.2.3__tar.gz → 0.2.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {llama_index_vector_stores_postgres-0.2.3 → llama_index_vector_stores_postgres-0.2.5}/PKG-INFO +1 -1
- {llama_index_vector_stores_postgres-0.2.3 → llama_index_vector_stores_postgres-0.2.5}/llama_index/vector_stores/postgres/base.py +54 -2
- {llama_index_vector_stores_postgres-0.2.3 → llama_index_vector_stores_postgres-0.2.5}/pyproject.toml +3 -7
- {llama_index_vector_stores_postgres-0.2.3 → llama_index_vector_stores_postgres-0.2.5}/README.md +0 -0
- {llama_index_vector_stores_postgres-0.2.3 → llama_index_vector_stores_postgres-0.2.5}/llama_index/py.typed +0 -0
- {llama_index_vector_stores_postgres-0.2.3 → llama_index_vector_stores_postgres-0.2.5}/llama_index/vector_stores/postgres/__init__.py +0 -0
|
@@ -148,6 +148,7 @@ class PGVectorStore(BasePydanticVectorStore):
|
|
|
148
148
|
perform_setup: bool
|
|
149
149
|
debug: bool
|
|
150
150
|
use_jsonb: bool
|
|
151
|
+
create_engine_kwargs: Dict
|
|
151
152
|
|
|
152
153
|
hnsw_kwargs: Optional[Dict[str, Any]]
|
|
153
154
|
|
|
@@ -218,6 +219,7 @@ class PGVectorStore(BasePydanticVectorStore):
|
|
|
218
219
|
debug=debug,
|
|
219
220
|
use_jsonb=use_jsonb,
|
|
220
221
|
hnsw_kwargs=hnsw_kwargs,
|
|
222
|
+
create_engine_kwargs=create_engine_kwargs or {},
|
|
221
223
|
)
|
|
222
224
|
|
|
223
225
|
# sqlalchemy model
|
|
@@ -233,8 +235,6 @@ class PGVectorStore(BasePydanticVectorStore):
|
|
|
233
235
|
use_jsonb=use_jsonb,
|
|
234
236
|
)
|
|
235
237
|
|
|
236
|
-
self.create_engine_kwargs = create_engine_kwargs or {}
|
|
237
|
-
|
|
238
238
|
async def close(self) -> None:
|
|
239
239
|
if not self._is_initialized:
|
|
240
240
|
return
|
|
@@ -944,6 +944,58 @@ class PGVectorStore(BasePydanticVectorStore):
|
|
|
944
944
|
await async_session.execute(stmt)
|
|
945
945
|
await async_session.commit()
|
|
946
946
|
|
|
947
|
+
def get_nodes(
|
|
948
|
+
self,
|
|
949
|
+
node_ids: Optional[List[str]] = None,
|
|
950
|
+
filters: Optional[MetadataFilters] = None,
|
|
951
|
+
) -> List[BaseNode]:
|
|
952
|
+
"""Get nodes from vector store."""
|
|
953
|
+
assert (
|
|
954
|
+
node_ids is not None or filters is not None
|
|
955
|
+
), "Either node_ids or filters must be provided"
|
|
956
|
+
|
|
957
|
+
self._initialize()
|
|
958
|
+
from sqlalchemy import select
|
|
959
|
+
|
|
960
|
+
stmt = select(
|
|
961
|
+
self._table_class.node_id,
|
|
962
|
+
self._table_class.text,
|
|
963
|
+
self._table_class.metadata_,
|
|
964
|
+
self._table_class.embedding,
|
|
965
|
+
)
|
|
966
|
+
|
|
967
|
+
if node_ids:
|
|
968
|
+
stmt = stmt.where(self._table_class.node_id.in_(node_ids))
|
|
969
|
+
|
|
970
|
+
if filters:
|
|
971
|
+
filter_clause = self._recursively_apply_filters(filters)
|
|
972
|
+
stmt = stmt.where(filter_clause)
|
|
973
|
+
|
|
974
|
+
nodes: List[BaseNode] = []
|
|
975
|
+
|
|
976
|
+
with self._session() as session, session.begin():
|
|
977
|
+
res = session.execute(stmt).fetchall()
|
|
978
|
+
for item in res:
|
|
979
|
+
node_id = item.node_id
|
|
980
|
+
text = item.text
|
|
981
|
+
metadata = item.metadata_
|
|
982
|
+
embedding = item.embedding
|
|
983
|
+
|
|
984
|
+
try:
|
|
985
|
+
node = metadata_dict_to_node(metadata)
|
|
986
|
+
node.set_content(str(text))
|
|
987
|
+
node.embedding = embedding
|
|
988
|
+
except Exception:
|
|
989
|
+
node = TextNode(
|
|
990
|
+
id_=node_id,
|
|
991
|
+
text=text,
|
|
992
|
+
metadata=metadata,
|
|
993
|
+
embedding=embedding,
|
|
994
|
+
)
|
|
995
|
+
nodes.append(node)
|
|
996
|
+
|
|
997
|
+
return nodes
|
|
998
|
+
|
|
947
999
|
|
|
948
1000
|
def _dedup_results(results: List[DBEmbeddingRow]) -> List[DBEmbeddingRow]:
|
|
949
1001
|
seen_ids = set()
|
{llama_index_vector_stores_postgres-0.2.3 → llama_index_vector_stores_postgres-0.2.5}/pyproject.toml
RENAMED
|
@@ -27,7 +27,7 @@ exclude = ["**/BUILD"]
|
|
|
27
27
|
license = "MIT"
|
|
28
28
|
name = "llama-index-vector-stores-postgres"
|
|
29
29
|
readme = "README.md"
|
|
30
|
-
version = "0.2.
|
|
30
|
+
version = "0.2.5"
|
|
31
31
|
|
|
32
32
|
[tool.poetry.dependencies]
|
|
33
33
|
python = ">=3.8.1,<4.0"
|
|
@@ -70,9 +70,5 @@ include = "llama_index/"
|
|
|
70
70
|
|
|
71
71
|
[tool.pytest.ini_options]
|
|
72
72
|
asyncio_mode = "auto"
|
|
73
|
-
filterwarnings = [
|
|
74
|
-
|
|
75
|
-
]
|
|
76
|
-
markers = [
|
|
77
|
-
"asyncio",
|
|
78
|
-
]
|
|
73
|
+
filterwarnings = ["ignore::DeprecationWarning:"]
|
|
74
|
+
markers = ["asyncio"]
|
{llama_index_vector_stores_postgres-0.2.3 → llama_index_vector_stores_postgres-0.2.5}/README.md
RENAMED
|
File without changes
|
|
File without changes
|