in supporting-blog-content/building-multimodal-rag-with-elasticsearch-gotham/stages/03-stage/index_all_modalities.py [0:0]
def process_evidence(generator, es_manager, file_path, modality, description, metadata):
"""Helper function to process each piece of evidence"""
try:
if not os.path.exists(file_path):
logger.error(f"File not found: {file_path}")
return
embedding = generator.generate_embedding([file_path], modality)
response = es_manager.index_content(
embedding=embedding,
modality=modality,
description=description,
content_path=file_path,
metadata=metadata,
)
# Convert Elasticsearch response to dict for JSON serialization
response_dict = {
"result": response["result"],
"_id": response["_id"],
"_index": response["_index"],
}
logger.info(f"\n\nIndexed {modality}: {json.dumps(response_dict, indent=2)}")
except Exception as e:
logger.error(f"Error processing {modality}: {str(e)}")