@@ -83,7 +83,7 @@ def setup_blob_manager(
83
83
storage_container : str ,
84
84
storage_resource_group : str ,
85
85
subscription_id : str ,
86
- search_images : bool ,
86
+ store_page_images : bool ,
87
87
storage_key : Union [str , None ] = None ,
88
88
):
89
89
storage_creds : Union [AsyncTokenCredential , str ] = azure_credential if storage_key is None else storage_key
@@ -94,7 +94,7 @@ def setup_blob_manager(
94
94
credential = storage_creds ,
95
95
resourceGroup = storage_resource_group ,
96
96
subscriptionId = subscription_id ,
97
- store_page_images = search_images ,
97
+ store_page_images = store_page_images ,
98
98
)
99
99
100
100
@@ -176,7 +176,6 @@ def setup_file_processors(
176
176
document_intelligence_key : Union [str , None ] = None ,
177
177
local_pdf_parser : bool = False ,
178
178
local_html_parser : bool = False ,
179
- search_images : bool = False ,
180
179
use_content_understanding : bool = False ,
181
180
use_multimodal : bool = False ,
182
181
openai_client : Union [AsyncOpenAI , None ] = None ,
@@ -248,6 +247,20 @@ def setup_file_processors(
248
247
return file_processors
249
248
250
249
250
+ def setup_image_embeddings_service (
251
+ azure_credential : AsyncTokenCredential , vision_endpoint : Union [str , None ], use_multimodal : bool
252
+ ) -> Union [ImageEmbeddings , None ]:
253
+ image_embeddings_service : Optional [ImageEmbeddings ] = None
254
+ if use_multimodal :
255
+ if vision_endpoint is None :
256
+ raise ValueError ("A computer vision endpoint is required when GPT-4-vision is enabled." )
257
+ image_embeddings_service = ImageEmbeddings (
258
+ endpoint = vision_endpoint ,
259
+ token_provider = get_bearer_token_provider (azure_credential , "https://cognitiveservices.azure.com/.default" ),
260
+ )
261
+ return image_embeddings_service
262
+
263
+
251
264
async def main (strategy : Strategy , setup_index : bool = True ):
252
265
if setup_index :
253
266
await strategy .setup ()
@@ -372,7 +385,7 @@ async def main(strategy: Strategy, setup_index: bool = True):
372
385
storage_container = os .environ ["AZURE_STORAGE_CONTAINER" ],
373
386
storage_resource_group = os .environ ["AZURE_STORAGE_RESOURCE_GROUP" ],
374
387
subscription_id = os .environ ["AZURE_SUBSCRIPTION_ID" ],
375
- search_images = use_gptvision ,
388
+ store_page_images = use_multimodal ,
376
389
storage_key = clean_key_if_exists (args .storagekey ),
377
390
)
378
391
list_file_strategy = setup_list_file_strategy (
@@ -436,12 +449,17 @@ async def main(strategy: Strategy, setup_index: bool = True):
436
449
document_intelligence_key = clean_key_if_exists (args .documentintelligencekey ),
437
450
local_pdf_parser = os .getenv ("USE_LOCAL_PDF_PARSER" ) == "true" ,
438
451
local_html_parser = os .getenv ("USE_LOCAL_HTML_PARSER" ) == "true" ,
439
- search_images = use_gptvision ,
440
452
use_content_understanding = use_content_understanding ,
441
453
use_multimodal = use_multimodal ,
442
454
content_understanding_endpoint = os .getenv ("AZURE_CONTENTUNDERSTANDING_ENDPOINT" ),
443
455
)
444
456
457
+ image_embeddings_service = setup_image_embeddings_service (
458
+ azure_credential = azd_credential ,
459
+ vision_endpoint = os .getenv ("AZURE_VISION_ENDPOINT" ),
460
+ use_multimodal = use_multimodal ,
461
+ )
462
+
445
463
ingestion_strategy = FileStrategy (
446
464
search_info = search_info ,
447
465
list_file_strategy = list_file_strategy ,
0 commit comments