Spaces:
Runtime error
Runtime error
| from typing import List, Dict, Any | |
| from app.image_utils import format_image_url | |
| import logging | |
| # 配置日志 | |
| logging.basicConfig(level=logging.INFO, format='%(asctime)s %(levelname)s %(message)s') | |
| logger = logging.getLogger(__name__) | |
| class GradioFormatter: | |
| """贴纸格式化类,处理贴纸数据的格式化逻辑""" | |
| def format_all_stickers(results: List[Dict[str, Any]]) -> List[List]: | |
| """格式化所有贴纸,用于Gradio UI显示""" | |
| formatted_results = [] | |
| for record in results: | |
| logger.info(f"格式化所有贴纸,用于Gradio UI显示: {record}") | |
| image_url = format_image_url(record['file_name']) | |
| formatted_results.append([ | |
| str(record['id']), | |
| f"", | |
| record.get('title', ''), | |
| record['description'], | |
| ", ".join(record['tags']) if isinstance(record['tags'], list) else record['tags'], | |
| record['file_name'], | |
| record['image_hash'] if 'image_hash' in record else '' | |
| ]) | |
| return formatted_results | |
| def format_search_results(results: List[Dict[str, Any]]) -> List[List]: | |
| """格式化搜索结果,用于Gradio UI显示""" | |
| formatted_results = [] | |
| logger.info(f"Formatting search results: {len(results)} items") | |
| for hit in results: | |
| image_url = format_image_url(hit['entity']['file_name']) | |
| formatted_results.append([ | |
| f"", | |
| round(hit['distance'], 4), | |
| hit['entity'].get('description', ''), | |
| hit['entity'].get('file_name', '') | |
| ]) | |
| return formatted_results | |
| def format_ai_search_results(results: List[Dict[str, Any]]) -> List[List]: | |
| """格式化 AI 搜索结果,用于Gradio UI显示""" | |
| formatted_results = [] | |
| logger.info(f"Formatting AI search results: {len(results)} items") | |
| for hit in results: | |
| image_url = format_image_url(hit['entity']['file_name']) | |
| formatted_results.append([ | |
| f"", | |
| hit['entity'].get('score', ''), | |
| hit['entity'].get('reason', ''), | |
| hit['entity'].get('description', ''), | |
| hit['entity'].get('file_name', '') | |
| ]) | |
| return formatted_results | |
| # 创建格式化器实例 | |
| gradio_formatter = GradioFormatter() |