Spaces:
Runtime error
Runtime error
| --- reasoning.py | |
| +++ reasoning.py | |
| async def _cross_modal_alignment(self, modalities: Dict[str, List[Dict[str, Any]]], context: Dict[str, Any]) -> List[Dict[str, Any]]: | |
| """Align information across different modalities.""" | |
| try: | |
| # Extract modality types | |
| modal_types = list(modalities.keys()) | |
| # Initialize alignment results | |
| alignments = [] | |
| # Process each modality pair | |
| for i in range(len(modal_types)): | |
| for j in range(i + 1, len(modal_types)): | |
| type1, type2 = modal_types[i], modal_types[j] | |
| # Get items from each modality | |
| items1 = modalities[type1] | |
| items2 = modalities[type2] | |
| # Find alignments between items | |
| for item1 in items1: | |
| for item2 in items2: | |
| similarity = self._calculate_similarity(item1, item2) | |
| if similarity > 0.5: # Threshold for alignment | |
| alignments.append({ | |
| "type1": type1, | |
| "type2": type2, | |
| "item1": item1, | |
| "item2": item2, | |
| "similarity": similarity | |
| }) | |
| # Sort alignments by similarity | |
| alignments.sort(key=lambda x: x["similarity"], reverse=True) | |
| return alignments | |
| except Exception as e: | |
| logging.error(f"Error in cross-modal alignment: {str(e)}") | |
| return [] | |