#!/usr/bin/env python3 """ PaddleX 服务启动包装器 - 自动激活适配器 用于启动 PaddleX HTTP API 服务并自动激活增强适配器。 适配器位于同一目录下的 adapters/ 子目录中。 使用方法: python start_paddlex_with_adapter.py --serve --port 8111 --device gpu --pipeline config.yaml """ import os import sys from pathlib import Path def main(): # 🎯 在当前进程中激活适配器 if os.getenv("PADDLEX_ENABLE_ADAPTER", "").lower() in ("true", "1", "yes"): # 适配器位于同一目录下的 adapters/ 子目录 script_dir = Path(__file__).parent adapters_path = script_dir / "adapters" if str(adapters_path) not in sys.path: sys.path.insert(0, str(adapters_path)) try: from adapters import apply_table_recognition_adapter, apply_enhanced_doc_preprocessor if apply_table_recognition_adapter() and apply_enhanced_doc_preprocessor(): print("✅ Adapter activated in wrapper process") else: print("⚠️ Failed to activate adapter") except Exception as e: print(f"⚠️ Failed to activate adapter: {e}") # 🎯 解析命令行参数 args = sys.argv[1:] # 去掉脚本名 # 🎯 导入 PaddleX CLI 主函数并在当前进程执行 from paddlex.paddlex_cli import main as paddlex_main # 替换 sys.argv 以传递参数 sys.argv = ['paddlex'] + args # 执行 PaddleX paddlex_main() if __name__ == "__main__": main()