DocResearch / README.md
wangxingjun778's picture
add yaml in readme
17e4281

A newer version of the Gradio SDK is available: 5.42.0

Upgrade
metadata
title: Doc Research
emoji: 🔬
colorFrom: yellow
colorTo: green
sdk: gradio
sdk_version: 5.39.0
app_file: app.py
pinned: false

Gradio研究工作流应用

这是一个基于Gradio的研究工作流应用,支持文件上传和URL输入的智能研究分析。

功能特性

  • 📝 用户提示输入:支持中英文输入研究问题或任务描述
  • 📁 文件上传功能:支持多文件上传,默认支持PDF格式
  • 🔗 URLs输入功能:支持多个URL输入,每行一个
  • 🚀 一键运行:点击按钮即可开始研究工作流
  • 📊 结果显示:实时显示执行结果和工作目录
  • 🗂️ 临时工作目录:每次运行创建新的工作目录
  • 🌐 多语言支持:支持中文和英文界面
  • 👥 多用户并发:支持多用户同时使用,默认最大并发数为8
  • 🔒 用户隔离:每个用户拥有独立的工作空间和会话数据
  • ⏱️ 任务超时控制:自动清理超时任务,默认超时时间15分钟
  • 📈 实时状态监控:显示系统并发状态和用户任务状态

安装和运行

  1. 安装依赖:
pip install -r requirements.txt
  1. 配置环境变量:
cp .env.example .env
# 编辑 .env 文件,填入你的API配置
  1. 运行应用:
python app.py
  1. 打开浏览器访问:http://localhost:7860

环境变量配置

  • OPENAI_API_KEY: OpenAI API密钥
  • OPENAI_BASE_URL: OpenAI API基础URL
  • OPENAI_MODEL_ID: 使用的模型ID
  • GRADIO_DEFAULT_CONCURRENCY_LIMIT: Gradio默认并发限制(默认:8)
  • LOCAL_MODE: 本地模式开关(默认:true)

使用说明

  1. 用户提示:在文本框中输入您的研究目标或问题
  2. 文件上传:选择需要分析的文件(支持多选)
  3. URLs输入:输入相关的网页链接,每行一个URL
  4. 开始研究:点击运行按钮开始执行工作流
  5. 查看结果:在右侧区域查看执行结果和工作目录路径

工作目录结构

每次运行都会在 temp_workspace 目录下创建新的工作目录:

temp_workspace/
├── task_20231201_143022_a1b2c3d4/
├── task_20231201_143156_e5f6g7h8/
└── ...

并发控制说明

并发限制

  • 系统默认支持最大8个用户同时执行研究任务
  • 可通过环境变量 GRADIO_DEFAULT_CONCURRENCY_LIMIT 调整并发数
  • 超出并发限制的用户会收到系统繁忙提示

任务管理

  • 每个用户同时只能执行一个研究任务
  • 超时任务会被自动清理,释放系统资源

状态监控

  • 实时显示系统并发状态:活跃任务数/最大并发数
  • 显示用户任务状态:运行中、已完成、失败等
  • 提供系统状态刷新功能

用户隔离

  • 每个用户拥有独立的工作目录和会话数据
  • 本地模式下使用时间戳区分不同会话
  • 远程模式下基于用户ID进行隔离

注意事项

  • 确保有足够的磁盘空间用于临时文件存储
  • 定期清理工作空间以释放存储空间
  • 确保网络连接正常以访问外部URLs
  • 在高并发场景下,建议适当增加服务器资源配置
  • 长时间运行的任务可能会被超时机制清理