{"id":26261903,"url":"https://github.com/makerlinck/antllm","last_synced_at":"2025-04-30T09:21:42.181Z","repository":{"id":280976569,"uuid":"943781085","full_name":"makerlinck/AntLLM","owner":"makerlinck","description":"A auto-classifier for files based on Langchain \u0026 Deepdanbooru-tagger-mini","archived":false,"fork":false,"pushed_at":"2025-03-25T23:02:53.000Z","size":15096,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-26T00:22:28.796Z","etag":null,"topics":["automatic","classification","computer-vision","cv","eagle","efficiency","filesystem","langchain","langgraph","llm","utility"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/makerlinck.png","metadata":{"files":{"readme":"README-EN.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-06T08:58:13.000Z","updated_at":"2025-03-25T23:02:57.000Z","dependencies_parsed_at":"2025-03-26T00:20:30.020Z","dependency_job_id":"3563cded-87da-4650-adda-a93e5742f7a5","html_url":"https://github.com/makerlinck/AntLLM","commit_stats":null,"previous_names":["makerlinck/antllm"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makerlinck%2FAntLLM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makerlinck%2FAntLLM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makerlinck%2FAntLLM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makerlinck%2FAntLLM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/makerlinck","download_url":"https://codeload.github.com/makerlinck/AntLLM/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251674990,"owners_count":21625717,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automatic","classification","computer-vision","cv","eagle","efficiency","filesystem","langchain","langgraph","llm","utility"],"created_at":"2025-03-14T00:16:32.662Z","updated_at":"2025-04-30T09:21:42.171Z","avatar_url":"https://github.com/makerlinck.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AntLLM 🐜 **Smart File Manager**  \n\n[中文版](README.md) | [English](README.md)\n\n[//]: # ([![GitHub Stars]\u0026#40;https://img.shields.io/github/stars/yourname/AntLLM?style=flat-square\u0026#41;]\u0026#40;https://github.com/makerlinck/AntLLM\u0026#41;)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n![Python Version](https://img.shields.io/badge/python-3.11-blue)\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"docs/images/eagle_00.png\" width=\"30%\" alt=\"Interface Preview\"/\u003e\n  \u003cimg src=\"docs/images/eagle_01.png\" width=\"30%\" alt=\"Tag Management\"/\u003e \n  \u003cimg src=\"docs/images/eagle_02.png\" width=\"30%\" alt=\"Smart Classification\"/\u003e\n\u003c/div\u003e\n---\n\n## Project Overview 📌 | Overview\nA smart file management system based on **⚡ FastAPI** and **Deepdanbooru-tagger-mini**, featuring:\n- 🖼️ Automated media file archiving and classification\n- 🖼️ Smart tracking image source, download, and classification automation\n- 🏷️ Intelligent semantic tag generation\n- 🚀 Coming soon: Eagle media library integration\n- 🚮 Enhanced LangChain integration for extended capabilities\n\n### Technology Stack \u0026 Architecture\nFrontend-backend separation architecture:\n- **Backend**: Built with FastAPI framework, integrated with lightweight image recognition model Deepmini to provide high-performance tagging services.\n- **Frontend**: Provides a visual interface via Eagle media library Node.js plugins, supporting tag management and categorized browsing.\n\n```\nFuture Expansion Plan: Integrate LangChain to build intelligent automated workflows, \ncombining multi-modal task processing for full automation from file recognition to semantic analysis and archival.\n```\n\n## Core Features 🚀 | Features\n#### Key Capabilities\n|   **Module**   | **Function Description**          | **Status**   |\n|:----------:|-------------------|------|\n|  🧠 TAG Engine  | Deepmini image recognition      | ✅ |\n| 🏷️ Media Tagging | Deepmini tag generation      | ✅ |\n| ⚙ Eagle Plugin  | Plugin support              | ✅ |\n| ⚙ Office Plugin | Plugin support              | 🚧 |\n|  🧠 AI Engine   | LangChain multi-modal task understanding  | 🚧 |\n| 🖼️ File Classification | Semantic-based smart archiving         | 🚧|\n| 🖼️ One-click Source Search | Customized search/download/classification workflow | 🚧|\n| 🖼️ Visualization UI  | More user-friendly experience     | 🚧|\n\n\u003cdiv align=\"start\"\u003e\n  \u003cimg src=\"docs/images/demo_00.gif\" width=\"30%\" alt=\"Quick Tagging\"/\u003e\n  \u003cimg src=\"docs/images/demo_01.gif\" width=\"30%\" alt=\"Concurrent Execution\"/\u003e\n\u003c/div\u003e\n\n---\n\n## Quick Deployment ⚡ | Quick Deployment\n### Environment Setup | Environment Preparation\nNote: This setup is currently for development/debugging only\n\n``` bash\n  Install dependencies\n$ pip install -r requirements.txt\n$ wget https://github.com/KichangKim/DeepDanbooru/releases/download/v4-20200814-sgd-e30/deepdanbooru-v4-20200814-sgd-e30.zip\n```\nUnzip the file and place contents into `./src/models/Deepmini/resnet-models`\n\n### Basic Usage | Basic Usage\n``` bash\n-----------------Start Service----------------\nuvicorn main:app --host \u003cIP address\u003e --port \u003cPort\u003e\n-----------------Run Tests----------------\n$ python ./src/test_run_tensorflow.py   # Test TensorFlow\n$ python ./src/test_run_deepmini.py     # Test Deepmini\n```\nHere's a Node.js example for API calls:\n\n``` javascript\nasync function processChunk(uris, objs) {\n  try {\n    const response = await fetch('http://127.0.0.1:8000/api/tagger', {\n      method: 'POST',\n      headers: { 'Content-Type': 'application/json' },\n      body: JSON.stringify({ tag_language: DEFAULT_LANGUAGE,query_uris: uris }),\n      signal: abortController.signal\n    });\n    const { response: results } = await response.json();\n\n    results.forEach((item, index) =\u003e {\n      objs[index].tags = item.img_tags;\n      objs[index].save();\n      addLog(`已处理: ${objs[index].name}`);\n    });\n  } catch (error) {\n    if (error.name !== 'AbortError') throw error;\n  }\n}\n```\n---\n## Directory Structure 🌳 | Directory Structure\n```text\nAntLLM/\n├── src/                    - Core source code\n│   ├── api/                - API modules\n│   │   └── __init__.py\n│   ├── core/               - Core functionality\n│   │   ├── __init__.py\n│   │   └── configure.py\n│   ├── models/              - Model files\n│   │   ├── deepmini/\n│   │   │   ├── resnet-models/ - Tag model files\n│   │   │   └── __init__.py\n│   ├── schemas/         - Data schemas\n│   │   ├── __init__.py\n│   │   └── tagger.py    \n│   ├── service/         - Service modules\n│   │   └── __init__.py\n│   ├── utils/           - Utility functions\n│   │   ├── constant/    \n│   │   │   ├── __init__.py\n│   │   │   └── file_manager.py\n│   │   ├── __init__.py\n│   │   └── main.py      - FastAPI entry point\n│   └── settings.py      - Application settings\n├── data/                - Data files\n│   ├── tagger_model/    - Tag model related files  \n│   │   ├── .settings_bak.yaml\n│   │   └── settings.yaml\n├── docs/                - Project documentation\n├── requirements.txt     - Python project dependencies  \n└── README.md            - Project overview\n\n```\n---\n\n## Contribute The World ! 🤝 | Contribute\nJoin us by submitting ideas via Issues or contributing code through PRs:\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Push to your branch\n5. Open a Pull Request\n\nWe welcome all contributors to help make AntLLM better!\n\n---\n\n## License 📄 | License\nThis project is licensed under the MIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakerlinck%2Fantllm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmakerlinck%2Fantllm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakerlinck%2Fantllm/lists"}