back to home

ProgrammerAnthony / Anything-Extract

高效文档识别&知识库&本地启动,前后端;整合QAnything、dify等思想和源码,快速批量可靠提取文档关键信息并导出

133 stars
26 forks
1 issues
PythonTypeScriptShell

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing ProgrammerAnthony/Anything-Extract in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/ProgrammerAnthony/Anything-Extract)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

AnythingExtract 一个专注于文档结构化提取的本地化工具,基于 LangChain 高级 RAG 方案,支持 PDF 和 Word 文档的智能信息抽取。 特性 • 📄 **多格式支持**:支持 PDF 和 Word 文档解析 • 🏷️ **灵活标签配置**:支持单选、多选、填空三种标签类型 • 🔍 **高级检索方案**:集成 Multi-Query Retrieval、HyDE、ParentDocumentRetriever、RERANK、ES BM25 等 • 🤖 **本地化部署**:默认使用 Ollama + LanceDB,完全本地运行 • 🎯 **结构化输出**:基于用户配置的标签,LLM 返回结构化数据 • 🚀 **一键启动**:提供命令行快速启动方案 • 🔌 **开放接口**:易于扩展其他 AI API 和向量数据库 技术栈 • **后端**:Python + FastAPI + LangChain • **前端**:Next.js + TypeScript + Tailwind CSS • **向量数据库**:LanceDB(默认) • **LLM**:Ollama(默认,可扩展) • **Embedding**:Ollama(默认,可扩展) • **包管理**:pip(Python) 快速开始 方式一:Docker 部署(推荐) 前置要求:Docker Desktop >= 4.26 (Windows/Mac) 或 Docker + Docker Compose v2 (Linux) 首次启动时会自动构建镜像。国内用户建议提前配置Docker镜像源加快拉取速度。 访问地址: • 前端:http://localhost:3001 • 后端 API:http://localhost:8888 > **Windows 用户**:需在 WSL2 或 Git Bash 中运行 ,或直接使用: > 详细 Docker 配置说明见本文档底部 Docker 部署 章节。 --- 方式二:本地直接运行 前置要求 • Python 3.10+ • Node.js 18+ 和 npm • Ollama(本地运行,可选但推荐) 安装 方式一:使用安装脚本(推荐) 安装脚本会自动: • 检查并安装必要的依赖(Python、Node.js、pip) • 创建 Python 虚拟环境 • 安装后端和前端依赖 • 创建环境变量配置文件 • 创建必要的存储目录 方式二:手动安装 启动 启动脚本会自动: • 检查依赖是否已安装 • 检查环境变量配置 • 启动后端和前端服务 **注意**:首次运行前请确保已运行 或 安装依赖。 详细文档请参考 系统架构文档。 配置 • 复制环境变量模板: • 编辑 ,配置 Ollama 和 LanceDB: 轻量级模型推荐(适合 CPU 部署) **LLM 模型(用于信息提取):** • (3.8B, ~2.2GB) - **推荐**,平衡性能和速度 • (1B, ~600MB) - 超轻量,极速但效果稍差 • (0.5B, ~300MB) - 极轻量,最快但效果一般 • (1.1B, ~650MB) - 超轻量 **Embedding 模型(用于向量化):** • (274MB) - **推荐**,平衡性能和速度 • (22MB) - 超轻量,极速但效果稍差 • (33MB) - 轻量且效果不错 **高性能模型(需要更多资源):** • LLM: (7B, ~4GB), (7B, ~4GB) • 需要更多内存和计算资源 **模型选择建议:** • **CPU 部署**:使用 + (默认配置) • **极轻量需求**:使用 + • **性能优先**:使用 或 + 使用流程 • **配置标签**:在标签配置页面创建标签(单选/多选/填空) • **上传文档**:上传 PDF 或 Word 文档 • **文档处理**:系统自动解析、向量化并索引文档 • **信息提取**:基于配置的标签,从文档中提取结构化信息 • **结果查看**:在结果页面查看提取的结构化数据 项目结构 Docker 部署 服务架构 | 服务 | 描述 | 端口 | 启用方式 | |------|------|------|---------| | | Python FastAPI 后端 | 8888 | 默认 | | | Next.js 生产前端 | 3001 | 默认 | | | QAnything OCR + PDF 解析服务 | 7001, 9009 | | | | Ollama LLM/Embedding 容器 | 11434 | | 平台说明 | 平台 | compose 文件 | Ollama 地址 | QAnything 镜像 | |------|------------|------------|----------------| | Linux | | | | | macOS | | | | | Windows | | | | 启动命令 或直接使用 Docker Compose: 关于 OCR/PDF 模型服务 会启动 容器,该镜像内置了所有 ML 模型(OCR、PDF 解析),存储于镜像内的 。 **完全独立,无需 QAnything 项目**:OCR/PDF 服务代码已内置于本项目 目录,Docker 容器会挂载该目录并建立软链: • → • → 然后仅启动 OCR(:7001) 和 PDF Parser(:9009) 两个服务供后端调用。 数据持久化 目录挂载到后端容器,重建容器不会丢失数据: • - 向量数据库 • - 解析后的文档 • - 上传文件 • - SQLite 数据库 文档 • 系统架构文档 - 完整的系统架构、API 接口、安装和使用指南 贡献 欢迎提交 Issue 和 Pull Request! 许可证 MIT License