[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-MegEngine--InferLLM":3,"tool-MegEngine--InferLLM":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},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,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},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 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":80,"owner_email":81,"owner_twitter":80,"owner_website":82,"owner_url":83,"languages":84,"stars":105,"forks":106,"last_commit_at":107,"license":108,"difficulty_score":10,"env_os":109,"env_gpu":110,"env_ram":111,"env_deps":112,"category_tags":117,"github_topics":118,"view_count":10,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":123,"updated_at":124,"faqs":125,"releases":156},915,"MegEngine\u002FInferLLM","InferLLM","a lightweight LLM model inference framework","InferLLM 是一个轻量级的大语言模型推理框架，旨在让开发者能够更简单高效地在本地设备上运行量化后的 LLM 模型。它参考了 llama.cpp 的设计，但通过重构代码结构，将框架部分与内核计算部分解耦，避免了大量宏定义和单文件集中编码，使得代码更易阅读、修改和调试。\n\n这个框架主要解决了在资源受限环境中部署大模型的难题。相比原版 llama.cpp 复杂的代码组织，InferLLM 提供了清晰简洁的架构，降低了学习和定制门槛。它支持多种主流模型格式，如 ChatGLM、LLaMA、Alpaca、Baichuan 等，并针对 CPU 和 GPU 进行了性能优化，尤其对 ARM、x86、CUDA 及 RISC-V 向量指令集做了适配，可在手机等移动设备上实现可接受的推理速度。\n\nInferLLM 适合有一定技术背景的开发者、模型部署工程师或嵌入式 AI 研究人员使用，尤其适合希望在边缘设备、移动端或本地环境中低成本集成大模型能力的团队。对于普通用户，则需通过开发者二次封装或应用间接使用。\n\n其技术亮点包括：专为 KV 缓存设计的存储管理机制，提升了推理效率；已移植 llama.cpp","InferLLM 是一个轻量级的大语言模型推理框架，旨在让开发者能够更简单高效地在本地设备上运行量化后的 LLM 模型。它参考了 llama.cpp 的设计，但通过重构代码结构，将框架部分与内核计算部分解耦，避免了大量宏定义和单文件集中编码，使得代码更易阅读、修改和调试。\n\n这个框架主要解决了在资源受限环境中部署大模型的难题。相比原版 llama.cpp 复杂的代码组织，InferLLM 提供了清晰简洁的架构，降低了学习和定制门槛。它支持多种主流模型格式，如 ChatGLM、LLaMA、Alpaca、Baichuan 等，并针对 CPU 和 GPU 进行了性能优化，尤其对 ARM、x86、CUDA 及 RISC-V 向量指令集做了适配，可在手机等移动设备上实现可接受的推理速度。\n\nInferLLM 适合有一定技术背景的开发者、模型部署工程师或嵌入式 AI 研究人员使用，尤其适合希望在边缘设备、移动端或本地环境中低成本集成大模型能力的团队。对于普通用户，则需通过开发者二次封装或应用间接使用。\n\n其技术亮点包括：专为 KV 缓存设计的存储管理机制，提升了推理效率；已移植 llama.cpp 中多数高性能计算内核；支持多平台编译与部署，包括 Android 交叉编译；默认兼容多种 4 比特量化模型，平衡了精度与速度。项目持续更新，已加入对 LLaMA-2 等新模型的支持，并在 Apache 2.0 协议下开源，方便商用与集成。","# InferLLM \n[中文 README](.\u002FREADME_Chinese.md)\n\nInferLLM is a lightweight LLM model inference framework that mainly references and borrows from the llama.cpp project. llama.cpp puts almost all core code and kernels in a single file and use a large number of macros, making it difficult for developers to read and modify. InferLLM has the following features:\n\n- Simple structure, easy to get started and learning, and decoupled the framework part from the kernel part.\n- High efficiency, ported most of the kernels in llama.cpp.\n- Defined a dedicated KVstorage type for easy caching and management.\n- Compatible with multiple model formats (currently only supporting alpaca Chinese and English int4 models).\n- Currently supports CPU and GPU, optimized for Arm, x86, CUDA and riscv-vector. And it can be deployed on mobile phones, with acceptable speed.\n\nIn short, InferLLM is a simple and efficient LLM CPU inference framework that can deploy quantized models in LLM locally and has good inference speed.\n\n## Latest News\n- 2023.08.16: Add support for LLama-2-7B model.\n- 2023.08.8: Optimized the performance on Arm, which optimized the int4 matmul kernel with arm asm and kernel packing.\n- berfor: support chatglm\u002Fchatglm2, baichuan, alpaca, ggml-llama model.\n\n## How to use\n### Download model\nCurrently, InferLLM uses the same models as llama.cpp and can download models from the llama.cpp project. In addition, models can also be downloaded directly from Hugging Face [kewin4933\u002FInferLLM-Model](https:\u002F\u002Fhuggingface.co\u002Fkewin4933\u002FInferLLM-Model\u002Ftree\u002Fmain). Currently, two alpaca, llama2, chatglm\u002Fchatglm2 and baichuan models are uploaded in this project, one is the Chinese int4 model and the other is the English int4 model.\n\n### Compile InferLLM\n#### Local compilation\n```shell\nmkdir build\ncd build\ncmake ..\nmake\n```\nGPU is disabled default, if you want to enable GPU, please use `cmake -DENABLE_GPU=ON ..` to enable GPU. Now only CUDA is supported, before use CUDA, please install CUDA toolkit first. \n\n#### Android cross compilation\nAccording to the cross compilation, you can use the pre-prepared tools\u002Fandroid_build.sh script. You need to install NDK in advance and configure the path of NDK to the NDK_ROOT environment variable.\n```shell\nexport NDK_ROOT=\u002Fpath\u002Fto\u002Fndk\n.\u002Ftools\u002Fandroid_build.sh\n```\n### Run InferLLM\nRunning ChatGLM model please refer to [ChatGLM model documentation](.\u002Fapplication\u002Fchatglm\u002FReadme.md).\n\nIf it is executed locally, execute `.\u002Fchatglm -m chatglm-q4.bin -t 4` directly. If you want to execute it on your mobile phone, you can use the adb command to copy alpaca and the model file to your mobile phone, and then execute `adb shell .\u002Fchatglm -m chatglm-q4.bin -t 4`. \n\nThe default device is CPU, if you want to inference with GPU, please use `.\u002Fchatglm -m chatglm-q4.bin -g GPU` to specify the GPU device.\n\n- x86 is：Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz\n![x86 running](.\u002Fassets\u002FChatGLM-x86.gif )\n- android is xiaomi9，Qualcomm SM8150 Snapdragon 855\n![android running](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMegEngine_InferLLM_readme_26d9dae17af4.gif)\n- CPU is SG2042, with riscv-vector 0.7, 64 threads\n![sg2042 running](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMegEngine_InferLLM_readme_dac8031696a0.gif)\n\nAccording to [x86 profiling result](.\u002Fdocs\u002Fprofile.md), we strongly advise using 4 threads.\n\n### Supported model\nNow InferLLM supports the following models:\n* [ChatGLM2-6B](https:\u002F\u002Fgithub.com\u002FTHUDM\u002FChatGLM2-6B): usage please refer to [ChatGLM](.\u002Fapplication\u002Fchatglm\u002FReadme.md)\n* [ChatGLM-6B](https:\u002F\u002Fgithub.com\u002FTHUDM\u002FChatGLM-6B): usage please refer to [ChatGLM](.\u002Fapplication\u002Fchatglm\u002FReadme.md)\n* [llama](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fllama)\n* [llama2](https:\u002F\u002Fhuggingface.co\u002Fmeta-llama\u002FLlama-2-7b-chat-hf)\n* [alpaca](https:\u002F\u002Fcrfm.stanford.edu\u002F2023\u002F03\u002F13\u002Falpaca.html)\n* [baichuan](https:\u002F\u002Fgithub.com\u002Fbaichuan-inc\u002Fbaichuan-7B) : usage please refer to [baichuan](.\u002Fapplication\u002Fbaichuan\u002FReadme.md)\n### License\nInferLLM is licensed under the Apache License, Version 2.0\n","# InferLLM\n[中文 README](.\u002FREADME_Chinese.md)\n\nInferLLM 是一个轻量级的大语言模型（Large Language Model, LLM）推理框架，主要参考和借鉴了 llama.cpp 项目。llama.cpp 将几乎所有核心代码和内核（kernel）放在一个文件中，并使用了大量宏，这使得开发者难以阅读和修改。InferLLM 具有以下特点：\n\n- 结构简单，易于上手和学习，并将框架部分与内核部分解耦。\n- 高效，移植了 llama.cpp 中的大部分内核。\n- 定义了专用的 KVstorage 类型，便于缓存和管理。\n- 兼容多种模型格式（目前仅支持 alpaca 中英文 int4 量化模型）。\n- 目前支持 CPU 和 GPU，针对 Arm、x86、CUDA 和 riscv-vector 进行了优化。可以部署在手机上，速度尚可。\n\n简而言之，InferLLM 是一个简单高效的 LLM CPU 推理框架，可以在本地部署 LLM 量化模型，并具有良好的推理速度。\n\n## 最新动态\n- 2023.08.16：添加对 LLama-2-7B 模型的支持。\n- 2023.08.8：优化了在 Arm 平台上的性能，使用 arm 汇编和内核打包（kernel packing）优化了 int4 矩阵乘法（matmul）内核。\n- 此前：支持 chatglm\u002Fchatglm2、baichuan、alpaca、ggml-llama 模型。\n\n## 如何使用\n### 下载模型\n目前，InferLLM 使用与 llama.cpp 相同的模型，可以从 llama.cpp 项目下载模型。此外，也可以直接从 Hugging Face [kewin4933\u002FInferLLM-Model](https:\u002F\u002Fhuggingface.co\u002Fkewin4933\u002FInferLLM-Model\u002Ftree\u002Fmain) 下载模型。目前，该项目上传了两个 alpaca、llama2、chatglm\u002Fchatglm2 和 baichuan 模型，一个是中文 int4 模型，另一个是英文 int4 模型。\n\n### 编译 InferLLM\n#### 本地编译\n```shell\nmkdir build\ncd build\ncmake ..\nmake\n```\n默认禁用 GPU，如果你想启用 GPU，请使用 `cmake -DENABLE_GPU=ON ..` 来启用 GPU。目前仅支持 CUDA，使用 CUDA 前请先安装 CUDA 工具包。\n\n#### Android 交叉编译\n根据交叉编译要求，你可以使用预先准备好的 tools\u002Fandroid_build.sh 脚本。你需要提前安装 NDK 并将 NDK 的路径配置到 NDK_ROOT 环境变量中。\n```shell\nexport NDK_ROOT=\u002Fpath\u002Fto\u002Fndk\n.\u002Ftools\u002Fandroid_build.sh\n```\n### 运行 InferLLM\n运行 ChatGLM 模型请参考 [ChatGLM 模型文档](.\u002Fapplication\u002Fchatglm\u002FReadme.md)。\n\n如果在本地执行，直接运行 `.\u002Fchatglm -m chatglm-q4.bin -t 4`。如果你想在手机上执行，可以使用 adb 命令将 alpaca 和模型文件复制到手机上，然后执行 `adb shell .\u002Fchatglm -m chatglm-q4.bin -t 4`。\n\n默认设备是 CPU，如果你想使用 GPU 进行推理，请使用 `.\u002Fchatglm -m chatglm-q4.bin -g GPU` 来指定 GPU 设备。\n\n- x86 平台：Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz\n![x86 运行](.\u002Fassets\u002FChatGLM-x86.gif )\n- android 平台：小米9，Qualcomm SM8150 Snapdragon 855\n![android 运行](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMegEngine_InferLLM_readme_26d9dae17af4.gif)\n- CPU 平台：SG2042，支持 riscv-vector 0.7，64 线程\n![sg2042 运行](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMegEngine_InferLLM_readme_dac8031696a0.gif)\n\n根据 [x86 性能分析结果](.\u002Fdocs\u002Fprofile.md)，我们强烈建议使用 4 个线程。\n\n### 支持的模型\n目前 InferLLM 支持以下模型：\n* [ChatGLM2-6B](https:\u002F\u002Fgithub.com\u002FTHUDM\u002FChatGLM2-6B)：用法请参考 [ChatGLM](.\u002Fapplication\u002Fchatglm\u002FReadme.md)\n* [ChatGLM-6B](https:\u002F\u002Fgithub.com\u002FTHUDM\u002FChatGLM-6B)：用法请参考 [ChatGLM](.\u002Fapplication\u002Fchatglm\u002FReadme.md)\n* [llama](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fllama)\n* [llama2](https:\u002F\u002Fhuggingface.co\u002Fmeta-llama\u002FLlama-2-7b-chat-hf)\n* [alpaca](https:\u002F\u002Fcrfm.stanford.edu\u002F2023\u002F03\u002F13\u002Falpaca.html)\n* [baichuan](https:\u002F\u002Fgithub.com\u002Fbaichuan-inc\u002Fbaichuan-7B) ：用法请参考 [baichuan](.\u002Fapplication\u002Fbaichuan\u002FReadme.md)\n### 许可证\nInferLLM 基于 Apache License, Version 2.0 许可证授权","# InferLLM 快速上手指南\n\nInferLLM 是一个轻量级的 LLM 模型推理框架，结构简单，易于上手和学习。它支持多种模型格式，并能在 CPU 和 GPU 上高效运行，适用于本地部署量化模型。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**：Linux、macOS 或 Windows（通过 WSL 或 MinGW）\n- **编译器**：支持 C++17 的编译器（如 gcc 8+、clang 10+）\n- **构建工具**：CMake 3.10 或更高版本\n- **可选依赖**：\n    - **GPU 支持**：如需启用 CUDA，请提前安装 CUDA Toolkit。\n    - **Android 交叉编译**：需要提前安装 Android NDK。\n\n### 前置依赖\n确保你的系统已安装 Git 和基本的开发工具链。\n\n## 安装步骤\n\n### 1. 获取源代码\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002F你的仓库地址\u002FInferLLM.git\ncd InferLLM\n```\n\n### 2. 下载模型\nInferLLM 使用与 llama.cpp 相同的模型。你可以：\n- 从 llama.cpp 项目下载模型。\n- 或从 Hugging Face 直接下载：**[kewin4933\u002FInferLLM-Model](https:\u002F\u002Fhuggingface.co\u002Fkewin4933\u002FInferLLM-Model\u002Ftree\u002Fmain)**。该仓库已上传 alpaca、llama2、chatglm\u002Fchatglm2 和 baichuan 的 int4 量化模型。\n\n将下载的模型文件（如 `chatglm-q4.bin`）放置在项目目录下。\n\n### 3. 编译项目\n\n#### 本地编译（Linux\u002FmacOS）\n```shell\nmkdir build\ncd build\ncmake ..\nmake -j4\n```\n- 默认禁用 GPU。如需启用 GPU（CUDA），请使用：\n    ```shell\n    cmake -DENABLE_GPU=ON ..\n    make -j4\n    ```\n\n#### Android 交叉编译\n1.  设置 NDK 路径：\n    ```shell\n    export NDK_ROOT=\u002Fpath\u002Fto\u002Fyour\u002Fndk\n    ```\n2.  运行编译脚本：\n    ```shell\n    .\u002Ftools\u002Fandroid_build.sh\n    ```\n\n编译完成后，在 `build` 目录下会生成可执行文件（如 `chatglm`）。\n\n## 基本使用\n\n以下以 ChatGLM 模型为例。\n\n### 在本地运行\n```shell\n# 进入编译输出目录\ncd build\n# 使用 CPU 推理，推荐使用 4 个线程\n.\u002Fchatglm -m ..\u002Fchatglm-q4.bin -t 4\n```\n\n### 在 Android 设备上运行\n1.  将可执行文件和模型文件推送到设备：\n    ```shell\n    adb push chatglm \u002Fdata\u002Flocal\u002Ftmp\u002F\n    adb push chatglm-q4.bin \u002Fdata\u002Flocal\u002Ftmp\u002F\n    ```\n2.  在设备上执行：\n    ```shell\n    adb shell\n    cd \u002Fdata\u002Flocal\u002Ftmp\n    .\u002Fchatglm -m chatglm-q4.bin -t 4\n    ```\n\n### 使用 GPU 推理\n如果你的编译支持 GPU，可以指定 GPU 设备运行：\n```shell\n.\u002Fchatglm -m chatglm-q4.bin -g GPU\n```\n\n运行后，程序将加载模型并进入交互式对话界面，你可以直接输入问题并获得模型的回复。\n\n## 当前支持模型\n- ChatGLM-6B \u002F ChatGLM2-6B\n- LLaMA \u002F LLaMA-2\n- Alpaca\n- Baichuan\n\n各模型的详细使用说明请参考项目内对应的 `Readme.md` 文件。","某智能家居公司的嵌入式开发团队正在为新一代智能中控屏开发离线语音助手功能，需要将一个大语言模型（如 ChatGLM-6B）部署到基于 ARM 架构的嵌入式设备上，以实现本地、低延迟的意图理解和对话交互。\n\n### 没有 InferLLM 时\n- **部署门槛高**：团队尝试使用原版推理框架，但其代码结构复杂，宏定义繁多，定制和适配到特定嵌入式平台需要投入大量时间进行代码梳理和修改。\n- **资源消耗大**：框架对内存和存储的占用较高，在资源受限的嵌入式设备上运行困难，难以满足产品对功耗和成本的严格要求。\n- **性能优化难**：缺乏对 ARM 架构（特别是手机级芯片）的深度优化，在设备上运行量化模型的速度缓慢，交互延迟明显，用户体验不佳。\n- **跨平台部署繁琐**：为不同硬件（如测试用的 x86 服务器、量产用的 ARM 设备）需要维护多套编译和部署脚本，流程复杂且容易出错。\n\n### 使用 InferLLM 后\n- **快速上手与集成**：InferLLM 结构清晰、模块解耦，团队能快速理解框架并针对嵌入式平台进行轻量级集成，大幅缩短了开发周期。\n- **高效利用资源**：框架轻量化，并提供了专用的 KV 存储管理，有效降低了内存占用，使得在嵌入式设备上稳定运行量化模型成为可能。\n- **获得优异性能**：得益于其对 ARM 架构（如使用汇编优化 int4 矩阵乘）的深度优化，模型在设备上的推理速度显著提升，实现了可接受的实时交互响应。\n- **实现统一部署**：InferLLM 支持从 x86、ARM 到 RISC-V 等多种 CPU，以及 CUDA GPU，团队可以使用同一套代码和模型，通过简单的编译选项切换，轻松完成从开发到生产的全链路部署。\n\nInferLLM 通过其轻量、高效且跨平台友好的设计，使开发团队能够将强大的 LLM 能力快速、经济地部署到资源受限的边缘设备上，打通了从模型到实际产品的关键一环。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMegEngine_InferLLM_70b215b2.gif","MegEngine","旷视天元 MegEngine","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FMegEngine_9b737f92.png","",null,"megengine@megvii.com","https:\u002F\u002Fmegengine.org.cn","https:\u002F\u002Fgithub.com\u002FMegEngine",[85,89,93,97,101],{"name":86,"color":87,"percentage":88},"C++","#f34b7d",88,{"name":90,"color":91,"percentage":92},"Cuda","#3A4E3A",5.8,{"name":94,"color":95,"percentage":96},"Python","#3572A5",4.6,{"name":98,"color":99,"percentage":100},"CMake","#DA3434",1.1,{"name":102,"color":103,"percentage":104},"Shell","#89e051",0.5,751,95,"2026-03-22T12:26:30","Apache-2.0","Linux, Android, riscv-vector","可选 NVIDIA GPU（CUDA），默认 CPU 推理","未说明",{"notes":113,"python":111,"dependencies":114},"支持 x86、Arm、CUDA、riscv-vector 架构；可在手机部署；需提前下载模型文件；编译时可通过 -DENABLE_GPU=ON 启用 GPU 支持",[115,116],"CUDA toolkit（GPU 运行时）","Android NDK（移动端编译）",[26,13],[119,120,121,122],"deeplearning","inference","llm","mobile","2026-03-27T02:49:30.150509","2026-04-06T06:54:54.423328",[126,131,136,141,146,151],{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},4004,"运行程序时出现 'failed to tokenize string!' 错误，如何解决？","此错误通常与模型的提示词（prompt）格式有关。根据 Issue 中的讨论，一个可能的原因是传递给模型的初始文本（prompt）格式不被识别。在提供的案例中，用户遇到了 `failed to tokenize string!` 错误，并最终解决了问题。虽然没有在评论中明确给出解决方案，但可以推断问题可能与输入文本的预处理或模型对特定格式的期望有关。建议检查并确保输入给模型的文本格式符合其要求。","https:\u002F\u002Fgithub.com\u002FMegEngine\u002FInferLLM\u002Fissues\u002F28",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},4005,"编译时遇到 `error: inlining failed in call to ‘always_inline’ ‘__m256 _mm256_fmadd_ps(...)’` 错误，如何解决？","这个错误是因为编译器需要 `-mfma` 编译选项来支持 FMA（融合乘加）指令集，但你的 CPU 可能不支持 AVX2 指令集。解决方案有两种：\n1.  **修改编译命令**：在编译时手动添加 `-mfma` 选项。但请注意，如果你的 CPU 不支持 FMA，程序运行时可能会崩溃（例如出现 `illegal hardware instruction` 错误）。\n2.  **修改源代码**：如果你的 CPU 不支持 AVX2\u002FFMA，可以修改代码，将 `_mm256_fmadd_ps` 函数替换为等效的 AVX 指令组合。具体做法是在 `src\u002Fkern\u002Foptimized\u002Fx86\u002Foptimized_x86.h` 文件中找到使用 `_mm256_fmadd_ps` 的地方，将其替换为：\n    ```c\n    \u002F\u002F 原代码: acc = _mm256_fmadd_ps(scale, p, acc);\n    __m256 tmp = _mm256_mul_ps(scale, p);\n    acc = _mm256_add_ps(tmp, acc);\n    ```\n    这样修改后，编译和运行应该可以正常进行。","https:\u002F\u002Fgithub.com\u002FMegEngine\u002FInferLLM\u002Fissues\u002F33",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},4006,"编译时遇到 `void inferllm::BaiChuanGraph::constuct_llm() marked ‘override’, but does not override` 错误，如何解决？","这个错误是由于源代码中存在拼写错误。在 `src\u002Fgraph\u002Fbaichuan.h` 和 `src\u002Fgraph\u002Fbaichuan.cpp` 文件中，函数名被错误地写成了 `constuct_llm`（少了一个字母 'r'），而它应该重写（override）的基类函数名是 `construct_llm`。\n\n**解决方案**：\n将这两个文件中的所有 `constuct_llm` 替换为正确的 `construct_llm`。\n\n具体位置：\n- `src\u002Fgraph\u002Fbaichuan.h` 第13行：`void constuct_llm() override;`\n- `src\u002Fgraph\u002Fbaichuan.cpp` 第58行：`constuct_llm();`\n- `src\u002Fgraph\u002Fbaichuan.cpp` 第108行：`void BaiChuanGraph::constuct_llm(){`\n\n修正拼写后，重新编译即可。","https:\u002F\u002Fgithub.com\u002FMegEngine\u002FInferLLM\u002Fissues\u002F43",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},4007,"在 RISC-V 架构（如 SG2042）上，使用 -O3 优化级别编译后性能反而变差，怎么办？","在 RISC-V 系统（例如 SG2042）上，`-O3` 级别的编译器优化可能过于激进，导致生成的代码在流水线和缓存利用方面表现不佳，反而比低优化级别（如 `-O2`）更慢。\n\n**解决方案**：\n避免在 RISC-V 平台上使用 `-O3` 进行编译。可以考虑以下做法：\n1.  在 CMake 配置中，默认禁用 `-O3` 优化。\n2.  或者，将优化级别设置为 `-O2`。\n根据 Issue 中的测试，禁用 `-O3` 后，ChatGLM2 模型的推理速度从 3 token\u002F秒提升到了 3.6 token\u002F秒。","https:\u002F\u002Fgithub.com\u002FMegEngine\u002FInferLLM\u002Fissues\u002F60",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},4008,"在 musl libc 环境下出现 `unsupported relocation 37` 错误，如何解决？","这个错误出现在使用 musl libc 的系统上，是在合并了某个 PR（#46）之后引入的。根本原因可能与编译优化内核（optimized kernel）并单独链接的方式有关，这有时会引入一些异常的重定位符号，导致 musl libc 无法加载程序。\n\n**解决方案**：\n维护者指出，这个问题与 InferLLM 项目本身无关，而是由另一个 PR（#54）中引入的 `avx\u002Favx2` 属性分发器（attribute dispatcher）导致的。\n\n建议的解决方向是尝试将优化内核的代码改为头文件（header-only）形式，这可能有助于避免链接时产生不兼容的重定位。需要关注项目后续的修复或相关提交。","https:\u002F\u002Fgithub.com\u002FMegEngine\u002FInferLLM\u002Fissues\u002F58",{"id":152,"question_zh":153,"answer_zh":154,"source_url":155},4009,"如何将 InferLLM 编译成动态库（.so 文件）以便在 Android 上使用？","InferLLM 项目已经支持编译为动态库。根据维护者的回复，在提交 `a2934d0` 之后，项目就已经支持编译成动态库（SO 文件）。\n\n**具体方法**：\n由于 InferLLM 的依赖很少，编译成 Android 可用的 SO 文件相对简单。你需要使用 Android NDK 的交叉编译工具链来构建项目。通常的步骤是：\n1.  设置好 Android NDK 的环境变量和 CMake 工具链文件。\n2.  像编译普通 Linux 程序一样配置和构建 InferLLM，但指定目标架构（如 arm64-v8a）。\n3.  CMake 配置应该会生成动态库目标。\n\n你可以参考项目已有的构建脚本或 CMakeLists.txt 文件，确保 `BUILD_SHARED_LIBS` 选项被启用。","https:\u002F\u002Fgithub.com\u002FMegEngine\u002FInferLLM\u002Fissues\u002F16",[]]