[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-PromtEngineer--localGPT-Vision":3,"tool-PromtEngineer--localGPT-Vision":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",160015,2,"2026-04-18T11:30:52",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":77,"owner_website":78,"owner_url":79,"languages":80,"stars":101,"forks":102,"last_commit_at":103,"license":76,"difficulty_score":10,"env_os":104,"env_gpu":105,"env_ram":106,"env_deps":107,"category_tags":117,"github_topics":76,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":119,"updated_at":120,"faqs":121,"releases":127},9069,"PromtEngineer\u002FlocalGPT-Vision","localGPT-Vision","Chat with your documents using Vision Language Models. This repo implements an End to End RAG pipeline with both local and proprietary VLMs","localGPT-Vision 是一款端到端的视觉检索增强生成（RAG）系统，旨在让用户能够直接“与文档对话”。它解决了传统工具在处理包含复杂图表、公式或特殊排版的 PDF 及图片时，依赖文字提取（OCR）导致信息丢失或理解偏差的痛点。\n\n用户只需上传文档，系统即可通过自然语言问答形式，精准返回答案并附带原始文档片段作为依据。这款工具特别适合开发者、研究人员以及需要深度分析技术文献或视觉资料的专业人士使用，同时也为希望本地化部署私有知识库的用户提供了灵活方案。\n\n其核心技术亮点在于摒弃了传统的文本提取流程，转而采用 ColPali 或 Colqwen 等先进的视觉编码器，直接将文档页面转化为图像嵌入进行检索。这意味着它能敏锐捕捉页面布局、字体样式及图表结构等视觉线索。在生成回答阶段，localGPT-Vision 支持调用多种强大的视觉语言模型（如 Qwen2-VL、Llama-3.2-Vision、GPT-4o 等），既兼容本地部署以保障数据隐私，也支持云端大模型以获得更强推理能力，实现了从视觉检索到智能生成的无缝闭环。","# localGPT-Vision\n[![GitHub Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FPromtEngineer\u002FlocalGPT-Vision?style=social)](https:\u002F\u002Fgithub.com\u002FPromtEngineer\u002FlocalGPT-Vision\u002Fstargazers)\n[![GitHub Forks](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002FPromtEngineer\u002FlocalGPT-Vision?style=social)](https:\u002F\u002Fgithub.com\u002FPromtEngineer\u002FlocalGPT-Vision\u002Fnetwork\u002Fmembers)\n[![GitHub Issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002FPromtEngineer\u002FlocalGPT-Vision)](https:\u002F\u002Fgithub.com\u002FPromtEngineer\u002FlocalGPT-Vision\u002Fissues)\n[![GitHub Pull Requests](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-pr\u002FPromtEngineer\u002FlocalGPT-Vision)](https:\u002F\u002Fgithub.com\u002FPromtEngineer\u002FlocalGPT-Vision\u002Fpulls)\n[![Twitter Follow](https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Fengineerrprompt?style=social)](https:\u002F\u002Ftwitter.com\u002Fengineerrprompt)\n\n\n[Watch the video on YouTube](https:\u002F\u002Fyoutu.be\u002FYPs4eGDpIY4)\n\n\nlocalGPT-Vision is an end-to-end vision-based Retrieval-Augmented Generation (RAG) system. It allows users to upload and index documents (PDFs and images), ask questions about the content, and receive responses along with relevant document snippets. The retrieval is performed using the [Colqwen](https:\u002F\u002Fhuggingface.co\u002Fvidore\u002Fcolqwen2-v0.1) or [ColPali](https:\u002F\u002Fhuggingface.co\u002Fblog\u002Fmanu\u002Fcolpali) models, and the retrieved pages are passed to a Vision Language Model (VLM) for generating responses. Currently, the code supports these VLMs: \n\n- [Qwen2-VL-7B-Instruct](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2-VL-7B-Instruct)\n- [LLAMA-3.2-11B-Vision](https:\u002F\u002Fhuggingface.co\u002Fmeta-llama\u002FLlama-3.2-11B-Vision)\n- [Pixtral-12B-2409](https:\u002F\u002Fhuggingface.co\u002Fmistralai\u002FPixtral-12B-2409)\n- [Molmo-7B-O-0924](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmo-7B-O-0924)\n- [Google Gemini](https:\u002F\u002Faistudio.google.com\u002Fapp\u002Fprompts\u002Fnew_chat)\n- [OpenAI GPT-4o](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Fvision)\n- [LLAMA-3.2 with Ollama](https:\u002F\u002Follama.com\u002Fblog\u002Fllama3.2-vision)\n\nThe project is built on top of the [Byaldi](https:\u002F\u002Fgithub.com\u002FAnswerDotAI\u002Fbyaldi) library.\n\n## Table of Contents\n- [Features](#features)\n- [Architecture](#architecture)\n- [Prerequisites](#prerequisites)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Project Structure](#project-structure)\n- [System Workflow](#system-workflow)\n- [Contributing](#contributing)\n\n## Features\n- End-to-End Vision-Based RAG: Combines visual document retrieval with language models for comprehensive answers.\n- Document Upload and Indexing: Upload PDFs and images, which are then indexed using ColPali for retrieval.\n- Chat Interface: Engage in a conversational interface to ask questions about the uploaded documents.\n- Session Management: Create, rename, switch between, and delete chat sessions.\n- Model Selection: Choose between different Vision Language Models (Qwen2-VL-7B-Instruct, Google Gemini, OpenAI GPT-4 etc).\n- Persistent Indexes: Indexes are saved on disk and loaded upon application restart. \n\n## Architecture\nlocalGPT-Vision is built as an end-to-end vision-based RAG system. T he architecture comprises two main components:\n\n1. Visual Document Retrieval with Colqwen and ColPali:\n   - [Colqwen](https:\u002F\u002Fhuggingface.co\u002Fvidore\u002Fcolqwen2-v0.1) and [ColPali](https:\u002F\u002Fhuggingface.co\u002Fblog\u002Fmanu\u002Fcolpali) are Vision Encoders designed for efficient document retrieval solely using the image representation of document pages.\n   - It embeds page images directly, leveraging visual cues like layout, fonts, figures, and tables without relying on OCR or text extraction.\n   - During indexing, document pages are converted into image embeddings and stored.\n   - During querying, the user query is matched against these embeddings to retrieve the most relevant document pages.\n   \n   ![ColPali](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FPromtEngineer_localGPT-Vision_readme_c7b3a03c3076.png)\n\n2. Response Generation with Vision Language Models:\n   - The retrieved document images are passed to a Vision Language Model (VLM).\n   - Supported models include Qwen2-VL-7B-Instruct, LLAMA3.2, Pixtral, Molmo, Google Gemini, and OpenAI GPT-4.\n   - These models generate responses by understanding both the visual and textual content of the documents.\n   - NOTE: The quality of the responses is highly dependent on the VLM used and the resolution of the document images.\n\nThis architecture eliminates the need for complex text extraction pipelines and provides a more holistic understanding of documents by considering their visual elements. You don't need any chunking strategies or selection of embeddings model or retrieval strategy used in traditional RAG systems.\n\n## Prerequisites\n- Anaconda or Miniconda installed on your system\n- Python 3.10 or higher\n- Git (optional, for cloning the repository)\n\n## Installation\nFollow these steps to set up and run the application on your local machine.\n\n1. Clone the Repository\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002FPromtEngineer\u002FlocalGPT-Vision.git\n   cd localGPT-Vision\n   ```\n\n2. Create a Conda Environment\n   ```bash\n   conda create -n localgpt-vision python=3.10\n   conda activate localgpt-vision\n   ```\n\n3a. Install Dependencies\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n3b. Install Transformers from HuggingFace - Dev version\n   ```bash\n    pip uninstall transformers\n    pip install git+https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers\n   ```\n\n4. Set Environment Variables\n   Set your API keys for Google Gemini and OpenAI GPT-4:\n\n   ```bash\n   export GENAI_API_KEY='your_genai_api_key'\n   export OPENAI_API_KEY='your_openai_api_key'\n   export GROQ_API_KEY='your_groq_api_key'\n   ```\n\n   On Windows Command Prompt:\n   ```cmd\n   set GENAI_API_KEY=your_genai_api_key\n   set OPENAI_API_KEY=your_openai_api_key\n   set GROQ_API_KEY='your_groq_api_key'\n   ```\n\n5. Run the Application\n   ```bash\n   python app.py\n   ```\n\n6. Access the Application\n   Open your web browser and navigate to:\n   ```\n   http:\u002F\u002Flocalhost:5050\u002F\n   ```\n## Debugging\n\nTo assist with debugging localGPT-Vision, certain additional dependencies need to be installed on your system. Follow the instructions below to set up your environment for debugging purposes.\n\n### Required Packages\n\nInstall the necessary packages using the following commands:\n\n#### On Ubuntu\u002FDebian-based Systems\n\n1. **Update Package Lists**\n\n   ```bash\n   sudo apt update\n   ```\n\n2. **Install Poppler Libraries and Utilities**\n\n   These libraries are essential for handling PDF files.\n\n   ```bash\n   sudo apt install libpoppler-cpp-dev poppler-utils\n   ```\n\n3. **Verify Installation of `pdftoppm`**\n\n   Check the version to ensure it's installed correctly:\n\n   ```bash\n   pdftoppm -v\n   ```\n\n4. **Install Additional Dependencies**\n\n   These packages are required for building and managing libraries.\n\n   ```bash\n   sudo apt install cmake pkgconfig python3-poppler-qt5\n   ```\n\n   ### Note\n\n   Ensure that you have appropriate permissions to run `sudo` commands on your machine. This setup is specifically tailored for Ubuntu\u002FDebian-based systems, and steps might vary slightly if using a different Linux distribution or macOS.\n\n   ---\n\n   Feel free to modify this section as needed based on any additional requirements or specific instructions pertinent to other operating systems.\n\n\n## Usage\n### Upload and Index Documents\n1. Click on \"New Chat\" to start a new session.\n2. Under \"Upload and Index Documents\", click \"Choose Files\" and select your PDF or image files.\n3. Click \"Upload and Index\". The documents will be indexed using ColPali and ready for querying.\n\n### Ask Questions\n1. In the \"Enter your question here\" textbox, type your query related to the uploaded documents.\n2. Click \"Send\". The system will retrieve relevant document pages and generate a response using the selected Vision Language Model.\n\n### Manage Sessions\n- Rename Session: Click \"Edit Name\", enter a new name, and click \"Save Name\".\n- Switch Sessions: Click on a session name in the sidebar to switch to that session.\n- Delete Session: Click \"Delete\" next to a session to remove it permanently.\n\n### Settings\n1. Click on \"Settings\" in the navigation bar.\n2. Select the desired language model and image dimensions.\n3. Click \"Save Settings\".\n\n## Project Structure\n```\nlocalGPT-Vision\u002F\n├── app.py\n├── logger.py\n├── models\u002F\n│   ├── indexer.py\n│   ├── retriever.py\n│   ├── responder.py\n│   ├── model_loader.py\n│   └── converters.py\n├── sessions\u002F\n├── templates\u002F\n│   ├── base.html\n│   ├── chat.html\n│   ├── settings.html\n│   └── index.html\n├── static\u002F\n│   ├── css\u002F\n│   │   └── style.css\n│   ├── js\u002F\n│   │   └── script.js\n│   └── images\u002F\n├── uploaded_documents\u002F\n├── byaldi_indices\u002F\n├── requirements.txt\n├── .gitignore\n└── README.md\n```\n\n- `app.py`: Main Flask application.\n- `logger.py`: Configures application logging.\n- `models\u002F`: Contains modules for indexing, retrieving, and responding.\n- `templates\u002F`: HTML templates for rendering views.\n- `static\u002F`: Static files like CSS and JavaScript.\n- `sessions\u002F`: Stores session data.\n- `uploaded_documents\u002F`: Stores uploaded documents.\n- `.byaldi\u002F`: Stores the indexes created by Byaldi.\n- `requirements.txt`: Python dependencies.\n- `.gitignore`: Files and directories to be ignored by Git.\n- `README.md`: Project documentation.\n\n## System Workflow\n1. User Interaction: The user interacts with the web interface to upload documents and ask questions.\n2. Document Indexing with ColPali:\n   - Uploaded documents are converted to PDFs if necessary.\n   - Documents are indexed using ColPali, which creates embeddings based on the visual content of the document pages.\n   - The indexes are stored in the byaldi_indices\u002F directory.\n3. Session Management:\n   - Each chat session has a unique ID and stores its own index and chat history.\n   - Sessions are saved on disk and loaded upon application restart.\n4. Query Processing:\n   - User queries are sent to the backend.\n   - The query is embedded and matched against the visual embeddings of document pages to retrieve relevant pages.\n5. Response Generation with Vision Language Models:\n   - The retrieved document images and the user query are passed to the selected Vision Language Model (Qwen, Gemini, or GPT-4).\n   - The VLM generates a response by understanding both the visual and textual content of the documents.\n6. Display Results:\n   - The response and relevant document snippets are displayed in the chat interface.\n\n```mermaid\ngraph TD\n    A[User] -->|Uploads Documents| B(Flask App)\n    B -->|Saves Files| C[uploaded_documents\u002F]\n    B -->|Converts and Indexes with ColPali| D[Indexing Module]\n    D -->|Creates Visual Embeddings| E[byaldi_indices\u002F]\n    A -->|Asks Question| B\n    B -->|Embeds Query and Retrieves Pages| F[Retrieval Module]\n    F -->|Retrieves Relevant Pages| E\n    F -->|Passes Pages to| G[Vision Language Model]\n    G -->|Generates Response| B\n    B -->|Displays Response| A\n    B -->|Saves Session Data| H[sessions\u002F]\n    subgraph Backend\n        B\n        D\n        F\n        G\n    end\n    subgraph Storage\n        C\n        E\n        H\n    end\n```\n\n## Contributing\nContributions are welcome! Please follow these steps:\n\n1. Fork the repository.\n2. Create a new branch for your feature: `git checkout -b feature-name`.\n3. Commit your changes: `git commit -am 'Add new feature'`.\n4. Push to the branch: `git push origin feature-name`.\n5. Submit a pull request.\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FPromtEngineer_localGPT-Vision_readme_17d90eaef710.png)](https:\u002F\u002Fstar-history.com\u002F#PromtEngineer\u002FlocalGPT-Vision&Date)\n\n","# localGPT-Vision\n[![GitHub Star](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FPromtEngineer\u002FlocalGPT-Vision?style=social)](https:\u002F\u002Fgithub.com\u002FPromtEngineer\u002FlocalGPT-Vision\u002Fstargazers)\n[![GitHub Forks](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002FPromtEngineer\u002FlocalGPT-Vision?style=social)](https:\u002F\u002Fgithub.com\u002FPromtEngineer\u002FlocalGPT-Vision\u002Fnetwork\u002Fmembers)\n[![GitHub Issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002FPromtEngineer\u002FlocalGPT-Vision)](https:\u002F\u002Fgithub.com\u002FPromtEngineer\u002FlocalGPT-Vision\u002Fissues)\n[![GitHub Pull Requests](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-pr\u002FPromtEngineer\u002FlocalGPT-Vision)](https:\u002F\u002Fgithub.com\u002FPromtEngineer\u002FlocalGPT-Vision\u002Fpulls)\n[![Twitter Follow](https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Fengineerrprompt?style=social)](https:\u002F\u002Ftwitter.com\u002Fengineerrprompt)\n\n\n[观看 YouTube 视频](https:\u002F\u002Fyoutu.be\u002FYPs4eGDpIY4)\n\n\nlocalGPT-Vision 是一个端到端的基于视觉的检索增强生成（RAG）系统。它允许用户上传并索引文档（PDF 和图片），针对内容提问，并获得包含相关文档片段的回答。检索过程使用 [Colqwen](https:\u002F\u002Fhuggingface.co\u002Fvidore\u002Fcolqwen2-v0.1) 或 [ColPali](https:\u002F\u002Fhuggingface.co\u002Fblog\u002Fmanu\u002Fcolpali) 模型完成，检索到的页面会传递给视觉语言模型（VLM）以生成响应。目前，该代码支持以下 VLM：\n\n- [Qwen2-VL-7B-Instruct](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2-VL-7B-Instruct)\n- [LLAMA-3.2-11B-Vision](https:\u002F\u002Fhuggingface.co\u002Fmeta-llama\u002FLlama-3.2-11B-Vision)\n- [Pixtral-12B-2409](https:\u002F\u002Fhuggingface.co\u002Fmistralai\u002FPixtral-12B-2409)\n- [Molmo-7B-O-0924](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmo-7B-O-0924)\n- [Google Gemini](https:\u002F\u002Faistudio.google.com\u002Fapp\u002Fprompts\u002Fnew_chat)\n- [OpenAI GPT-4o](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Fvision)\n- [LLAMA-3.2 与 Ollama](https:\u002F\u002Follama.com\u002Fblog\u002Fllama3.2-vision)\n\n该项目构建于 [Byaldi](https:\u002F\u002Fgithub.com\u002FAnswerDotAI\u002Fbyaldi) 库之上。\n\n## 目录\n- [功能](#features)\n- [架构](#architecture)\n- [先决条件](#prerequisites)\n- [安装](#installation)\n- [使用](#usage)\n- [项目结构](#project-structure)\n- [系统工作流程](#system-workflow)\n- [贡献](#contributing)\n\n## 功能\n- 端到端基于视觉的 RAG：结合视觉文档检索与语言模型，提供全面的答案。\n- 文档上传与索引：上传 PDF 和图片，随后使用 ColPali 进行索引以便检索。\n- 聊天界面：通过对话式界面询问上传文档的相关问题。\n- 会话管理：创建、重命名、切换和删除聊天会话。\n- 模型选择：可在不同视觉语言模型之间选择（Qwen2-VL-7B-Instruct、Google Gemini、OpenAI GPT-4 等）。\n- 持久化索引：索引保存在磁盘上，应用重启时可加载。\n\n## 架构\nlocalGPT-Vision 构建为一个端到端的基于视觉的 RAG 系统。其架构主要包括两个主要组件：\n\n1. 基于 Colqwen 和 ColPali 的视觉文档检索：\n   - [Colqwen](https:\u002F\u002Fhuggingface.co\u002Fvidore\u002Fcolqwen2-v0.1) 和 [ColPali](https:\u002F\u002Fhuggingface.co\u002Fblog\u002Fmanu\u002Fcolpali) 是视觉编码器，专为仅利用文档页面的图像表示进行高效文档检索而设计。\n   - 它直接对页面图像进行嵌入，利用布局、字体、图表和表格等视觉线索，无需依赖 OCR 或文本提取。\n   - 在索引过程中，文档页面会被转换为图像嵌入并存储起来。\n   - 查询时，用户查询会与这些嵌入进行匹配，以检索最相关的文档页面。\n   \n   ![ColPali](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FPromtEngineer_localGPT-Vision_readme_c7b3a03c3076.png)\n\n2. 使用视觉语言模型生成响应：\n   - 检索到的文档图像会被传递到视觉语言模型（VLM）中。\n   - 支持的模型包括 Qwen2-VL-7B-Instruct、LLAMA3.2、Pixtral、Molmo、Google Gemini 和 OpenAI GPT-4。\n   - 这些模型通过理解文档的视觉和文本内容来生成回答。\n   - 注意：回答的质量高度依赖于所使用的 VLM 以及文档图像的分辨率。\n\n这种架构消除了对复杂文本提取管道的需求，并通过考虑文档的视觉元素提供了更全面的理解。您无需像传统 RAG 系统那样采用分块策略、选择嵌入模型或检索策略。\n\n## 先决条件\n- 您的系统上已安装 Anaconda 或 Miniconda\n- Python 3.10 或更高版本\n- Git（可选，用于克隆仓库）\n\n## 安装\n请按照以下步骤在您的本地机器上设置并运行应用程序。\n\n1. 克隆仓库\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002FPromtEngineer\u002FlocalGPT-Vision.git\n   cd localGPT-Vision\n   ```\n\n2. 创建 Conda 环境\n   ```bash\n   conda create -n localgpt-vision python=3.10\n   conda activate localgpt-vision\n   ```\n\n3a. 安装依赖项\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n3b. 安装 HuggingFace 开发版 Transformers\n   ```bash\n    pip uninstall transformers\n    pip install git+https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers\n   ```\n\n4. 设置环境变量\n   设置您的 Google Gemini 和 OpenAI GPT-4 的 API 密钥：\n\n   ```bash\n   export GENAI_API_KEY='your_genai_api_key'\n   export OPENAI_API_KEY='your_openai_api_key'\n   export GROQ_API_KEY='your_groq_api_key'\n   ```\n\n   在 Windows 命令提示符中：\n   ```cmd\n   set GENAI_API_KEY=your_genai_api_key\n   set OPENAI_API_KEY=your_openai_api_key\n   set GROQ_API_KEY='your_groq_api_key'\n   ```\n\n5. 运行应用程序\n   ```bash\n   python app.py\n   ```\n\n6. 访问应用程序\n   打开您的浏览器并导航至：\n   ```\n   http:\u002F\u002Flocalhost:5050\u002F\n   ```\n## 调试\n\n为了帮助调试 localGPT-Vision，需要在您的系统上安装一些额外的依赖项。请按照以下说明设置您的调试环境。\n\n### 必需的软件包\n\n使用以下命令安装必要的软件包：\n\n#### 在基于 Ubuntu\u002FDebian 的系统上\n\n1. **更新软件包列表**\n\n   ```bash\n   sudo apt update\n   ```\n\n2. **安装 Poppler 库和工具**\n\n   这些库对于处理 PDF 文件至关重要。\n\n   ```bash\n   sudo apt install libpoppler-cpp-dev poppler-utils\n   ```\n\n3. **验证 `pdftoppm` 是否已安装**\n\n   检查版本以确保正确安装：\n\n   ```bash\n   pdftoppm -v\n   ```\n\n4. **安装额外的依赖项**\n\n   这些软件包是构建和管理库所必需的。\n\n   ```bash\n   sudo apt install cmake pkgconfig python3-poppler-qt5\n   ```\n\n   ### 注意\n\n   请确保您在机器上拥有运行 `sudo` 命令的适当权限。此设置专门针对基于 Ubuntu\u002FDebian 的系统，如果您使用的是其他 Linux 发行版或 macOS，步骤可能会略有不同。\n\n   ---\n\n   如有需要，您可以根据其他操作系统的特定要求或说明修改本节内容。\n\n\n## 使用方法\n### 上传并索引文档\n1. 点击“新建聊天”开始新的会话。\n2. 在“上传并索引文档”部分，点击“选择文件”，然后选择您的 PDF 或图像文件。\n3. 点击“上传并索引”。文档将使用 ColPali 进行索引，并准备好用于查询。\n\n### 提问\n1. 在“在此输入您的问题”文本框中，键入与已上传文档相关的问题。\n2. 点击“发送”。系统将检索相关的文档页面，并使用选定的视觉语言模型生成回复。\n\n### 管理会话\n- 重命名会话：点击“编辑名称”，输入新名称，然后点击“保存名称”。\n- 切换会话：单击侧边栏中的会话名称以切换到该会话。\n- 删除会话：单击会话旁边的“删除”按钮以永久删除该会话。\n\n### 设置\n1. 单击导航栏中的“设置”。\n2. 选择所需的语言模型和图像尺寸。\n3. 点击“保存设置”。\n\n## 项目结构\n```\nlocalGPT-Vision\u002F\n├── app.py\n├── logger.py\n├── models\u002F\n│   ├── indexer.py\n│   ├── retriever.py\n│   ├── responder.py\n│   ├── model_loader.py\n│   └── converters.py\n├── sessions\u002F\n├── templates\u002F\n│   ├── base.html\n│   ├── chat.html\n│   ├── settings.html\n│   └── index.html\n├── static\u002F\n│   ├── css\u002F\n│   │   └── style.css\n│   ├── js\u002F\n│   │   └── script.js\n│   └── images\u002F\n├── uploaded_documents\u002F\n├── byaldi_indices\u002F\n├── requirements.txt\n├── .gitignore\n└── README.md\n```\n\n- `app.py`: 主 Flask 应用程序。\n- `logger.py`: 配置应用程序日志记录。\n- `models\u002F`: 包含用于索引、检索和响应的模块。\n- `templates\u002F`: 用于渲染视图的 HTML 模板。\n- `static\u002F`: 静态文件，如 CSS 和 JavaScript。\n- `sessions\u002F`: 存储会话数据。\n- `uploaded_documents\u002F`: 存储上传的文档。\n- `.byaldi\u002F`: 存储 Byaldi 创建的索引。\n- `requirements.txt`: Python 依赖项。\n- `.gitignore`: Git 忽略的文件和目录。\n- `README.md`: 项目文档。\n\n## 系统工作流程\n1. 用户交互：用户通过网页界面上传文档并提问。\n2. 使用 ColPali 对文档进行索引：\n   - 如果必要，上传的文档会被转换为 PDF。\n   - 文档使用 ColPali 进行索引，该工具会根据文档页面的视觉内容创建嵌入向量。\n   - 索引存储在 `byaldi_indices\u002F` 目录中。\n3. 会话管理：\n   - 每个聊天会话都有一个唯一的 ID，并存储自己的索引和聊天历史。\n   - 会话数据会保存到磁盘，并在应用重启时加载。\n4. 查询处理：\n   - 用户的查询会被发送到后端。\n   - 查询被嵌入并与文档页面的视觉嵌入向量进行匹配，以检索相关页面。\n5. 使用视觉语言模型生成回复：\n   - 检索到的文档图像和用户的查询会被传递给选定的视觉语言模型（Qwen、Gemini 或 GPT-4）。\n   - 视觉语言模型通过理解文档的视觉和文本内容生成回复。\n6. 显示结果：\n   - 回复和相关的文档片段会在聊天界面中显示。\n\n```mermaid\ngraph TD\n    A[用户] -->|上传文档| B(Flask 应用)\n    B -->|保存文件| C[uploaded_documents\u002F]\n    B -->|使用 ColPali 转换并索引| D[索引模块]\n    D -->|创建视觉嵌入| E[byaldi_indices\u002F]\n    A -->|提问| B\n    B -->|嵌入查询并检索页面| F[检索模块]\n    F -->|检索相关页面| E\n    F -->|将页面传递给| G[视觉语言模型]\n    G -->|生成回复| B\n    B -->|显示回复| A\n    B -->|保存会话数据| H[sessions\u002F]\n    subgraph 后端\n        B\n        D\n        F\n        G\n    end\n    subgraph 存储\n        C\n        E\n        H\n    end\n```\n\n## 贡献\n欢迎贡献！请按照以下步骤操作：\n\n1. 分叉仓库。\n2. 为您的功能创建一个新分支：`git checkout -b feature-name`。\n3. 提交更改：`git commit -am '添加新功能'`。\n4. 推送到分支：`git push origin feature-name`。\n5. 提交拉取请求。\n\n## 星标历史\n\n[![星标历史图表](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FPromtEngineer_localGPT-Vision_readme_17d90eaef710.png)](https:\u002F\u002Fstar-history.com\u002F#PromtEngineer\u002FlocalGPT-Vision&Date)","# localGPT-Vision 快速上手指南\n\nlocalGPT-Vision 是一个端到端的基于视觉的检索增强生成（RAG）系统。它允许用户上传 PDF 或图片文档，利用 ColPali\u002FColqwen 模型进行视觉索引，并通过多模态大模型（如 Qwen2-VL、Llama 3.2、GPT-4o 等）直接基于文档图像内容回答问题，无需传统的 OCR 或文本提取步骤。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**：Linux (推荐 Ubuntu\u002FDebian), macOS, 或 Windows。\n    *   *注意：若在 Linux 上运行，需安装 PDF 处理依赖（见下方调试部分）。*\n*   **Python 版本**：3.10 或更高。\n*   **包管理器**：已安装 Anaconda 或 Miniconda。\n*   **API Keys**（可选）：如果您计划使用云端模型（Google Gemini, OpenAI GPT-4, Groq），需提前准备好对应的 API Key。本地模型（如 Qwen2-VL, Llama 3.2）无需 API Key，但需要足够的显存。\n\n### Linux 用户额外依赖\n如果您使用的是 Ubuntu\u002FDebian 系统，必须先安装 `poppler` 库以支持 PDF 处理：\n\n```bash\nsudo apt update\nsudo apt install libpoppler-cpp-dev poppler-utils cmake pkgconfig python3-poppler-qt5\n# 验证安装\npdftoppm -v\n```\n\n## 安装步骤\n\n### 1. 克隆项目\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FPromtEngineer\u002FlocalGPT-Vision.git\ncd localGPT-Vision\n```\n\n### 2. 创建并激活 Conda 环境\n```bash\nconda create -n localgpt-vision python=3.10\nconda activate localgpt-vision\n```\n\n### 3. 安装依赖\n首先安装基础依赖：\n```bash\npip install -r requirements.txt\n```\n\n**重要**：该项目需要 Hugging Face `transformers` 的开发版本以支持最新的视觉模型。请执行以下命令覆盖安装：\n```bash\npip uninstall transformers -y\npip install git+https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers\n```\n\n> **国内加速提示**：如果下载速度较慢，可配置国内镜像源（如清华源）：\n> `pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n> `pip install git+https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n\n### 4. 配置环境变量\n如果您打算使用云端模型，请设置相应的 API Key。\n\n**Linux\u002FmacOS:**\n```bash\nexport GENAI_API_KEY='your_genai_api_key'\nexport OPENAI_API_KEY='your_openai_api_key'\nexport GROQ_API_KEY='your_groq_api_key'\n```\n\n**Windows (CMD):**\n```cmd\nset GENAI_API_KEY=your_genai_api_key\nset OPENAI_API_KEY=your_openai_api_key\nset GROQ_API_KEY=your_groq_api_key\n```\n\n*(如果仅使用本地部署的开源模型，可跳过此步)*\n\n## 基本使用\n\n### 1. 启动应用\n在项目根目录下运行：\n```bash\npython app.py\n```\n\n### 2. 访问界面\n打开浏览器，访问：\n```\nhttp:\u002F\u002Flocalhost:5050\u002F\n```\n\n### 3. 操作流程\n\n1.  **新建会话**：点击界面上的 **\"New Chat\"** 开始新对话。\n2.  **上传文档**：\n    *   在 \"Upload and Index Documents\" 区域点击 **\"Choose Files\"**。\n    *   选择您的 PDF 文件或图片。\n    *   点击 **\"Upload and Index\"**。系统将使用 ColPali 模型将文档页面转换为视觉嵌入并建立索引（首次运行会自动下载模型）。\n3.  **提问**：\n    *   在输入框中输入关于文档内容的问题。\n    *   点击 **\"Send\"**。\n    *   系统将检索相关页面图像，并将其发送给选定的视觉语言模型（VLM）生成回答。\n4.  **切换模型**（可选）：\n    *   点击导航栏的 **\"Settings\"**。\n    *   在下拉菜单中选择您想要的模型（例如 `Qwen2-VL-7B-Instruct` 用于本地运行，或 `OpenAI GPT-4o` 用于云端调用）。\n    *   点击 **\"Save Settings\"** 保存。\n\n### 4. 会话管理\n*   **重命名**：点击 \"Edit Name\" 修改会话名称。\n*   **切换**：点击侧边栏中的会话名称即可切换上下文。\n*   **删除**：点击会话旁的 \"Delete\" 永久移除会话。","一位金融分析师需要快速从数百页包含复杂图表和财务报表的 PDF 研报中提取关键数据并回答特定业务问题。\n\n### 没有 localGPT-Vision 时\n- 传统 OCR 工具难以准确识别报表中的合并单元格、手写批注及复杂布局，导致提取的数据错漏百出。\n- 面对图表趋势分析或图片内容查询，只能人工逐页翻阅截图，无法通过关键词直接定位视觉信息。\n- 敏感财务文档上传至公有云 AI 服务存在数据泄露风险，合规部门严禁使用外部大模型处理核心资料。\n- 每次提问需手动复制粘贴大量上下文，且模型常因丢失版面结构而给出断章取义的错误结论。\n\n### 使用 localGPT-Vision 后\n- 利用 ColPali 视觉检索技术，直接将文档页面作为图像嵌入，精准捕捉表格结构与字体布局，无需依赖易错的文本提取。\n- 支持直接用自然语言询问“展示 Q3 营收增长趋势图”，系统自动定位并解析相关图表页面，由 Qwen2-VL 等视觉模型生成解读。\n- 全流程在本地部署运行，结合 Llama-3.2-Vision 等开源模型，确保机密研报数据不出内网，满足严格合规要求。\n- 端到端 RAG 流水线自动返回带来源页码的答案片段，分析师可一键追溯原始凭证，大幅提升核查效率。\n\nlocalGPT-Vision 通过将视觉检索与本地大模型深度融合，让机器真正“看懂”了复杂文档，实现了安全、精准且高效的智能文档交互。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FPromtEngineer_localGPT-Vision_a9ca8596.png","PromtEngineer","PromptEngineer","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FPromtEngineer_a63ace20.png","Building Cool Stuff!",null,"engineerrprompt","https:\u002F\u002Fengineerprompt.ai\u002F","https:\u002F\u002Fgithub.com\u002FPromtEngineer",[81,85,89,93,97],{"name":82,"color":83,"percentage":84},"Python","#3572A5",71.6,{"name":86,"color":87,"percentage":88},"HTML","#e34c26",22.5,{"name":90,"color":91,"percentage":92},"CSS","#663399",5.3,{"name":94,"color":95,"percentage":96},"Makefile","#427819",0.4,{"name":98,"color":99,"percentage":100},"Shell","#89e051",0.2,629,130,"2026-04-17T14:19:23","Linux, macOS, Windows","未说明（运行本地视觉语言模型如 Qwen2-VL-7B 或 Llama-3.2-11B 通常建议配备 NVIDIA GPU，显存至少 16GB+；若使用云端 API 如 Gemini\u002FGPT-4o 则无需本地 GPU）","未说明（建议 16GB 以上以支持本地大模型推理）",{"notes":108,"python":109,"dependencies":110},"1. 必须安装 Conda 或 Miniconda 来管理环境。2. 需要手动安装 HuggingFace transformers 的开发版本（覆盖默认版本）。3. Linux 用户需额外安装 poppler 相关库（libpoppler-cpp-dev, poppler-utils 等）以处理 PDF 转图片。4. 若使用 Google Gemini、OpenAI GPT-4o 或 Groq 模型，需配置相应的 API KEY 环境变量。5. 项目基于 Byaldi 库构建，利用 ColPali\u002FColqwen 进行纯视觉文档检索，无需 OCR。","3.10+",[111,112,113,114,115,116],"torch","transformers (dev version from git)","byaldi","flask","pillow","poppler-utils (系统级依赖)",[35,15,14,118],"其他","2026-03-27T02:49:30.150509","2026-04-18T22:35:23.162562",[122],{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},40693,"使用 OpenAI API 时遇到 'gpt-4-vision-preview 已弃用' (404 错误) 怎么办？","该模型已被官方弃用。解决方案是将代码中的模型名称更新为 `gpt-4o`。维护者已推送更新修复了此问题，升级项目代码后即可正常使用。注意：本地模型在此场景下效果可能不如 gpt-4o。","https:\u002F\u002Fgithub.com\u002FPromtEngineer\u002FlocalGPT-Vision\u002Fissues\u002F3",[]]