#!/usr/bin/env python3
"""
OCR验证示例脚本
使用VLM（视觉语言模型）对比OCR识别结果和原图，找出差异部分
"""

import os
import sys
from pathlib import Path

# 添加当前目录到Python路径
current_dir = Path(__file__).parent
sys.path.append(str(current_dir))

from ocr_verification import verify_ocr_with_vlm, analyze_differences

def main():
    """主函数"""
    # 检查是否存在环境变量
    if not os.getenv("YUSYS_MULTIMODAL_API_KEY"):
        print("错误: 未找到YUSYS_MULTIMODAL_API_KEY环境变量")
        print("请设置你的API密钥:")
        print("export YUSYS_MULTIMODAL_API_KEY='your_api_key_here'")
        return 1
    
    if not os.getenv("YUSYS_MULTIMODAL_API_BASE"):
        print("错误: 未找到YUSYS_MULTIMODAL_API_BASE环境变量")
        print("请设置API基础URL:")
        print("export YUSYS_MULTIMODAL_API_BASE='your_api_base_here'")
        return 1
    
    # 文件路径
    # 注意：这里假设你有利润表的原图，如果没有，请替换为实际的图片路径
    image_path = "至远彩色印刷工业有限公司-2022年母公司_2.png"  # 请替换为你的利润表图片路径
    ocr_json_path = "demo_54fa7ad0_page_1.json"
    output_path = "ocr_differences.json"
    
    # 检查文件是否存在
    if not Path(image_path).exists():
        print(f"错误: 找不到图片文件: {image_path}")
        print("请确保图片文件存在，或修改脚本中的image_path变量")
        return 1
    
    if not Path(ocr_json_path).exists():
        print(f"错误: 找不到OCR结果文件: {ocr_json_path}")
        return 1
    
    try:
        print("开始OCR验证...")
        print(f"原图: {image_path}")
        print(f"OCR结果: {ocr_json_path}")
        print(f"输出文件: {output_path}")
        print("-" * 50)
        
        # 进行OCR验证
        result = verify_ocr_with_vlm(image_path, ocr_json_path, output_path)
        
        print("\n" + "="*50)
        print("OCR验证完成！")
        print("="*50)
        
        # 分析差异
        analyze_differences(output_path)
        
        return 0
        
    except Exception as e:
        print(f"OCR验证失败: {e}")
        return 1

if __name__ == "__main__":
    exit_code = main()
    sys.exit(exit_code)
