projectdavid 1.33.0__py3-none-any.whl → 1.33.2__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.

@@ -72,8 +72,9 @@ class VectorStoreClient:
72
72
  api_key: Optional[str] = None,
73
73
  *,
74
74
  vector_store_host: str = "localhost",
75
- file_processor_kwargs: Optional[dict] = None, # 🔶 add arg
75
+ file_processor_kwargs: Optional[dict] = None,
76
76
  ):
77
+
77
78
  self.base_url = (base_url or os.getenv("BASE_URL", "")).rstrip("/")
78
79
  self.api_key = api_key or os.getenv("API_KEY")
79
80
  if not self.base_url:
@@ -94,7 +95,18 @@ class VectorStoreClient:
94
95
  self.identifier_service = UtilsInterface.IdentifierService()
95
96
 
96
97
  # 🔶 forward kwargs into the upgraded FileProcessor
97
- self.file_processor = FileProcessor(**(file_processor_kwargs or {}))
98
+
99
+ self.file_processor = FileProcessor(
100
+ **(
101
+ file_processor_kwargs
102
+ or {
103
+ "use_gpu": False,
104
+ "use_detection": True,
105
+ "use_geo": True,
106
+ "use_ocr": True,
107
+ }
108
+ )
109
+ )
98
110
 
99
111
  log.info("VectorStoreClient → %s", self.base_url)
100
112
 
@@ -494,27 +506,89 @@ class VectorStoreClient:
494
506
 
495
507
  def create_vector_vision_store(
496
508
  self,
497
- name: str = "vision",
498
- ):
509
+ name: str,
510
+ *,
511
+ vector_size: int = 384,
512
+ distance_metric: str = "Cosine",
513
+ config: Optional[Dict[str, Any]] = None,
514
+ vectors_config: Optional[Dict[str, qdrant.VectorParams]] = None, # ← NEW
515
+ ) -> ValidationInterface.VectorStoreRead:
499
516
 
500
- vectors_config = {
501
- # Raw visual embeddings (OpenCLIP ViT-H/14 → 1024-D)
502
- "image_vector": qdrant.VectorParams(
503
- size=1024, distance=qdrant.Distance.COSINE
504
- ),
505
- # Language embeddings of your BLIP-2 captions → 1024-D
506
- "caption_vector": qdrant.VectorParams(
507
- size=1024, distance=qdrant.Distance.COSINE
508
- ),
509
- # Object-region embeddings (YOLO crop + Sentence-BERT) → 1024-D
510
- "region_vector": qdrant.VectorParams(
511
- size=1024, distance=qdrant.Distance.COSINE
512
- ),
513
- # Geo-location unit vectors (RegioNet) → 3-D
514
- "geo_vector": qdrant.VectorParams(size=3, distance=qdrant.Distance.COSINE),
515
- }
517
+ if not vectors_config:
518
+ vectors_config = {
519
+ # Raw visual embeddings (OpenCLIP ViT-H/14 → 1024-D)
520
+ "image_vector": qdrant.VectorParams(
521
+ size=1024, distance=qdrant.Distance.COSINE
522
+ ),
523
+ # Language embeddings of your BLIP-2 captions → 1024-D
524
+ "caption_vector": qdrant.VectorParams(
525
+ size=1024, distance=qdrant.Distance.COSINE
526
+ ),
527
+ # Object-region embeddings (YOLO crop + Sentence-BERT) → 1024-D
528
+ "region_vector": qdrant.VectorParams(
529
+ size=1024, distance=qdrant.Distance.COSINE
530
+ ),
531
+ # Geo-location unit vectors (RegioNet) → 3-D
532
+ "geo_vector": qdrant.VectorParams(
533
+ size=3, distance=qdrant.Distance.COSINE
534
+ ),
535
+ }
516
536
 
517
- return self.create_vector_store(name=name, vectors_config=vectors_config)
537
+ return self._run_sync(
538
+ self._create_vs_async(
539
+ name,
540
+ vector_size,
541
+ distance_metric,
542
+ config,
543
+ vectors_config,
544
+ )
545
+ )
546
+
547
+ def create_vector_vision_store_for_user(
548
+ self,
549
+ owner_id: str,
550
+ name: str,
551
+ *,
552
+ vector_size: int = 384,
553
+ distance_metric: str = "Cosine",
554
+ config: Optional[Dict[str, Any]] = None,
555
+ vectors_config: Optional[Dict[str, qdrant.VectorParams]] = None, # ← NEW
556
+ ) -> ValidationInterface.VectorStoreRead:
557
+ """
558
+ Admin-only: create a store on behalf of another user.
559
+ Pass `vectors_config` to define a multi-vector schema.
560
+ """
561
+ if not vectors_config:
562
+
563
+ vectors_config = {
564
+ # Raw visual embeddings (OpenCLIP ViT-H/14 → 1024-D)
565
+ "image_vector": qdrant.VectorParams(
566
+ size=1024, distance=qdrant.Distance.COSINE
567
+ ),
568
+ # Language embeddings of your BLIP-2 captions → 1024-D
569
+ "caption_vector": qdrant.VectorParams(
570
+ size=1024, distance=qdrant.Distance.COSINE
571
+ ),
572
+ # Object-region embeddings (YOLO crop + Sentence-BERT) → 1024-D
573
+ "region_vector": qdrant.VectorParams(
574
+ size=1024, distance=qdrant.Distance.COSINE
575
+ ),
576
+ # Geo-location unit vectors (RegioNet) → 3-D
577
+ "geo_vector": qdrant.VectorParams(
578
+ size=3, distance=qdrant.Distance.COSINE
579
+ ),
580
+ }
581
+
582
+ return self._run_sync(
583
+ self._create_vs_for_user_async(
584
+ owner_id,
585
+ name,
586
+ vector_size,
587
+ distance_metric,
588
+ config,
589
+ vectors_config,
590
+ )
591
+ )
518
592
 
519
593
  def create_vector_store_for_user(
520
594
  self,
projectdavid/entity.py CHANGED
@@ -30,11 +30,15 @@ class Entity:
30
30
  self,
31
31
  base_url: Optional[str] = None,
32
32
  api_key: Optional[str] = None,
33
+ file_processor_kwargs: Optional[dict] = None,
33
34
  ):
34
35
  """
35
36
  Initialize the main client with configuration.
36
37
  Optionally, a configuration object can be injected to decouple from environment variables.
37
38
  """
39
+
40
+ self.file_processor_kwargs = file_processor_kwargs
41
+
38
42
  self.base_url = base_url or os.getenv(
39
43
  "ENTITIES_BASE_URL", "http://localhost:9000/"
40
44
  )
@@ -145,7 +149,9 @@ class Entity:
145
149
  def vectors(self) -> VectorStoreClient:
146
150
  if self._vectors_client is None:
147
151
  self._vectors_client = VectorStoreClient(
148
- base_url=self.base_url, api_key=self.api_key
152
+ base_url=self.base_url,
153
+ api_key=self.api_key,
154
+ file_processor_kwargs=self.file_processor_kwargs,
149
155
  )
150
156
 
151
157
  return self._vectors_client
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: projectdavid
3
- Version: 1.33.0
3
+ Version: 1.33.2
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
@@ -1,6 +1,6 @@
1
1
  projectdavid/__init__.py,sha256=QKjYL0-e4ifiRWyp05lK_dGm0u_jaxo36fyF-c0qqeI,224
2
2
  projectdavid/_version.py,sha256=_qiy4uXbgWEU-in9CM9h6tk4Ddhzpvv-HnoAYSuiGg0,100
3
- projectdavid/entity.py,sha256=uqRggs1zLWYnKnycPwO5pUhVegOJN8nCC0R9F2RYROI,5634
3
+ projectdavid/entity.py,sha256=SRZg3E9Cifz3O0Ax4FNeWXWSgOZFKUBzLYtdjbH-e_w,5832
4
4
  projectdavid/events.py,sha256=m_vu5BgphrM6dpBmnkTXK8jczwyYXO1UwXXI9340vjQ,720
5
5
  projectdavid/serializers.py,sha256=OdipJGXGGjRoZBcPkpmHSDgsNptXUg0CMn2TQoCZIOI,1723
6
6
  projectdavid/clients/actions_client.py,sha256=9DVkQzRA3wQ7DIHR1ab6VFQYcIkhExAQz1-EK8MEt2c,17006
@@ -20,7 +20,7 @@ projectdavid/clients/threads_client.py,sha256=ekzU5w14zftmtmFkiec3NC90Of-_KVSUY1
20
20
  projectdavid/clients/tools_client.py,sha256=GkCVOmwpAoPqVt6aYmH0G1HIFha3iEwR9IIf9teR0j8,11487
21
21
  projectdavid/clients/users_client.py,sha256=eCuUb9qvyH1GUFhZu6TRL9zdoK-qzHSs8-Vmrk_0mmg,13729
22
22
  projectdavid/clients/vector_store_manager.py,sha256=q-ZgRQVX_S3nMrKYhmvkVrDjDRzM3ZFzUF55HBGRTe8,12861
23
- projectdavid/clients/vectors.py,sha256=sDbT1GbsIuwzvInuDDcyX4scuuLJDWWgL7Fmc-pguRQ,37672
23
+ projectdavid/clients/vectors.py,sha256=co6CStRnsWk0yO5EyH5AV2c9vMYaGk3VAwIQD4Y-N20,40108
24
24
  projectdavid/constants/platform.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
25
  projectdavid/services/logging_service.py,sha256=jdoRL46E42Ar8JFTDOV-xVD67CulcHSN-xhcEqA5CXQ,2643
26
26
  projectdavid/synthesis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -34,8 +34,8 @@ projectdavid/utils/monitor_launcher.py,sha256=3YAgJdeuaUvq3JGvpA4ymqFsAnk29nH5q9
34
34
  projectdavid/utils/peek_gate.py,sha256=5whMRnDOQjATRpThWDJkvY9ScXuJ7Sd_-9rvGgXeTAQ,2532
35
35
  projectdavid/utils/run_monitor.py,sha256=F_WkqIP-qnWH-4llIbileWWLfRj2Q1Cg-ni23SR1rec,3786
36
36
  projectdavid/utils/vector_search_formatter.py,sha256=YTe3HPGec26qGY7uxY8_GS8lc4QaN6aNXMzkl29nZpI,1735
37
- projectdavid-1.33.0.dist-info/licenses/LICENSE,sha256=_8yjiEGttpS284BkfhXxfERqTRZW_tUaHiBB0GTJTMg,4563
38
- projectdavid-1.33.0.dist-info/METADATA,sha256=1Yhr24U_T9-Wv6Ladi67ZjTqwvcmpP4C241DtcCJMRk,11554
39
- projectdavid-1.33.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
40
- projectdavid-1.33.0.dist-info/top_level.txt,sha256=kil8GU4s7qYRfNnzGnFHhZnSNRSxgNG-J4HLgQMmMtw,13
41
- projectdavid-1.33.0.dist-info/RECORD,,
37
+ projectdavid-1.33.2.dist-info/licenses/LICENSE,sha256=_8yjiEGttpS284BkfhXxfERqTRZW_tUaHiBB0GTJTMg,4563
38
+ projectdavid-1.33.2.dist-info/METADATA,sha256=AXinjpf8D5k2ySQ7SE_roXMsr8SaPHlklAYwXW6cjG0,11554
39
+ projectdavid-1.33.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
40
+ projectdavid-1.33.2.dist-info/top_level.txt,sha256=kil8GU4s7qYRfNnzGnFHhZnSNRSxgNG-J4HLgQMmMtw,13
41
+ projectdavid-1.33.2.dist-info/RECORD,,