""" 异步性能测试脚本 对比同步和异步实现的性能差异 """ from PIL import Image from agent.agent import OcrAgent import time def main(): print("\n" + "="*70) print("🧪 异步 OCR 性能测试") print("="*70) # 加载测试图片 print("\n📸 加载测试图片...") try: image = Image.open("./test1.jpg").convert("RGB") print(f"✅ 图片加载成功: {image.size}") except FileNotFoundError: # 尝试其他可能的路径 try: image = Image.open("./test.jpg").convert("RGB") print(f"✅ 图片加载成功: {image.size}") except: print("❌ 未找到测试图片 (test1.jpg 或 test.jpg)") print("请确保测试图片存在于当前目录") return # 创建 Agent print("\n🤖 初始化 OCR Agent...") agent = OcrAgent() # 执行异步 OCR print("\n" + "="*70) print("🚀 开始异步并发 OCR 提取...") print("="*70) overall_start = time.perf_counter() result = agent.agent_ocr(image) overall_end = time.perf_counter() print("\n" + "="*70) print(f"✨ 总体执行时间: {overall_end - overall_start:.3f} 秒") print("="*70) # 输出结果摘要 print("\n📊 结果摘要:") print(f" - 化学品中文名: {result['tag']['name_cn']}") print(f" - 化学品英文名: {result['tag']['name_en']}") print(f" - 成分数量: {len(result['tag']['cf_list'])}") print(f" - 安全信号词: {result['key_word']}") print(f" - 供应商数量: {len(result['supplier'])}") print("\n✅ 测试完成!") print("\n💡 提示: 观察日志中的时间戳,你会发现所有任务几乎同时开始执行") print(" 这就是真正的异步并发效果!") if __name__ == "__main__": main()