昇腾自研大模型推理引擎
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
new: 新建文件 PULL_REQUEST_TEMPLATE.md 按照MindiE-LLM SIG组决策,添加新的PR提交信息模版,主要涉及: 合入背景、修改内容、资料变更、接口变更、测试结果、提交CheckList等关键信息 Signed-off-by: limuyuan31 <limuyuan3@huawei.com> | 8 个月前 | |
[Feature]: Deepseek V3.2支持ascend c自定义算子接入 Co-authored-by: 周天扬<zhoutianyang@huawei.com> # message auto-generated for no-merge-commit merge: !570 merge zty_T0004 into dev [Feature]: Deepseek V3.2支持ascend c自定义算子接入 Created-by: hw-zhoutianyang Commit-by: 周天扬 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. Fixes [#303](https://gitcode.com/Ascend/MindIE-LLM/issues/303) # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 更新Ascend C自定义算子编译框架,新增moe融合算子dispatch_ffn_combine # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 不涉及 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 不涉及 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 dispatch_ffn_combine单算子UT测试通过:  gsm8k lite精度OK:  不开moe融合算子输入2k输出1k并发8性能:  开启moe融合算子输入2k输出1k并发8性能:  # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [x] 代码注释完备 - [x] 正确记录错误日志 - [x] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [x] 进行了空指针校验 - [x] 若存在资源申请,使用后资源被正确的释放了 - [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [x] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [x] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!570 | 5 个月前 | |
Update dockerfile Co-authored-by: forcekeng<gengli8@huawei.com> # message auto-generated for no-merge-commit merge: !43 merge cicd_docker into dev [ci]更新dockerfile,支持在镜像中编译安装mindie所需依赖 Created-by: forcekeng Commit-by: forcekeng Merged-by: ascend-robot Description: [ci]更新dockerfile,支持在镜像中编译安装mindie所需依赖 See merge request: Ascend/MindIE-LLM!43 | 7 个月前 | |
【开源资料】添加缺失的 pybind11 依赖 Co-authored-by: xuchi<xuchicolson@163.com> # message auto-generated for no-merge-commit merge: !813 merge A00226 into dev 【开源资料】添加缺失的 pybind11 依赖 Created-by: martinXuc Commit-by: xuchi Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 MindIE 2.3.0 版本的依赖列表中缺少 pybind11,导致用户从源码编译安装时可能因缺少该依赖而构建失败。本 PR 补充 pybind11 到依赖文档和 requirements.txt 中。 Fixes [#420](https://gitcode.com/Ascend/MindIE-LLM/issues/420) # 修改内容 1. 在 requirements.txt 中添加 pybind11==3.0.1 依赖项 2. 在文档 docs/zh/user_guide/install/source/preparing_software_and_dependencies.md 依赖表格中补充 pybind11 3.0.1 条目,标注为 MindIE 2.3.0 版本新增 # 资料变更 涉及。在安装指南的依赖表格中新增 pybind11 条目。 # 接口变更 不涉及。 # 测试结果 - 本地验证 requirements.txt 可正常安装 - 文档渲染确认表格格式正确 # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [x] 代码注释完备 - [x] 正确记录错误日志 - [x] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [x] 进行了空指针校验 - [x] 若存在资源申请,使用后资源被正确的释放了 - [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [x] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [x] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!813 | 4 个月前 | |
[bugfix] 对齐多模态媒体限制到 maxRequestLength Co-authored-by: muziyuhui666<lijianfu9@huawei.com> # message auto-generated for no-merge-commit merge: !715 merge feat/multimodal-media-limit-config into dev [bugfix] 对齐多模态媒体限制到 maxRequestLength Created-by: muziyuhui666 Commit-by: muziyuhui666 Merged-by: ascend-robot Description: # 合入背景 当前多模态媒体(图片/音频)在不同组件间存在硬编码与语义不一致的问题,可能导致: 1. 服务端请求体上限( maxRequestLength)与 tokenizer 侧图片/音频媒体大小校验规则不一致; 2. Python tokenizer 在下载/保存图片链路中仍存在固定上限,影响与配置项统一; 3. HTTP 413 PayloadTooLarge 返回信息使用固定文案,难以与当前配置(maxRequestLength)对应; 本 PR 旨在减少媒体限制相关硬编码,并将多模态媒体大小限制尽可能对齐到 maxRequestLength 配置范围,同时同步更新相关校验逻辑与测试。 # 修改内容 1. src/server/endpoint/http_wrapper/http_server.cpp - 在 HTTP 413 PayloadTooLarge 场景下,错误文案从固定文案改为使用 GetServerConfig().maxRequestLength 计算并拼接,提升与配置的一致性。 2. src/server/tokenizer/infer_tokenizer.cpp - 调用 Python download_url 时增加/传递 size_limit 参数,使用 GetMaxTextLength()(由 maxRequestLength 换算为字节上限)作为媒体大小限制驱动输入链路。 3. mindie_llm/tokenizer/tokenizer.py - 将 download_url/_download/_process_url_path/_process_local_path/_process_base64 增加 size_limit 透传链路。 - 移除图片/音频的固定 _SINGLE_IMAGE_LIMIT/_SINGLE_AUDIO_LIMIT 相关逻辑。 - base64 分支在保存图片时使用 size_limit 进行校验,避免仍受固定上限影响。 4. mindie_llm/tokenizer/io_utils.py - fetch_media_url、save_image 改为显式接收 size_limit 参数,图片保存前按 size_limit 校验字节大小,移除固定 20MB 硬编码。 5. examples/atb_models/atb_llm/utils/multimodal_utils.py - 为简化处理,将 MAX_IMAGE_FILE_SIZE 与 MAX_AUDIO_FILE_SIZE 从 20 * 1024 * 1024 调整为 100 * 1024 * 1024,与文档中 maxRequestLength 参数范围(1~100MB)更一致,减少 ATB 侧更早拦截导致的不一致。 # 资料变更 不涉及。 # 接口变更 不涉及对跨代码仓或客户面可见的接口变更。 说明:仅为 tokenizer 内部 C++ -> Python 调用链增加媒体 size_limit 透传参数,C++ 调用方已同步更新。 # 测试结果 - 已完成本 PR 相关代码修改与对应单测同步更新。 - 在目标环境已验证以下场景: - 图片/音频通过 URL、本地路径与 base64 三种输入方式的超限场景返回符合预期; - HTTP 413 返回信息中“最大允许大小”随 maxRequestLength 正确变化; # CheckList - [ ] 代码注释完备 - [ ] 正确记录错误日志 - [ ] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [ ] 进行了空指针校验 - [ ] 若存在资源申请,使用后资源被正确的释放了 - [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [ ] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [ ] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) Fix [#363](https://gitcode.com/Ascend/MindIE-LLM/issues/363) See merge request: Ascend/MindIE-LLM!715 | 4 个月前 | |
logger | 4 个月前 | |
静态检查能力增强 Co-authored-by: hejianping<hejianping7@huawei.com> # message auto-generated for no-merge-commit merge: !346 merge br_pre_commit_config into dev 静态检查能力增强 Created-by: hejianping Commit-by: hejianping Merged-by: ascend-robot Description: # 合入背景 目前在MindIE-LLM社区中,没有部署个人级静态检查工具,很多开发过程中存在的低级错误,依赖Committer的代码检视无法完全看护,亟需进行静态检查能力增强,本PR合入关联issue:Fixs [#186](https://gitcode.com/Ascend/MindIE-LLM/issues/186) # 修改内容 参考主流开源社区,部署pre-commit检查工具,进行静态检查,开发人员在本地实现pre-commit工具部署,代码提交前,完成代码规范化检查 # 资料变更 不涉及 # 接口变更 不涉及 # 测试结果 不涉及 # CheckList - [x] 代码注释完备 - [x] 正确记录错误日志 - [x] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [x] 进行了空指针校验 - [x] 若存在资源申请,使用后资源被正确的释放了 - [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [x] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [x] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!346 | 6 个月前 | |
[bugfix]:修复集中式场景下,未探测slave节点npu利用率,导致对服务健康度的误判现象 Co-authored-by: weixin_63825906<gaopeng140@huawei.com> # message auto-generated for no-merge-commit merge: !733 merge donw3 into dev [bugfix]:修复集中式场景下,未探测slave节点npu利用率,导致对服务健康度的误判现象 Created-by: weixin_63825906 Commit-by: weixin_63825906 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> Fixes [#375](https://gitcode.com/Ascend/MindIE-LLM/issues/375) # 合入背景 > 集中式场景下,虚推健康检查缺少对slave侧NPU利用率的监控,存在误杀风险 # 修改内容 > 基于已有grpc链接,从节点定时向主节点上报npu利用率 # 资料变更 > 不涉及 # 接口变更 > 不涉及 # 测试结果 > 10k-1k,50并发,压测,3机A3环境,1P1D 修改前(偶现abnormal)  修改后(部分状况下,masterNPU利用率为0,slave为17%,原逻辑下该情况会被判异常,目前无abnormal)  # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [ ] 代码注释完备 - [ ] 正确记录错误日志 - [ ] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [ ] 进行了空指针校验 - [ ] 若存在资源申请,使用后资源被正确的释放了 - [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [ ] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [ ] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!733 | 5 个月前 | |
MindIE-LLM支持同时打包多个不同类型算子包&运行时动态选择导入 Co-authored-by: 周天扬<zhoutianyang@huawei.com> # message auto-generated for no-merge-commit merge: !709 merge dev_mie_ops into dev MindIE-LLM支持同时打包多个不同类型算子包&运行时动态选择导入 Created-by: hw-zhoutianyang Commit-by: 周天扬 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. Fixes [#361](https://gitcode.com/Ascend/MindIE-LLM/issues/361) # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 MindIE-LLM支持同时打包多个不同类型算子包&运行时动态选择导入 # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 不涉及 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 不涉及 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 A2大EP服务拉起成功,请求推理成功:   A3双机服务拉起成功,gsm8k精度OK:  # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [x] 代码注释完备 - [x] 正确记录错误日志 - [x] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [x] 进行了空指针校验 - [x] 若存在资源申请,使用后资源被正确的释放了 - [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [x] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [x] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!709 | 5 个月前 | |
[bugfix] 对齐多模态媒体限制到 maxRequestLength Co-authored-by: muziyuhui666<lijianfu9@huawei.com> # message auto-generated for no-merge-commit merge: !715 merge feat/multimodal-media-limit-config into dev [bugfix] 对齐多模态媒体限制到 maxRequestLength Created-by: muziyuhui666 Commit-by: muziyuhui666 Merged-by: ascend-robot Description: # 合入背景 当前多模态媒体(图片/音频)在不同组件间存在硬编码与语义不一致的问题,可能导致: 1. 服务端请求体上限( maxRequestLength)与 tokenizer 侧图片/音频媒体大小校验规则不一致; 2. Python tokenizer 在下载/保存图片链路中仍存在固定上限,影响与配置项统一; 3. HTTP 413 PayloadTooLarge 返回信息使用固定文案,难以与当前配置(maxRequestLength)对应; 本 PR 旨在减少媒体限制相关硬编码,并将多模态媒体大小限制尽可能对齐到 maxRequestLength 配置范围,同时同步更新相关校验逻辑与测试。 # 修改内容 1. src/server/endpoint/http_wrapper/http_server.cpp - 在 HTTP 413 PayloadTooLarge 场景下,错误文案从固定文案改为使用 GetServerConfig().maxRequestLength 计算并拼接,提升与配置的一致性。 2. src/server/tokenizer/infer_tokenizer.cpp - 调用 Python download_url 时增加/传递 size_limit 参数,使用 GetMaxTextLength()(由 maxRequestLength 换算为字节上限)作为媒体大小限制驱动输入链路。 3. mindie_llm/tokenizer/tokenizer.py - 将 download_url/_download/_process_url_path/_process_local_path/_process_base64 增加 size_limit 透传链路。 - 移除图片/音频的固定 _SINGLE_IMAGE_LIMIT/_SINGLE_AUDIO_LIMIT 相关逻辑。 - base64 分支在保存图片时使用 size_limit 进行校验,避免仍受固定上限影响。 4. mindie_llm/tokenizer/io_utils.py - fetch_media_url、save_image 改为显式接收 size_limit 参数,图片保存前按 size_limit 校验字节大小,移除固定 20MB 硬编码。 5. examples/atb_models/atb_llm/utils/multimodal_utils.py - 为简化处理,将 MAX_IMAGE_FILE_SIZE 与 MAX_AUDIO_FILE_SIZE 从 20 * 1024 * 1024 调整为 100 * 1024 * 1024,与文档中 maxRequestLength 参数范围(1~100MB)更一致,减少 ATB 侧更早拦截导致的不一致。 # 资料变更 不涉及。 # 接口变更 不涉及对跨代码仓或客户面可见的接口变更。 说明:仅为 tokenizer 内部 C++ -> Python 调用链增加媒体 size_limit 透传参数,C++ 调用方已同步更新。 # 测试结果 - 已完成本 PR 相关代码修改与对应单测同步更新。 - 在目标环境已验证以下场景: - 图片/音频通过 URL、本地路径与 base64 三种输入方式的超限场景返回符合预期; - HTTP 413 返回信息中“最大允许大小”随 maxRequestLength 正确变化; # CheckList - [ ] 代码注释完备 - [ ] 正确记录错误日志 - [ ] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [ ] 进行了空指针校验 - [ ] 若存在资源申请,使用后资源被正确的释放了 - [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [ ] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [ ] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) Fix [#363](https://gitcode.com/Ascend/MindIE-LLM/issues/363) See merge request: Ascend/MindIE-LLM!715 | 4 个月前 | |
[bugfix] 对齐多模态媒体限制到 maxRequestLength Co-authored-by: muziyuhui666<lijianfu9@huawei.com> # message auto-generated for no-merge-commit merge: !715 merge feat/multimodal-media-limit-config into dev [bugfix] 对齐多模态媒体限制到 maxRequestLength Created-by: muziyuhui666 Commit-by: muziyuhui666 Merged-by: ascend-robot Description: # 合入背景 当前多模态媒体(图片/音频)在不同组件间存在硬编码与语义不一致的问题,可能导致: 1. 服务端请求体上限( maxRequestLength)与 tokenizer 侧图片/音频媒体大小校验规则不一致; 2. Python tokenizer 在下载/保存图片链路中仍存在固定上限,影响与配置项统一; 3. HTTP 413 PayloadTooLarge 返回信息使用固定文案,难以与当前配置(maxRequestLength)对应; 本 PR 旨在减少媒体限制相关硬编码,并将多模态媒体大小限制尽可能对齐到 maxRequestLength 配置范围,同时同步更新相关校验逻辑与测试。 # 修改内容 1. src/server/endpoint/http_wrapper/http_server.cpp - 在 HTTP 413 PayloadTooLarge 场景下,错误文案从固定文案改为使用 GetServerConfig().maxRequestLength 计算并拼接,提升与配置的一致性。 2. src/server/tokenizer/infer_tokenizer.cpp - 调用 Python download_url 时增加/传递 size_limit 参数,使用 GetMaxTextLength()(由 maxRequestLength 换算为字节上限)作为媒体大小限制驱动输入链路。 3. mindie_llm/tokenizer/tokenizer.py - 将 download_url/_download/_process_url_path/_process_local_path/_process_base64 增加 size_limit 透传链路。 - 移除图片/音频的固定 _SINGLE_IMAGE_LIMIT/_SINGLE_AUDIO_LIMIT 相关逻辑。 - base64 分支在保存图片时使用 size_limit 进行校验,避免仍受固定上限影响。 4. mindie_llm/tokenizer/io_utils.py - fetch_media_url、save_image 改为显式接收 size_limit 参数,图片保存前按 size_limit 校验字节大小,移除固定 20MB 硬编码。 5. examples/atb_models/atb_llm/utils/multimodal_utils.py - 为简化处理,将 MAX_IMAGE_FILE_SIZE 与 MAX_AUDIO_FILE_SIZE 从 20 * 1024 * 1024 调整为 100 * 1024 * 1024,与文档中 maxRequestLength 参数范围(1~100MB)更一致,减少 ATB 侧更早拦截导致的不一致。 # 资料变更 不涉及。 # 接口变更 不涉及对跨代码仓或客户面可见的接口变更。 说明:仅为 tokenizer 内部 C++ -> Python 调用链增加媒体 size_limit 透传参数,C++ 调用方已同步更新。 # 测试结果 - 已完成本 PR 相关代码修改与对应单测同步更新。 - 在目标环境已验证以下场景: - 图片/音频通过 URL、本地路径与 base64 三种输入方式的超限场景返回符合预期; - HTTP 413 返回信息中“最大允许大小”随 maxRequestLength 正确变化; # CheckList - [ ] 代码注释完备 - [ ] 正确记录错误日志 - [ ] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [ ] 进行了空指针校验 - [ ] 若存在资源申请,使用后资源被正确的释放了 - [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [ ] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [ ] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) Fix [#363](https://gitcode.com/Ascend/MindIE-LLM/issues/363) See merge request: Ascend/MindIE-LLM!715 | 4 个月前 | |
[Feature]: Deepseek V3.2支持ascend c自定义算子接入 Co-authored-by: 周天扬<zhoutianyang@huawei.com> # message auto-generated for no-merge-commit merge: !570 merge zty_T0004 into dev [Feature]: Deepseek V3.2支持ascend c自定义算子接入 Created-by: hw-zhoutianyang Commit-by: 周天扬 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. Fixes [#303](https://gitcode.com/Ascend/MindIE-LLM/issues/303) # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 更新Ascend C自定义算子编译框架,新增moe融合算子dispatch_ffn_combine # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 不涉及 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 不涉及 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 dispatch_ffn_combine单算子UT测试通过:  gsm8k lite精度OK:  不开moe融合算子输入2k输出1k并发8性能:  开启moe融合算子输入2k输出1k并发8性能:  # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [x] 代码注释完备 - [x] 正确记录错误日志 - [x] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [x] 进行了空指针校验 - [x] 若存在资源申请,使用后资源被正确的释放了 - [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [x] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [x] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!570 | 5 个月前 | |
MIES_INSTALL_PATH替换 Co-authored-by: xqchen7<chenxueqing7@huawei.com> # message auto-generated for no-merge-commit merge: !313 merge dev_127 into dev MIES_INSTALL_PATH替换 Created-by: xqchen7 Commit-by: xqchen7 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > llm仓\ > MIES_INSTALL_PATH -> MINDIE_LLM_HOME_PATH。\ >'Fixes #155' # 修改内容 > LLM仓里的MIES_INSTALL_PATH全部替换为 MINDIE_LLM_HOME_PATH。\ # 资料变更 > docs/zh/user_guide/user_manual/environment_variable.md \ docs/zh/user_guide/user_manual/prefill_decode_mixed_deployment.md \ examples/atb_models/examples/models/telechat/README.md \ 里的MIES_INSTALL_PATH全部替换为 MINDIE_LLM_HOME_PATH。 # 接口变更 > “不涉及”。 # 测试结果 > pd混部  > pd分离 。 # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [x] 代码注释完备 - [x] 正确记录错误日志 - [x] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [x] 进行了空指针校验 - [x] 若存在资源申请,使用后资源被正确的释放了 - [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [x] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [x] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!313 | 6 个月前 | |
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> | 8 个月前 | |
[feat] 拆分结构化输出structured_output Co-authored-by: LinWei100<linwei100@huawei.com> # message auto-generated for no-merge-commit merge: !549 merge dev/pr-517-new into dev [feat] 拆分结构化输出structured_output Created-by: LinWei100 Commit-by: LinWei100 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. Fix part of [#257](https://gitcode.com/Ascend/MindIE-LLM/issues/257) # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 ## Server侧修改内容 新增response_format参数以及相关读取方法。 ## LLM侧修改内容 新增structure_output相关内容, - structure_output_manager: 结构化输出管理后端 - structure_output_grammar: 结构化输出grammar组件,调用xgrammar - plugin_manager:在preprocess和postprocess过程中调用相关方法 - logits_handler: 通过grammar生成的bitmask,进行logits限制到结构化输出范围 # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 新增response_format请求参数 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [ ] 代码注释完备 - [ ] 正确记录错误日志 - [ ] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [ ] 进行了空指针校验 - [ ] 若存在资源申请,使用后资源被正确的释放了 - [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [ ] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [ ] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!549 | 5 个月前 | |
修复c++空2格改为空4格,更新文件 .pre-commit-config.yaml dev Co-authored-by: xqchen7<chenxueqing7@huawei.com> # message auto-generated for no-merge-commit merge: !735 merge dev_331 into dev 修复c++空2格改为空4格,更新文件 .pre-commit-config.yaml dev Created-by: xqchen7 Commit-by: xqchen7 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > pre-commit原始规则文件空两格,与mindie空4格有冲突,修改为文件空4格 Fixes [#407] # 修改内容 > 更新文件 .pre-commit-config.yaml # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 # 接口变更 > “不涉及”。 # 测试结果 > 不涉及” # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [x] 代码注释完备 - [x] 正确记录错误日志 - [x] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [x] 进行了空指针校验 - [x] 若存在资源申请,使用后资源被正确的释放了 - [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [x] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [x] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!735 | 4 个月前 | |
【新需求】【重构】【编译工程】并行编译第三方包 Co-authored-by: KaiMa<KaiMa_SDU@outlook.com> # message auto-generated for no-merge-commit merge: !73 merge compile3_2 into dev 【新需求】【重构】【编译工程】并行编译第三方包 Created-by: KaiMa Commit-by: KaiMa Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. 当前编译耗时较长,其中主要瓶颈是三方包的编译,需要优化,详见 Issue: Fixes #[38](https://gitcode.com/Ascend/MindIE-LLM/issues/38) # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 主要修改如下: 1. 解耦本项目编译和三方包编译; 2. 根据职责单一划分脚本,主 CmakeList.txt 无需暴露过多细节,通过提炼函数封闭变化,减少发散; 3. 编写三方包统一编译的 add_builder 函数,调用者仅需传个性化参数; 4. 每个三方包创建一个 target,通过已设定的依赖关系、上层设定的并行数,触发并行编译; 5. 编译选项分组呈现,如果新增,仅需添加一处,减少发散; 6. 项目编译选项和三方包编译选项分别集中管理; 7. 统一的默认值定义; 8. 每个包独立编写各自编译逻辑,从 grpc 拆分 zlib、protobuf、cares、re2、absel 包,子包并行; 9. 无需编译、仅需下载复制的包归为一个线程负载; 10. 清除无意义打屏日志,默认日志等级为 ERROR,一般不开启 INFO; 11. 修改文件 dependency.json,删除 dependencies 字段,避免字段定义嵌套过深; 12. 解耦 lib 依赖,不再依赖 MindIE-Motor 中的三方包。 # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 不涉及 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 不涉及 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 不涉及硬件、部署方式、功能、精度。编译效率相比之前至少提升 **34.04 ~ 46.81%**。 优化后:  场景1: 联网,直接编译,下载、编译(无output缓存) 耗时:  场景2: 无网,仅有下载的压缩包 耗时:  场景3: 无网,仅有三方编译的output缓存 耗时:  场景4: 无网,有三方包和项目的缓存 耗时:  # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [x] 代码注释完备 - [x] 正确记录错误日志 - [x] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [x] 进行了空指针校验 - [x] 若存在资源申请,使用后资源被正确的释放了 - [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [x] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [x] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!73 | 8 个月前 | |
[doc ]修改doc tools工具扫描出来的低错问题 Co-authored-by: xiechangxiu<xiechangxiu3@h-partners.com> # message auto-generated for no-merge-commit merge: !708 merge dev into dev [doc ]修改doc tools工具扫描出来的低错问题 Created-by: ella07 Commit-by: x60087760;ella07;xiechangxiu Merged-by: ascend-robot Description: [#360](https://gitcode.com/Ascend/MindIE-LLM/issues/360) Doc tools工具问题清零。 See merge request: Ascend/MindIE-LLM!708 | 5 个月前 | |
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> | 8 个月前 | |
[doc ]修改doc tools工具扫描出来的低错问题 Co-authored-by: xiechangxiu<xiechangxiu3@h-partners.com> # message auto-generated for no-merge-commit merge: !708 merge dev into dev [doc ]修改doc tools工具扫描出来的低错问题 Created-by: ella07 Commit-by: x60087760;ella07;xiechangxiu Merged-by: ascend-robot Description: [#360](https://gitcode.com/Ascend/MindIE-LLM/issues/360) Doc tools工具问题清零。 See merge request: Ascend/MindIE-LLM!708 | 5 个月前 | |
[Feature]: Deepseek V3.2支持ascend c自定义算子接入 Co-authored-by: 周天扬<zhoutianyang@huawei.com> # message auto-generated for no-merge-commit merge: !570 merge zty_T0004 into dev [Feature]: Deepseek V3.2支持ascend c自定义算子接入 Created-by: hw-zhoutianyang Commit-by: 周天扬 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. Fixes [#303](https://gitcode.com/Ascend/MindIE-LLM/issues/303) # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 更新Ascend C自定义算子编译框架,新增moe融合算子dispatch_ffn_combine # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 不涉及 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 不涉及 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 dispatch_ffn_combine单算子UT测试通过:  gsm8k lite精度OK:  不开moe融合算子输入2k输出1k并发8性能:  开启moe融合算子输入2k输出1k并发8性能:  # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [x] 代码注释完备 - [x] 正确记录错误日志 - [x] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [x] 进行了空指针校验 - [x] 若存在资源申请,使用后资源被正确的释放了 - [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [x] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [x] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!570 | 5 个月前 | |
[doc ]修改doc tools工具扫描出来的低错问题 Co-authored-by: xiechangxiu<xiechangxiu3@h-partners.com> # message auto-generated for no-merge-commit merge: !708 merge dev into dev [doc ]修改doc tools工具扫描出来的低错问题 Created-by: ella07 Commit-by: x60087760;ella07;xiechangxiu Merged-by: ascend-robot Description: [#360](https://gitcode.com/Ascend/MindIE-LLM/issues/360) Doc tools工具问题清零。 See merge request: Ascend/MindIE-LLM!708 | 5 个月前 | |
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> | 8 个月前 | |
[文档]编辑docs目录,全量遍历修改md文档中的链接、表格中换行显示等格式问题 Co-authored-by: xiechangxiu<xiechangxiu3@h-partners.com> # message auto-generated for no-merge-commit merge: !74 merge dev into dev [文档]编辑docs目录,全量遍历修改md文档中的链接、表格中换行显示等格式问题 Created-by: ella07 Commit-by: xiechangxiu;ella07 Merged-by: ascend-robot Description: Fixes [#60](https://gitcode.com/Ascend/MindIE-LLM/issues/60) 全量修改docs目录下,社区迁移过去md文档的如下问题: 1、md中的链接 2、md表格中的换行、无序列表等格式显示。 3、补充代码仓README中的“贡献声明” See merge request: Ascend/MindIE-LLM!74 | 7 个月前 | |
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> | 8 个月前 | |
【开源资料】添加缺失的 pybind11 依赖 Co-authored-by: xuchi<xuchicolson@163.com> # message auto-generated for no-merge-commit merge: !813 merge A00226 into dev 【开源资料】添加缺失的 pybind11 依赖 Created-by: martinXuc Commit-by: xuchi Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 MindIE 2.3.0 版本的依赖列表中缺少 pybind11,导致用户从源码编译安装时可能因缺少该依赖而构建失败。本 PR 补充 pybind11 到依赖文档和 requirements.txt 中。 Fixes [#420](https://gitcode.com/Ascend/MindIE-LLM/issues/420) # 修改内容 1. 在 requirements.txt 中添加 pybind11==3.0.1 依赖项 2. 在文档 docs/zh/user_guide/install/source/preparing_software_and_dependencies.md 依赖表格中补充 pybind11 3.0.1 条目,标注为 MindIE 2.3.0 版本新增 # 资料变更 涉及。在安装指南的依赖表格中新增 pybind11 条目。 # 接口变更 不涉及。 # 测试结果 - 本地验证 requirements.txt 可正常安装 - 文档渲染确认表格格式正确 # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [x] 代码注释完备 - [x] 正确记录错误日志 - [x] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [x] 进行了空指针校验 - [x] 若存在资源申请,使用后资源被正确的释放了 - [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [x] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [x] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!813 | 4 个月前 | |
[doc ]修改doc tools工具扫描出来的低错问题 Co-authored-by: xiechangxiu<xiechangxiu3@h-partners.com> # message auto-generated for no-merge-commit merge: !708 merge dev into dev [doc ]修改doc tools工具扫描出来的低错问题 Created-by: ella07 Commit-by: x60087760;ella07;xiechangxiu Merged-by: ascend-robot Description: [#360](https://gitcode.com/Ascend/MindIE-LLM/issues/360) Doc tools工具问题清零。 See merge request: Ascend/MindIE-LLM!708 | 5 个月前 | |
修复runtime下获取llm_config的默认路径 Co-authored-by: earthmanylf<yulinfeng2@huawei.com> # message auto-generated for no-merge-commit merge: !310 merge bugfix into dev 修复runtime下获取llm_config的默认路径 Created-by: earthmanylf Commit-by: earthmanylf Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. Fix part of #103 # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 data: {"id":"endpoint_common_2","object":"chat.completion.chunk","created":1770200958,"model":"qwen","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]} data: {"id":"endpoint_common_2","object":"chat.completion.chunk","created":1770200958,"model":"qwen","choices":[{"index":0,"delta":{"role":"assistant","content":"<think>"},"logprobs":null,"finish_reason":null}]} data: {"id":"endpoint_common_2","object":"chat.completion.chunk","created":1770200958,"model":"qwen","choices":[{"index":0,"delta":{"role":"assistant","content":"\n"},"logprobs":null,"finish_reason":null}]} data: {"id":"endpoint_common_2","object":"chat.completion.chunk","created":1770200959,"model":"qwen","choices":[{"index":0,"delta":{"role":"assistant","content":"Okay"},"logprobs":null,"finish_reason":null}]} data: {"id":"endpoint_common_2","object":"chat.completion.chunk","created":1770200959,"model":"qwen","choices":[{"index":0,"delta":{"role":"assistant","content":","},"logprobs":null,"finish_reason":null}]} data: {"id":"endpoint_common_2","object":"chat.completion.chunk","created":1770200959,"model":"qwen","choices":[{"index":0,"delta":{"role":"assistant","content":" the"},"logprobs":null,"finish_reason":null}]} data: {"id":"endpoint_common_2","object":"chat.completion.chunk","created":1770200959,"model":"qwen","choices":[{"index":0,"delta":{"role":"assistant","content":" user"},"logprobs":null,"finish_reason":null}]} data: {"id":"endpoint_common_2","object":"chat.completion.chunk","created":1770200959,"model":"qwen","choices":[{"index":0,"delta":{"role":"assistant","content":" just"},"logprobs":null,"finish_reason":null}]} data: {"id":"endpoint_common_2","object":"chat.completion.chunk","created":1770200959,"model":"qwen","choices":[{"index":0,"delta":{"role":"assistant","content":" said"},"logprobs":null,"finish_reason":null}]} data: {"id":"endpoint_common_2","object":"chat.completion.chunk","created":1770200959,"model":"qwen","choices":[{"index":0,"delta":{"role":"assistant","content":","},"logprobs":null,"finish_reason":null}]} data: {"id":"endpoint_common_2","object":"chat.completion.chunk","created":1770200959,"model":"qwen","usage":{"prompt_tokens":14,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens":10,"completion_tokens_details":{"reasoning_tokens":0},"total_tokens":24},"choices":[{"index":0,"delta":{"role":"assistant","content":" \""},"logprobs":null,"finish_reason":"length"}]} # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [x] 代码注释完备 - [x] 正确记录错误日志 - [x] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [x] 进行了空指针校验 - [x] 若存在资源申请,使用后资源被正确的释放了 - [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [x] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [x] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!310 | 6 个月前 | |
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> | 8 个月前 |
MindIE LLM
📢 Latest News
- [2025/12] MindIE LLM 正式宣布开源并面向公众开放! 会议日历
🚀 简介
MindIE LLM是昇腾的大语言模型推理加速套件,旨在通过深度优化的模型库和推理优化器,专门提升大模型在昇腾硬件上的推理性能和易用性。MindIE LLM基于昇腾硬件,提供业界通用大模型推理能力,多并发请求的调度,包含Continuous Batching、PagedAttention、FlashDecoding等加速特性,使能用户高性能推理需求。
🔍 目录结构
├── mindie_llm # Python 推理框架主模块
│ ├── connector # 请求接入层
│ ├── text_generator # 核心推理引擎
│ ├── modeling # 模型封装抽象
│ ├── runtime # 运行时编译和模型加载
│ ├── utils # 工具模块:日志/张量/Profiling/验证等
├── examples # 示例代码
├── docs # 项目文档介绍
├── src # C++ 核心引擎
│ ├── engine # LLM 引擎的主逻辑(调度/执行)
│ ├── scheduler # 调度器(FCFS/PDDS/Layerwise)
│ ├── block_manager # KV Cache 块管理(LRU/Prefix Cache/CoW)
│ ├── llm_manager # Python/C++ 桥接 API
│ ├── server # 服务端(gRPC/HTTP 接入端点)
│ ├── utils # 基础工具(共享内存/加密/日志/ID 生成等)
│ ├── include # 对外头文件接口
├── scripts # 构建与部署脚本
├── tools # 辅助工具
├── tests # 测试
├── CMakeLists.txt # CMake 构建配置
├── README.md
📢 版本说明
| MindIE 软件版本 | CANN 版本兼容性 |
|---|---|
| 2.3.0 | 8.5.0 |
⚡️ 环境部署
⚡️ 快速入门
快速体验使用MindIE进行大模型推理的全流程,请参见快速入门。
📝 学习文档
- 模型支持列表
- 代码仓模型支持列表:优先使用,提供当前版本经过测试充分验证支持和仅功能支持的模型全集。
- 昇腾社区模型支持列表:提供当前版本经过测试充分验证支持的模型。
- 特性介绍:MindIE LLM 支持的推理特性。
- LLM 使用指南:MindIE LLM 使用指南,包括推理参数配置、在线和离线推理、参数调优等。
📝贡献声明
- 提交错误报告:如果您在MindIE LLM中发现了一个不存在安全问题的漏洞,请在MindIE LLm仓库中的Issues搜索,以防该漏洞被重复提交,如果找不到漏洞可以创建一个新的Issues。如果发现了一个安全问题请不要将其公开,请参阅安全问题处理方式。提交错误报告时应包含完整信息。
- 安全问题处理:本项目中对安全问题处理的形式,请通过邮箱通知项目核心人员确认编辑。
- 解决现有问题:通过查看仓库的Issues列表可以发现需要处理的问题信息,可以尝试解决其中的某个问题。
- 如何提出新功能:请使用Issues的Feature标签进行标记,我们会定期处理和确认开发。
- 开始贡献:
a. Fork本项目的仓库。
b. Clone到本地。
c. 创建开发分支。
d. 本地自测,提交前请通过所有的单元测试,包括为您要解决的问题新增的单元测试。
e. 提交代码。
f. 新建Pull Request。
g. 代码检视,您需要根据评审意见修改代码,并重新提交更新。此流程可能涉及多轮迭代。
h. 当您的PR获取足够数量的检视者批准后,Committer会进行最终审核。
i. 审核和测试通过后,CI会将您的PR合并入到项目的主干分支。
更多贡献相关文档请参见贡献指南。
📝免责声明
版权所有© 2025-2026 MindIE Project.
您对 "本文档" 的复制、使用、修改及分发受知识共享(Creative Commons,CC)署名 —— 相同方式共享 4.0 国际公共许可协议(以下简称 "CC BY-SA 4.0")的约束。为了方便用户理解,您可以通过访问 https://creativecommons.org/licenses/by-sa/4.0/ 了解 CC BY-SA 4.0 的概要(但不是替代)。关于 CC BY-SA 4.0 的完整协议内容,您可以访问如下网址获取:https://creativecommons.org/licenses/by-sa/4.0/legalcode。