Skip to content

Commit e424298

Browse files
committed
Fix CI/CD by waiting for the neo4j index to be created
1 parent 3044733 commit e424298

File tree

4 files changed

+12
-9
lines changed

4 files changed

+12
-9
lines changed

coverage-badge.svg

Lines changed: 1 addition & 1 deletion
Loading

synalinks/src/knowledge_bases/database_adapters/neo4j_adapter.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ def __init__(
2727
embedding_model=None,
2828
metric="cosine",
2929
wipe_on_start=False,
30-
**kwargs,
3130
):
3231
super().__init__(
3332
index_name=index_name,
@@ -77,13 +76,12 @@ def __init__(
7776
asyncio.get_event_loop().run_until_complete(
7877
self.query(query, params=params),
7978
)
80-
8179
for entity_model in self.entity_models:
8280
node_label = self.sanitize_label(entity_model.get_schema().get("title"))
8381
index_name = to_snake_case(node_label)
8482
query = "\n".join(
8583
[
86-
f"CREATE VECTOR INDEX `{index_name}` IF NOT EXISTS",
84+
f"CREATE VECTOR INDEX $indexName IF NOT EXISTS",
8785
f"FOR (n:{node_label}) ON n.embedding",
8886
"OPTIONS {indexConfig : {"
8987
" `vector.dimensions`: $dimension,"
@@ -92,12 +90,17 @@ def __init__(
9290
]
9391
)
9492
params = {
93+
"indexName": index_name,
9594
"dimension": self.embedding_dim,
9695
"similarityFunction": self.metric,
9796
}
9897
asyncio.get_event_loop().run_until_complete(
9998
self.query(query, params=params),
10099
)
100+
if self.entity_models:
101+
asyncio.get_event_loop().run_until_complete(
102+
self.query("CALL db.awaitIndexes(300)"),
103+
)
101104

102105
def sanitize_label(self, label):
103106
"""Sanitize labels for Neo4j compatibility"""

synalinks/src/knowledge_bases/database_adapters/neo4j_adapter_test.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ async def test_adapter(self, mock_embedding):
4747
adapter = Neo4JAdapter(
4848
index_name="neo4j://localhost:7687",
4949
embedding_model=embedding_model,
50-
data_models=[Document, Chunk],
50+
entity_models=[Document, Chunk],
5151
relation_models=[IsPartOf],
5252
wipe_on_start=True,
5353
)
@@ -64,7 +64,7 @@ async def test_adapter_update_entity(self, mock_embedding):
6464
adapter = Neo4JAdapter(
6565
index_name="neo4j://localhost:7687",
6666
embedding_model=embedding_model,
67-
data_models=[Document, Chunk],
67+
entity_models=[Document, Chunk],
6868
relation_models=[IsPartOf],
6969
wipe_on_start=True,
7070
)
@@ -88,7 +88,7 @@ async def test_adapter_update_relation(self, mock_embedding):
8888
adapter = Neo4JAdapter(
8989
index_name="neo4j://localhost:7687",
9090
embedding_model=embedding_model,
91-
data_models=[Document, Chunk],
91+
entity_models=[Document, Chunk],
9292
relation_models=[IsPartOf],
9393
wipe_on_start=True,
9494
)
@@ -120,7 +120,7 @@ async def test_adapter_similarity_search(self, mock_embedding):
120120
adapter = Neo4JAdapter(
121121
index_name="neo4j://localhost:7687",
122122
embedding_model=embedding_model,
123-
data_models=[Document, Chunk],
123+
entity_models=[Document, Chunk],
124124
relation_models=[IsPartOf],
125125
wipe_on_start=True,
126126
)

synalinks/src/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from synalinks.src.api_export import synalinks_export
44

55
# Unique source of truth for the version number.
6-
__version__ = "0.3.002"
6+
__version__ = "0.3.003"
77

88

99
@synalinks_export("synalinks.version")

0 commit comments

Comments
 (0)