KEYE commited on
Commit
86a1ccb
·
verified ·
1 Parent(s): 6d5cde3

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +42 -0
app.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import sys
3
+ from loguru import logger
4
+
5
+ if __name__ == '__main__':
6
+ logger.info("准备启动 Infinity-Parser2-Pro 前端服务...")
7
+
8
+ # ==========================================
9
+ # 1. 动态注入环境变量 (覆盖代码中的硬编码)
10
+ # ==========================================
11
+ # 在这里统一管理你们的 API 密钥和地址
12
+ os.environ['infinity_parser2_pro_base'] = "https://jgcochhge9k5cohjme5jgqeompbh998m.openapi-hw.infly.cn"
13
+ os.environ['infinity_parser2_pro_Authorization'] = "PpcXBN1L0ND81LdIgOBNYGC8ILFYno+wx7BMzapDaFc="
14
+
15
+ # 禁用 Gradio 的 SSR 模式以提高兼容性
16
+ os.environ['GRADIO_SSR_MODE'] = "false"
17
+
18
+ # ==========================================
19
+ # 2. 依赖检查 (可选,确保 pdf2image 所需的 poppler 存在)
20
+ # ==========================================
21
+ if sys.platform.startswith('linux'):
22
+ # 你的 inf_gradio.py 内部其实已经写了 apt-get install poppler-utils
23
+ # 这里可以直接跳过,或者做进一步的权限检查
24
+ pass
25
+
26
+ # ==========================================
27
+ # 3. 启动 Gradio 应用
28
+ # ==========================================
29
+ # 因为 inf_gradio.py 没有使用 argparse 接收参数,
30
+ # 我们直接通过 python 运行它即可,它内部的 demo.launch() 会接管一切。
31
+ try:
32
+ logger.info("正在拉起 inf_gradio.py ...")
33
+ # 使用 os.system 或 subprocess 运行主脚本
34
+ exit_code = os.system(f"{sys.executable} inf_gradio.py")
35
+
36
+ if exit_code != 0:
37
+ logger.error(f"服务异常退出,退出码: {exit_code}")
38
+
39
+ except KeyboardInterrupt:
40
+ logger.info("接收到终止信号,服务已关闭。")
41
+ except Exception as e:
42
+ logger.exception(f"启动过程中发生错误: {e}")