Skip to content

一个基于AI的智能文档处理工具,支持文档分析、格式转换和图片处理等功能,使用stremlit进行功能演示。

License

Notifications You must be signed in to change notification settings

CynicalHeart/document-analysis-streamlit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

智能文档分析工具

一个基于AI的智能文档处理工具,支持文档分析、格式转换和图片处理等功能

项目介绍

智能文档分析工具是一个功能强大的文档处理系统,它能够自动分析文档内容,提取关键信息,并将文档转换为标准化的Markdown格式。该工具特别适合处理需求文档、产品设计文档等专业文档,能够帮助用户快速理解文档内容,提高工作效率。

主要功能

  1. 智能标签与摘要生成

    • 自动提取文档中的高频关键词作为标签
    • 生成简明扼要的文档摘要
    • 支持多种AI模型(DeepSeek、OpenRouter),符合OpenAI格式
  2. 文档标准化处理

    • 支持Word文档和PDF文档输入
    • 统一输出为Markdown格式,可下载
    • 自动优化文档结构和语言表达
  3. 图片处理

    • 自动提取文档中的图片
    • 支持上传到图床并生成在线链接
    • 保持图片质量和格式
  4. 可视化界面

    • 简洁直观的用户界面
    • 实时预览处理结果
    • 支持多种输出格式

环境要求

  • Python 3.12+
  • uv(推荐)或 pip(Python包管理器)

安装说明

使用 uv(推荐)

  1. 安装 uv(如果尚未安装):
# Windows
pip install uv

# Linux/Mac
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 克隆项目到本地:
git clone https://github.com/yourusername/document-analysis.git
cd document-analysis
  1. 创建并激活虚拟环境:
# Windows
uv venv
.venv\Scripts\activate

# Linux/Mac
uv venv
source .venv/bin/activate
  1. 安装依赖:
uv pip install -e .

使用 pip(备选方案)

  1. 克隆项目到本地:
git clone https://github.com/yourusername/document-analysis.git

cd document-analysis
  1. 创建并激活虚拟环境:
python -m venv venv
# Windows
venv\Scripts\activate

# Linux/Mac
source venv/bin/activate
  1. 安装依赖:
pip install -e .

配置说明

  1. 复制环境配置文件:
cp .env.example .env
  1. 编辑.env文件,填入相应的API密钥:
DEEPSEEK_API_KEY=your_deepseek_api_key_here

OPENROUTER_API_KEY=your_openrouter_api_key_here

SMMS_API_KEY=your_smms_api_key_here

使用说明

  1. 启动应用:
streamlit run main.py
  1. 在浏览器中访问应用(默认地址:http://localhost:8501)

  2. 使用步骤:

    • 上传文档(支持.docx和.pdf格式)
    • 选择AI模型和响应模式
    • 点击"开始分析"按钮
    • 查看分析结果
    • 可选择提取图片或转换为Markdown

演示截图

  1. 示例界面 主界面

  2. 功能列表 功能

  3. 提示词管理 图片处理

自定义配置

AI参数配置

在应用界面的侧边栏可以调整以下参数:

  • Temperature:控制输出的随机性(0.1-1.0)
  • Max Tokens:控制生成文本的最大长度(500-4000)

提示词配置

可以在app/prompt/prompts.json中自定义提示词:

  • 支持流式响应和JSON响应两种模式
  • 可以设置多个提示词模板
  • 通过is_active字段控制使用哪个提示词

开发计划

  • 支持更多文档格式
  • 支持更多分析模型
  • 添加文档对比功能
  • 尝试讲解析的文档回填至AI分析的结果中

贡献指南

欢迎提交Issue和Pull Request!

  1. 代码符合PEP 8规范
  2. 如有需要,请添加必要的测试用例
  3. 更新相关文档

许可证

本项目采用MIT许可证,详情请参见LICENSE文件。

致谢

感谢以下开源项目的支持:

About

一个基于AI的智能文档处理工具,支持文档分析、格式转换和图片处理等功能,使用stremlit进行功能演示。

Topics

Resources

License

Stars

Watchers

Forks

Languages