Spaces:
Sleeping
Sleeping
Update document_generator_v2.py
Browse files- document_generator_v2.py +19 -8
document_generator_v2.py
CHANGED
@@ -607,26 +607,37 @@ async def generate_document_outline_endpoint(
|
|
607 |
ai_client = AIClient()
|
608 |
document_generator = DocumentGenerator(ai_client)
|
609 |
vision_tools = VisionTools(ai_client)
|
610 |
-
|
611 |
try:
|
|
|
612 |
image_context = ""
|
613 |
if images:
|
614 |
image_context = await vision_tools.extract_images_info(images)
|
615 |
-
|
616 |
# Store the image_context in the cache
|
617 |
-
|
618 |
-
await FastAPICache.get_backend().set(
|
619 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
620 |
json_document = document_generator.generate_document_outline(
|
621 |
query,
|
622 |
template,
|
623 |
-
image_context=image_context
|
|
|
624 |
)
|
625 |
-
|
626 |
if json_document is None:
|
627 |
raise HTTPException(status_code=500, detail="Failed to generate a valid document outline")
|
628 |
-
|
629 |
return JsonDocumentResponse(json_document=json_document)
|
|
|
630 |
except Exception as e:
|
631 |
raise HTTPException(status_code=500, detail=str(e))
|
632 |
|
|
|
607 |
ai_client = AIClient()
|
608 |
document_generator = DocumentGenerator(ai_client)
|
609 |
vision_tools = VisionTools(ai_client)
|
610 |
+
|
611 |
try:
|
612 |
+
# Handle image processing
|
613 |
image_context = ""
|
614 |
if images:
|
615 |
image_context = await vision_tools.extract_images_info(images)
|
|
|
616 |
# Store the image_context in the cache
|
617 |
+
image_cache_key = f"image_context_{conversation_id}"
|
618 |
+
await FastAPICache.get_backend().set(image_cache_key, image_context, expire=3600) # Cache for 1 hour
|
619 |
+
|
620 |
+
# Handle document processing using the new load_documents function
|
621 |
+
documents_list = []
|
622 |
+
if documents:
|
623 |
+
documents_list = await load_documents(documents)
|
624 |
+
# Store the documents_list in the cache
|
625 |
+
docs_cache_key = f"documents_list_{conversation_id}"
|
626 |
+
await FastAPICache.get_backend().set(docs_cache_key, documents_list, expire=3600) # Cache for 1 hour
|
627 |
+
|
628 |
+
# Generate document outline
|
629 |
json_document = document_generator.generate_document_outline(
|
630 |
query,
|
631 |
template,
|
632 |
+
image_context=image_context,
|
633 |
+
documents_context=documents_list
|
634 |
)
|
635 |
+
|
636 |
if json_document is None:
|
637 |
raise HTTPException(status_code=500, detail="Failed to generate a valid document outline")
|
638 |
+
|
639 |
return JsonDocumentResponse(json_document=json_document)
|
640 |
+
|
641 |
except Exception as e:
|
642 |
raise HTTPException(status_code=500, detail=str(e))
|
643 |
|