projectdavid 1.33.17__py3-none-any.whl → 1.33.18__py3-none-any.whl

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.

Potentially problematic release.


This version of projectdavid might be problematic. Click here for more details.

@@ -138,8 +138,8 @@ class VectorStoreManager(BaseVectorStore):
138
138
  texts: List[str],
139
139
  vectors: List[List[float]],
140
140
  metadata: List[dict],
141
- # *,
142
- # vector_name: Optional[str] = None, # NEW
141
+ *,
142
+ vector_name: Optional[str] = None,
143
143
  ):
144
144
  if not vectors:
145
145
  raise ValueError("Empty vectors list")
@@ -148,6 +148,29 @@ class VectorStoreManager(BaseVectorStore):
148
148
  if len(vec) != expected or not all(isinstance(v, float) for v in vec):
149
149
  raise ValueError(f"Vector {i} malformed")
150
150
 
151
+ # AUTO-DETECT VECTOR FIELD IF NONE GIVEN
152
+ if vector_name is None:
153
+ collection_info = self.client.get_collection(collection_name=store_name)
154
+ vectors_config = collection_info.config.params.vectors
155
+
156
+ # Qdrant 1.x vs 2.x compatibility
157
+ if isinstance(vectors_config, dict):
158
+ vector_fields = list(vectors_config.keys())
159
+ else:
160
+ vector_fields = [vectors_config]
161
+
162
+ if len(vector_fields) == 1:
163
+ vector_name = vector_fields[0]
164
+ log.debug(
165
+ "Auto-detected vector_name='%s' for store=%s",
166
+ vector_name,
167
+ store_name,
168
+ )
169
+ else:
170
+ raise ValueError(
171
+ f"Multiple vector fields exist: {vector_fields}; please specify vector_name"
172
+ )
173
+
151
174
  points = [
152
175
  qdrant.PointStruct(
153
176
  id=self._generate_vector_id(),
@@ -156,13 +179,13 @@ class VectorStoreManager(BaseVectorStore):
156
179
  )
157
180
  for txt, vec, meta in zip(texts, vectors, metadata)
158
181
  ]
182
+
159
183
  try:
160
- # pass vector_name if multi-column
161
184
  self.client.upsert(
162
185
  collection_name=store_name,
163
186
  points=points,
164
187
  wait=True,
165
- # vector_name=vector_name, # ignored if None
188
+ vector_name=vector_name,
166
189
  )
167
190
  return {"status": "success", "points_inserted": len(points)}
168
191
  except Exception as e:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: projectdavid
3
- Version: 1.33.17
3
+ Version: 1.33.18
4
4
  Summary: Python SDK for interacting with the Entities Assistant API.
5
5
  Author-email: Francis Neequaye Armah <francis.neequaye@projectdavid.co.uk>
6
6
  License: PolyForm Noncommercial License 1.0.0
@@ -20,7 +20,7 @@ projectdavid/clients/synchronous_inference_wrapper.py,sha256=qh94rtNlLqgIxiA_ZbQ
20
20
  projectdavid/clients/threads_client.py,sha256=ekzU5w14zftmtmFkiec3NC90Of-_KVSUY1qH9cmfSFg,6771
21
21
  projectdavid/clients/tools_client.py,sha256=GkCVOmwpAoPqVt6aYmH0G1HIFha3iEwR9IIf9teR0j8,11487
22
22
  projectdavid/clients/users_client.py,sha256=eCuUb9qvyH1GUFhZu6TRL9zdoK-qzHSs8-Vmrk_0mmg,13729
23
- projectdavid/clients/vector_store_manager.py,sha256=78760RiuKuGD0aQ6I7mSnQN9KjatlE95MY4JsVXUlBI,12871
23
+ projectdavid/clients/vector_store_manager.py,sha256=_mbN7s_WMb64CMYzXmlDva3F-n8lMiKgwGRNWsnS-tU,13682
24
24
  projectdavid/clients/vectors.py,sha256=ubkB4rzcfDSYHFwOpa99Y4nHSJan_0jKnzyCYFJ15ck,31665
25
25
  projectdavid/clients/vision-file_processor.py,sha256=19ft9IUeY5x9_22vC4JqndiFlpDYyUn6z1ygv-EV2NE,16852
26
26
  projectdavid/clients/vision_vectors.py,sha256=cysPVbUzW3byB82MTqG2X1Iz5ZAe82WTS1JfQcoqVhE,40229
@@ -37,8 +37,8 @@ projectdavid/utils/monitor_launcher.py,sha256=3YAgJdeuaUvq3JGvpA4ymqFsAnk29nH5q9
37
37
  projectdavid/utils/peek_gate.py,sha256=5whMRnDOQjATRpThWDJkvY9ScXuJ7Sd_-9rvGgXeTAQ,2532
38
38
  projectdavid/utils/run_monitor.py,sha256=F_WkqIP-qnWH-4llIbileWWLfRj2Q1Cg-ni23SR1rec,3786
39
39
  projectdavid/utils/vector_search_formatter.py,sha256=YTe3HPGec26qGY7uxY8_GS8lc4QaN6aNXMzkl29nZpI,1735
40
- projectdavid-1.33.17.dist-info/licenses/LICENSE,sha256=_8yjiEGttpS284BkfhXxfERqTRZW_tUaHiBB0GTJTMg,4563
41
- projectdavid-1.33.17.dist-info/METADATA,sha256=BcZJ6aDRkRmfMs8XVdUkFeHAfLxjJpWr8ElVgxyh820,11555
42
- projectdavid-1.33.17.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
43
- projectdavid-1.33.17.dist-info/top_level.txt,sha256=kil8GU4s7qYRfNnzGnFHhZnSNRSxgNG-J4HLgQMmMtw,13
44
- projectdavid-1.33.17.dist-info/RECORD,,
40
+ projectdavid-1.33.18.dist-info/licenses/LICENSE,sha256=_8yjiEGttpS284BkfhXxfERqTRZW_tUaHiBB0GTJTMg,4563
41
+ projectdavid-1.33.18.dist-info/METADATA,sha256=5Xhz_r8ereveoS9tTG5IJlkdeq8Y_JrrCtIW6fZHzUA,11555
42
+ projectdavid-1.33.18.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
43
+ projectdavid-1.33.18.dist-info/top_level.txt,sha256=kil8GU4s7qYRfNnzGnFHhZnSNRSxgNG-J4HLgQMmMtw,13
44
+ projectdavid-1.33.18.dist-info/RECORD,,