# 视觉记忆收纳库 **Repository Path**: kakarotto-yang/visual-memory-storage-library ## Basic Information - **Project Name**: 视觉记忆收纳库 - **Description**: 一个基于图像识别的物品收纳与记忆系统,使用大模型(如豆包)识别图片内容并建立关键词索引,帮助用户通过照片和关键词记住物品位置,支持多关键词搜索和复杂查询语法。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-21 - **Last Updated**: 2025-11-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 视觉收纳记忆库 一个基于图像识别的物品收纳与记忆系统,使用大模型(如豆包)识别图片内容并建立关键词索引,帮助用户通过照片和关键词记住物品位置,支持多关键词搜索和复杂查询语法。 ## 功能特性 - **图片内容识别**:调用豆包大模型API识别图片中的物体和内容 - **自动索引建立**:扫描文件夹中的所有图片并自动建立关键词索引 - **多关键词搜索**:支持精确搜索、模糊搜索和高级搜索语法 - **大小写不敏感**:搜索时忽略关键词的大小写 - **批量处理**:支持使用多线程并行处理多张图片 - **索引持久化**:使用JSON文件存储索引数据,支持自定义索引文件路径 - **统计信息**:提供索引统计和关键词分析功能 - **物品位置记忆**:通过照片和关键词帮助用户记住物品位置 ## 安装要求 - Python 3.7 或更高版本 - 所需Python包: - requests - python-dotenv - pillow - tqdm ## 安装步骤 1. 克隆或下载本项目到本地 2. 安装依赖包: ```bash pip install -r requirements.txt ``` 3. 配置API密钥: - 复制 `.env.example` 文件为 `.env` - 编辑 `.env` 文件,填入您的豆包API密钥和相关配置 ``` API_KEY=your_api_key_here SECRET_KEY=your_secret_key_here BASE_URL=https://api.doubao.com/v1 ``` ## 使用方法 ### 1. 索引图片文件夹 扫描指定文件夹中的所有图片,使用大模型识别内容并建立索引,帮助您记住物品位置: ```bash python main.py index /path/to/your/images ``` 可选参数: - `--index-file /path/to/index.json`:指定索引文件路径 - `--no-multithreading`:不使用多线程处理 ### 2. 搜索图片 根据关键词搜索图片,快速找到您需要的物品位置: ```bash python main.py search "关键词" ``` 示例: - 简单搜索:`python main.py search 杯子` - 多关键词搜索:`python main.py search "杯子 桌子"`(默认AND模式,需要同时包含两个关键词) - 高级搜索:`python main.py search "杯子 OR 瓶子" --advanced` - 排除搜索:`python main.py search "NOT 手机" --advanced` 可选参数: - `--index-file /path/to/index.json`:指定索引文件路径 - `--advanced`:启用高级搜索语法 - `--no-metadata`:不显示搜索结果的元数据 ### 3. 查看统计信息 显示索引的统计信息: ```bash python main.py stats ``` 可选参数: - `--index-file /path/to/index.json`:指定索引文件路径 ### 4. 列出关键词 列出所有已索引的关键词: ```bash python main.py keywords ``` 可选参数: - `--index-file /path/to/index.json`:指定索引文件路径 - `--prefix 前`:只显示以指定前缀开头的关键词 ### 5. 清空索引 清空所有索引数据: ```bash python main.py clear ``` 可选参数: - `--index-file /path/to/index.json`:指定索引文件路径 ## 高级搜索语法 使用 `--advanced` 参数启用高级搜索功能: - **AND 操作符**:必须同时包含多个关键词 ``` python main.py search "杯子 AND 桌子" --advanced ``` - **OR 操作符**:包含任一关键词即可 ``` python main.py search "杯子 OR 瓶子" --advanced ``` - **NOT 操作符**:排除包含指定关键词的图片 ``` python main.py search "NOT 手机" --advanced ``` ## 索引文件 默认情况下,索引文件存储在用户目录下的 `.image_search/image_index.json`,您可以通过 `--index-file` 参数自定义索引文件路径。 索引文件包含以下信息: - 图片路径到关键词的映射 - 关键词到图片路径的映射 - 索引的创建和更新时间 ## 注意事项 1. **API密钥保护**:请妥善保管您的API密钥,不要将 `.env` 文件提交到版本控制系统 2. **API调用限制**:使用大模型API可能有调用频率和配额限制,请合理使用 3. **性能优化**:对于大量图片的处理,建议使用多线程功能(默认启用) 4. **搜索精度**:搜索结果的准确性取决于大模型的识别能力和关键词提取质量 ## 常见问题 ### 1. API连接失败 检查 `.env` 文件中的API密钥和URL配置是否正确,确保您的网络环境可以访问豆包API。 ### 2. 图片识别不准确 图片质量、光线条件和物体清晰度可能影响识别结果。您可以尝试优化图片质量或使用更具体的搜索关键词。 ### 3. 索引文件过大 对于大量图片的索引,您可以考虑定期清理不再需要的图片索引或使用多个索引文件分别管理不同类别的图片。 ## 许可证 [MIT License](LICENSE) ## 贡献 欢迎提交Issue和Pull Request来改进这个项目!