| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- """
- 异步性能测试脚本
- 对比同步和异步实现的性能差异
- """
- 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()
|