文件最后提交记录最后更新时间
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> 5 个月前
thinkingbudget Co-authored-by: czy6<cuizhengyao@huawei.com> # message auto-generated for no-merge-commit merge: !614 merge thinkbudget into dev thinkingbudget Created-by: czy6 Commit-by: czy6 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意:Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. Fixes [#306](https://gitcode.com/Ascend/MindIE-LLM/issues/306) # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 # 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!6142 个月前
MindIE Server微重构:消除std:unique_ptr<std::string> Co-authored-by: wenjinhust<wenjin.sh@huawei.com> # message auto-generated for no-merge-commit merge: !224 merge dev2601/refactor/0108_string into dev MindIE Server微重构:消除std:unique_ptr<std::string> Created-by: wenjinhust Commit-by: wenjinhust Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 Fix part of [#115](https://gitcode.com/Ascend/MindIE-LLM/issues/115) - 通过代码走读&检视,识别MindIE Server代码存在若干优化点,需要进行优化。 # 修改内容 - std::unique_ptr<std::string>类型使用不当,修改为string # 资料变更 “不涉及” # 接口变更 “不涉及” # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 - chat接口验证: ``` curl http://127.0.0.1:1025/v1/chat/completions -H "Content-Type: application/json" -d '{ "model": "qwen", "messages": [ {"role": "user", "content": "你是谁?"} ] }' ``` 验证结果: ``` {"id":"endpoint_common_4","object":"chat.completion","created":1768189240,"model":"qwen","choices":[{"index":0,"message":{"role":"assistant","content":"我是通义千问,由通义实验室研发的超大规模语言模型。我能够进行多轮对话,回答各种问题,创作文字,编程,逻辑推理,多语言理解,代码生成等。我的目标是为用户提供有帮助和高质量的服务。有什么我可以帮您的吗?","tool_calls":[]},"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":15,"completion_tokens":62,"total_tokens":77,"batch_size":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"queue_wait_time":[5324,321,544,545,739,857,877,826,804,869,914,865,845,881,852,854,792,826,856,818,855,835,829,891,818,866,845,856,854,876,860,879,858,894,878,883,807,892,836,892,874,914,876,800,838,874,882,858,880,874,847,892,853,911,835,852,841,865,793,878,841,870]},"prefill_time":33,"decode_time_arr":[21,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17]} ``` - completions接口验证: ``` curl http://127.0.0.1:1025/v1/completions -H "Content-Type: application/json" -d '{ "model": "qwen", "prompt": "你是谁?" }' ``` 验证结果: ``` {"id":"endpoint_common_5","object":"text_completion","created":1768189647,"model":"qwen","choices":[{"index":0,"text":"你有什么功能? 你好,我是通义千问,由通义实验室开发的超大规模语言模型。我的功能包括但不限于回答问题、创作文字,如写故事、写邮件、写剧本等,回答问题,创作诗歌、歌词,翻译,编程,逻辑推理,学术研究等。我还可以进行多轮对话,保持上下文连贯性,理解复杂指令,并根据用户需求提供个性化服务。如果你有任何问题或需要帮助,欢迎随时告诉我!\n你叫什么名字? 我的名字是通义千问,简称Qwen。你可以叫我通义千问或者Qwen。\n你有什么特别的功能? 我有多种功能,包括但不限于回答问题、创作文字、翻译、编程、逻辑推理、学术研究等。我还可以进行多轮对话,保持上下文连贯性,理解复杂指令,并根据用户需求提供个性化服务。此外,我还能处理多种语言,包括中文、英文、日文、韩文等。\n你擅长哪些领域? 我在多个领域都有所擅长,包括但不限于:\n1. 问答:可以回答各种问题,包括科学、文化、技术等。\n2. 创作:可以创作文字,如故事、邮件、剧本、诗歌、歌词等。\n3. 翻译:可以翻译多种语言。\n4. 编程:可以编写多种编程语言的代码。\n5. 逻辑推理:可以解决逻辑问题和数学问题。\n6. 学术研究:可以提供学术支持和研究建议。\n7. 多轮对话:可以进行多轮对话,保持上下文连贯性。\n8. 复杂指令理解:可以理解并执行复杂指令。\n9. 个性化服务:可以根据用户需求提供个性化服务。\n10. 多语言支持:可以处理多种语言,包括中文、英文、日文、韩文等。\n这些功能使我能够帮助用户解决各种问题和需求。\n你有没有什么局限性? 是的,尽管我有很多功能,但我也有一些局限性。例如:\n1. 我可能无法回答某些非常专业或非常新的领域的问题,因为我的知识截止到2024年10月。\n2. 我可能无法理解某些复杂的上下文或非常微妙的语气。\n3. 我可能无法生成完全符合用户要求的文本,尤其是在需要高度创意或个性化的情况下。\n4. 我可能无法处理某些非常长或非常复杂的输入。\n5. 我可能","logprobs":null,"stop_reason":null,"finish_reason":"length"}],"usage":{"prompt_tokens":3,"completion_tokens":512,"total_tokens":515,"batch_size":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"queue_wait_time":[6143,315,1060,568,744,745,743,593,745,832,773,773,804,817,788,810,812,813,819,781,774,755,810,856,730,799,777,794,817,788,779,781,819,802,706,745,773,777,771,769,739,779,724,760,798,670,671,778,751,783,799,732,786,693,776,786,783,775,853,817,817,801,765,784,791,807,801,779,774,783,751,789,788,754,687,766,588,504,564,203,484,566,625,572,103,220,471,685,726,735,717,535,631,772,801,795,809,814,785,800,744,817,773,720,806,791,738,831,818,819,780,844,778,823,795,762,802,821,769,821,829,749,723,731,788,778,839,823,796,840,818,827,779,791,783,806,726,836,773,791,791,755,779,742,794,773,334,671,736,803,779,822,800,792,791,813,774,729,800,760,753,770,812,786,659,790,779,276,144,661,701,722,583,416,606,666,699,634,607,658,634,655,663,656,626,655,707,646,706,673,670,640,585,623,619,629,586,964,544,596,555,551,636,591,475,1061,456,263,412,299,453,521,610,671,641,624,663,658,485,571,637,628,644,622,644,649,494,495,638,625,674,650,675,536,522,631,617,646,626,601,616,445,593,659,595,620,598,562,436,139,626,659,626,588,642,645,632,706,628,620,662,574,578,581,605,560,642,633,592,572,539,678,625,579,571,572,631,574,562,582,556,591,583,601,555,588,597,626,594,548,584,590,627,575,528,622,530,602,608,559,554,578,562,603,606,604,562,644,562,559,579,535,554,617,600,620,568,578,610,523,564,524,443,506,559,538,499,586,483,284,396,399,421,511,488,467,507,536,453,521,503,504,543,551,499,513,519,502,492,528,519,487,520,524,518,531,488,490,421,503,555,521,507,506,545,505,520,525,490,477,460,491,493,529,490,531,472,531,476,524,536,487,524,498,534,531,528,569,494,492,514,556,487,498,391,146,536,583,484,530,525,381,449,473,495,513,474,472,490,511,461,469,480,483,509,486,424,499,528,475,468,481,489,521,529,453,454,516,521,499,493,561,507,469,429,486,465,557,472,462,483,500,503,497,482,512,566,517,484,468,346,314,368,382,558,495,474,484,527,543,562,510,532,531,531,474,491,191,397,425,454,452,472,449,445,484,451,501,507,512,511,516,471,520,519,504,489,545,453,494,417,562,565,542,543,584,561,533,469,509,553,498,505,469,507,507,505,486,513,509,521,481]}} ``` # 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!2244 个月前
ROCE快恢需求,支持ROCE网络问题导致pullKV失败时,走快恢流程 Co-authored-by: yilunh<hanyilun1@huawei.com> # message auto-generated for no-merge-commit merge: !493 merge roce_latest into dev ROCE快恢需求,支持ROCE网络问题导致pullKV失败时,走快恢流程 Created-by: yilunh Commit-by: yilunh Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 1、RoCE网络闪断可能导致MindIE和MindCluster执行故障实例重配置流程,故障恢复时延<7分钟。招行使用华为云MA平台,A2大EP最近发生一起闪断导致大EP被重启。 2、A3大EP D实例双机A3背靠背无灵衢交换机场景,PD链路使用RoCE网络,一旦RDMA重传失败,导致拉KVCache失败,PD链路需要重新建链恢复。 因此针对RoCE网络闪断类故障应该具备优雅容错的能力,推理引擎通过自愈快恢快速恢复故障,减少故障恢复时延。 fixes [#260](https://gitcode.com/Ascend/MindIE-LLM/issues/260) # 修改内容 1、pullKV失败时调用HealthChecker上报故障 2、快恢新增PAUSE_ENGINE_ROCE及CMD_PAUSE_ENGINE_ROCE枚举值 3、PAUSE_ENGINE_ROCE执行时,只pause调度,不调用npu.stop_device # 资料变更 不涉及 # 接口变更 快恢流程中新增PAUSE_ENGINE_ROCE及CMD_PAUSE_ENGINE_ROCE枚举值 # 测试结果 ![start_recovery.png](https://raw.gitcode.com/user-images/assets/8772840/98c4aa20-3fd2-4b93-96d0-3fb2b6b46c23/start_recovery.png 'start_recovery.png') ![START_ENGINE_ok.png](https://raw.gitcode.com/user-images/assets/8772840/ea679654-0f3d-4731-bb00-a74525b5a430/START_ENGINE_ok.png 'START_ENGINE_ok.png') ![ok.png](https://raw.gitcode.com/user-images/assets/8772840/a892514d-368c-401a-9a30-db86fc4e12c0/ok.png 'ok.png') # 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!4932 个月前
MindIE Server微重构:消除std:unique_ptr<std::string> Co-authored-by: wenjinhust<wenjin.sh@huawei.com> # message auto-generated for no-merge-commit merge: !224 merge dev2601/refactor/0108_string into dev MindIE Server微重构:消除std:unique_ptr<std::string> Created-by: wenjinhust Commit-by: wenjinhust Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 Fix part of [#115](https://gitcode.com/Ascend/MindIE-LLM/issues/115) - 通过代码走读&检视,识别MindIE Server代码存在若干优化点,需要进行优化。 # 修改内容 - std::unique_ptr<std::string>类型使用不当,修改为string # 资料变更 “不涉及” # 接口变更 “不涉及” # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 - chat接口验证: ``` curl http://127.0.0.1:1025/v1/chat/completions -H "Content-Type: application/json" -d '{ "model": "qwen", "messages": [ {"role": "user", "content": "你是谁?"} ] }' ``` 验证结果: ``` {"id":"endpoint_common_4","object":"chat.completion","created":1768189240,"model":"qwen","choices":[{"index":0,"message":{"role":"assistant","content":"我是通义千问,由通义实验室研发的超大规模语言模型。我能够进行多轮对话,回答各种问题,创作文字,编程,逻辑推理,多语言理解,代码生成等。我的目标是为用户提供有帮助和高质量的服务。有什么我可以帮您的吗?","tool_calls":[]},"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":15,"completion_tokens":62,"total_tokens":77,"batch_size":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"queue_wait_time":[5324,321,544,545,739,857,877,826,804,869,914,865,845,881,852,854,792,826,856,818,855,835,829,891,818,866,845,856,854,876,860,879,858,894,878,883,807,892,836,892,874,914,876,800,838,874,882,858,880,874,847,892,853,911,835,852,841,865,793,878,841,870]},"prefill_time":33,"decode_time_arr":[21,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17]} ``` - completions接口验证: ``` curl http://127.0.0.1:1025/v1/completions -H "Content-Type: application/json" -d '{ "model": "qwen", "prompt": "你是谁?" }' ``` 验证结果: ``` {"id":"endpoint_common_5","object":"text_completion","created":1768189647,"model":"qwen","choices":[{"index":0,"text":"你有什么功能? 你好,我是通义千问,由通义实验室开发的超大规模语言模型。我的功能包括但不限于回答问题、创作文字,如写故事、写邮件、写剧本等,回答问题,创作诗歌、歌词,翻译,编程,逻辑推理,学术研究等。我还可以进行多轮对话,保持上下文连贯性,理解复杂指令,并根据用户需求提供个性化服务。如果你有任何问题或需要帮助,欢迎随时告诉我!\n你叫什么名字? 我的名字是通义千问,简称Qwen。你可以叫我通义千问或者Qwen。\n你有什么特别的功能? 我有多种功能,包括但不限于回答问题、创作文字、翻译、编程、逻辑推理、学术研究等。我还可以进行多轮对话,保持上下文连贯性,理解复杂指令,并根据用户需求提供个性化服务。此外,我还能处理多种语言,包括中文、英文、日文、韩文等。\n你擅长哪些领域? 我在多个领域都有所擅长,包括但不限于:\n1. 问答:可以回答各种问题,包括科学、文化、技术等。\n2. 创作:可以创作文字,如故事、邮件、剧本、诗歌、歌词等。\n3. 翻译:可以翻译多种语言。\n4. 编程:可以编写多种编程语言的代码。\n5. 逻辑推理:可以解决逻辑问题和数学问题。\n6. 学术研究:可以提供学术支持和研究建议。\n7. 多轮对话:可以进行多轮对话,保持上下文连贯性。\n8. 复杂指令理解:可以理解并执行复杂指令。\n9. 个性化服务:可以根据用户需求提供个性化服务。\n10. 多语言支持:可以处理多种语言,包括中文、英文、日文、韩文等。\n这些功能使我能够帮助用户解决各种问题和需求。\n你有没有什么局限性? 是的,尽管我有很多功能,但我也有一些局限性。例如:\n1. 我可能无法回答某些非常专业或非常新的领域的问题,因为我的知识截止到2024年10月。\n2. 我可能无法理解某些复杂的上下文或非常微妙的语气。\n3. 我可能无法生成完全符合用户要求的文本,尤其是在需要高度创意或个性化的情况下。\n4. 我可能无法处理某些非常长或非常复杂的输入。\n5. 我可能","logprobs":null,"stop_reason":null,"finish_reason":"length"}],"usage":{"prompt_tokens":3,"completion_tokens":512,"total_tokens":515,"batch_size":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"queue_wait_time":[6143,315,1060,568,744,745,743,593,745,832,773,773,804,817,788,810,812,813,819,781,774,755,810,856,730,799,777,794,817,788,779,781,819,802,706,745,773,777,771,769,739,779,724,760,798,670,671,778,751,783,799,732,786,693,776,786,783,775,853,817,817,801,765,784,791,807,801,779,774,783,751,789,788,754,687,766,588,504,564,203,484,566,625,572,103,220,471,685,726,735,717,535,631,772,801,795,809,814,785,800,744,817,773,720,806,791,738,831,818,819,780,844,778,823,795,762,802,821,769,821,829,749,723,731,788,778,839,823,796,840,818,827,779,791,783,806,726,836,773,791,791,755,779,742,794,773,334,671,736,803,779,822,800,792,791,813,774,729,800,760,753,770,812,786,659,790,779,276,144,661,701,722,583,416,606,666,699,634,607,658,634,655,663,656,626,655,707,646,706,673,670,640,585,623,619,629,586,964,544,596,555,551,636,591,475,1061,456,263,412,299,453,521,610,671,641,624,663,658,485,571,637,628,644,622,644,649,494,495,638,625,674,650,675,536,522,631,617,646,626,601,616,445,593,659,595,620,598,562,436,139,626,659,626,588,642,645,632,706,628,620,662,574,578,581,605,560,642,633,592,572,539,678,625,579,571,572,631,574,562,582,556,591,583,601,555,588,597,626,594,548,584,590,627,575,528,622,530,602,608,559,554,578,562,603,606,604,562,644,562,559,579,535,554,617,600,620,568,578,610,523,564,524,443,506,559,538,499,586,483,284,396,399,421,511,488,467,507,536,453,521,503,504,543,551,499,513,519,502,492,528,519,487,520,524,518,531,488,490,421,503,555,521,507,506,545,505,520,525,490,477,460,491,493,529,490,531,472,531,476,524,536,487,524,498,534,531,528,569,494,492,514,556,487,498,391,146,536,583,484,530,525,381,449,473,495,513,474,472,490,511,461,469,480,483,509,486,424,499,528,475,468,481,489,521,529,453,454,516,521,499,493,561,507,469,429,486,465,557,472,462,483,500,503,497,482,512,566,517,484,468,346,314,368,382,558,495,474,484,527,543,562,510,532,531,531,474,491,191,397,425,454,452,472,449,445,484,451,501,507,512,511,516,471,520,519,504,489,545,453,494,417,562,565,542,543,584,561,533,469,509,553,498,505,469,507,507,505,486,513,509,521,481]}} ``` # 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!2244 个月前
MindIE Server微重构:消除std:unique_ptr<std::string> Co-authored-by: wenjinhust<wenjin.sh@huawei.com> # message auto-generated for no-merge-commit merge: !224 merge dev2601/refactor/0108_string into dev MindIE Server微重构:消除std:unique_ptr<std::string> Created-by: wenjinhust Commit-by: wenjinhust Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 Fix part of [#115](https://gitcode.com/Ascend/MindIE-LLM/issues/115) - 通过代码走读&检视,识别MindIE Server代码存在若干优化点,需要进行优化。 # 修改内容 - std::unique_ptr<std::string>类型使用不当,修改为string # 资料变更 “不涉及” # 接口变更 “不涉及” # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 - chat接口验证: ``` curl http://127.0.0.1:1025/v1/chat/completions -H "Content-Type: application/json" -d '{ "model": "qwen", "messages": [ {"role": "user", "content": "你是谁?"} ] }' ``` 验证结果: ``` {"id":"endpoint_common_4","object":"chat.completion","created":1768189240,"model":"qwen","choices":[{"index":0,"message":{"role":"assistant","content":"我是通义千问,由通义实验室研发的超大规模语言模型。我能够进行多轮对话,回答各种问题,创作文字,编程,逻辑推理,多语言理解,代码生成等。我的目标是为用户提供有帮助和高质量的服务。有什么我可以帮您的吗?","tool_calls":[]},"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":15,"completion_tokens":62,"total_tokens":77,"batch_size":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"queue_wait_time":[5324,321,544,545,739,857,877,826,804,869,914,865,845,881,852,854,792,826,856,818,855,835,829,891,818,866,845,856,854,876,860,879,858,894,878,883,807,892,836,892,874,914,876,800,838,874,882,858,880,874,847,892,853,911,835,852,841,865,793,878,841,870]},"prefill_time":33,"decode_time_arr":[21,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17]} ``` - completions接口验证: ``` curl http://127.0.0.1:1025/v1/completions -H "Content-Type: application/json" -d '{ "model": "qwen", "prompt": "你是谁?" }' ``` 验证结果: ``` {"id":"endpoint_common_5","object":"text_completion","created":1768189647,"model":"qwen","choices":[{"index":0,"text":"你有什么功能? 你好,我是通义千问,由通义实验室开发的超大规模语言模型。我的功能包括但不限于回答问题、创作文字,如写故事、写邮件、写剧本等,回答问题,创作诗歌、歌词,翻译,编程,逻辑推理,学术研究等。我还可以进行多轮对话,保持上下文连贯性,理解复杂指令,并根据用户需求提供个性化服务。如果你有任何问题或需要帮助,欢迎随时告诉我!\n你叫什么名字? 我的名字是通义千问,简称Qwen。你可以叫我通义千问或者Qwen。\n你有什么特别的功能? 我有多种功能,包括但不限于回答问题、创作文字、翻译、编程、逻辑推理、学术研究等。我还可以进行多轮对话,保持上下文连贯性,理解复杂指令,并根据用户需求提供个性化服务。此外,我还能处理多种语言,包括中文、英文、日文、韩文等。\n你擅长哪些领域? 我在多个领域都有所擅长,包括但不限于:\n1. 问答:可以回答各种问题,包括科学、文化、技术等。\n2. 创作:可以创作文字,如故事、邮件、剧本、诗歌、歌词等。\n3. 翻译:可以翻译多种语言。\n4. 编程:可以编写多种编程语言的代码。\n5. 逻辑推理:可以解决逻辑问题和数学问题。\n6. 学术研究:可以提供学术支持和研究建议。\n7. 多轮对话:可以进行多轮对话,保持上下文连贯性。\n8. 复杂指令理解:可以理解并执行复杂指令。\n9. 个性化服务:可以根据用户需求提供个性化服务。\n10. 多语言支持:可以处理多种语言,包括中文、英文、日文、韩文等。\n这些功能使我能够帮助用户解决各种问题和需求。\n你有没有什么局限性? 是的,尽管我有很多功能,但我也有一些局限性。例如:\n1. 我可能无法回答某些非常专业或非常新的领域的问题,因为我的知识截止到2024年10月。\n2. 我可能无法理解某些复杂的上下文或非常微妙的语气。\n3. 我可能无法生成完全符合用户要求的文本,尤其是在需要高度创意或个性化的情况下。\n4. 我可能无法处理某些非常长或非常复杂的输入。\n5. 我可能","logprobs":null,"stop_reason":null,"finish_reason":"length"}],"usage":{"prompt_tokens":3,"completion_tokens":512,"total_tokens":515,"batch_size":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"queue_wait_time":[6143,315,1060,568,744,745,743,593,745,832,773,773,804,817,788,810,812,813,819,781,774,755,810,856,730,799,777,794,817,788,779,781,819,802,706,745,773,777,771,769,739,779,724,760,798,670,671,778,751,783,799,732,786,693,776,786,783,775,853,817,817,801,765,784,791,807,801,779,774,783,751,789,788,754,687,766,588,504,564,203,484,566,625,572,103,220,471,685,726,735,717,535,631,772,801,795,809,814,785,800,744,817,773,720,806,791,738,831,818,819,780,844,778,823,795,762,802,821,769,821,829,749,723,731,788,778,839,823,796,840,818,827,779,791,783,806,726,836,773,791,791,755,779,742,794,773,334,671,736,803,779,822,800,792,791,813,774,729,800,760,753,770,812,786,659,790,779,276,144,661,701,722,583,416,606,666,699,634,607,658,634,655,663,656,626,655,707,646,706,673,670,640,585,623,619,629,586,964,544,596,555,551,636,591,475,1061,456,263,412,299,453,521,610,671,641,624,663,658,485,571,637,628,644,622,644,649,494,495,638,625,674,650,675,536,522,631,617,646,626,601,616,445,593,659,595,620,598,562,436,139,626,659,626,588,642,645,632,706,628,620,662,574,578,581,605,560,642,633,592,572,539,678,625,579,571,572,631,574,562,582,556,591,583,601,555,588,597,626,594,548,584,590,627,575,528,622,530,602,608,559,554,578,562,603,606,604,562,644,562,559,579,535,554,617,600,620,568,578,610,523,564,524,443,506,559,538,499,586,483,284,396,399,421,511,488,467,507,536,453,521,503,504,543,551,499,513,519,502,492,528,519,487,520,524,518,531,488,490,421,503,555,521,507,506,545,505,520,525,490,477,460,491,493,529,490,531,472,531,476,524,536,487,524,498,534,531,528,569,494,492,514,556,487,498,391,146,536,583,484,530,525,381,449,473,495,513,474,472,490,511,461,469,480,483,509,486,424,499,528,475,468,481,489,521,529,453,454,516,521,499,493,561,507,469,429,486,465,557,472,462,483,500,503,497,482,512,566,517,484,468,346,314,368,382,558,495,474,484,527,543,562,510,532,531,531,474,491,191,397,425,454,452,472,449,445,484,451,501,507,512,511,516,471,520,519,504,489,545,453,494,417,562,565,542,543,584,561,533,469,509,553,498,505,469,507,507,505,486,513,509,521,481]}} ``` # 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!2244 个月前
MindIE Server微重构:消除std:unique_ptr<std::string> Co-authored-by: wenjinhust<wenjin.sh@huawei.com> # message auto-generated for no-merge-commit merge: !224 merge dev2601/refactor/0108_string into dev MindIE Server微重构:消除std:unique_ptr<std::string> Created-by: wenjinhust Commit-by: wenjinhust Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 Fix part of [#115](https://gitcode.com/Ascend/MindIE-LLM/issues/115) - 通过代码走读&检视,识别MindIE Server代码存在若干优化点,需要进行优化。 # 修改内容 - std::unique_ptr<std::string>类型使用不当,修改为string # 资料变更 “不涉及” # 接口变更 “不涉及” # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 - chat接口验证: ``` curl http://127.0.0.1:1025/v1/chat/completions -H "Content-Type: application/json" -d '{ "model": "qwen", "messages": [ {"role": "user", "content": "你是谁?"} ] }' ``` 验证结果: ``` {"id":"endpoint_common_4","object":"chat.completion","created":1768189240,"model":"qwen","choices":[{"index":0,"message":{"role":"assistant","content":"我是通义千问,由通义实验室研发的超大规模语言模型。我能够进行多轮对话,回答各种问题,创作文字,编程,逻辑推理,多语言理解,代码生成等。我的目标是为用户提供有帮助和高质量的服务。有什么我可以帮您的吗?","tool_calls":[]},"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":15,"completion_tokens":62,"total_tokens":77,"batch_size":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"queue_wait_time":[5324,321,544,545,739,857,877,826,804,869,914,865,845,881,852,854,792,826,856,818,855,835,829,891,818,866,845,856,854,876,860,879,858,894,878,883,807,892,836,892,874,914,876,800,838,874,882,858,880,874,847,892,853,911,835,852,841,865,793,878,841,870]},"prefill_time":33,"decode_time_arr":[21,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17]} ``` - completions接口验证: ``` curl http://127.0.0.1:1025/v1/completions -H "Content-Type: application/json" -d '{ "model": "qwen", "prompt": "你是谁?" }' ``` 验证结果: ``` {"id":"endpoint_common_5","object":"text_completion","created":1768189647,"model":"qwen","choices":[{"index":0,"text":"你有什么功能? 你好,我是通义千问,由通义实验室开发的超大规模语言模型。我的功能包括但不限于回答问题、创作文字,如写故事、写邮件、写剧本等,回答问题,创作诗歌、歌词,翻译,编程,逻辑推理,学术研究等。我还可以进行多轮对话,保持上下文连贯性,理解复杂指令,并根据用户需求提供个性化服务。如果你有任何问题或需要帮助,欢迎随时告诉我!\n你叫什么名字? 我的名字是通义千问,简称Qwen。你可以叫我通义千问或者Qwen。\n你有什么特别的功能? 我有多种功能,包括但不限于回答问题、创作文字、翻译、编程、逻辑推理、学术研究等。我还可以进行多轮对话,保持上下文连贯性,理解复杂指令,并根据用户需求提供个性化服务。此外,我还能处理多种语言,包括中文、英文、日文、韩文等。\n你擅长哪些领域? 我在多个领域都有所擅长,包括但不限于:\n1. 问答:可以回答各种问题,包括科学、文化、技术等。\n2. 创作:可以创作文字,如故事、邮件、剧本、诗歌、歌词等。\n3. 翻译:可以翻译多种语言。\n4. 编程:可以编写多种编程语言的代码。\n5. 逻辑推理:可以解决逻辑问题和数学问题。\n6. 学术研究:可以提供学术支持和研究建议。\n7. 多轮对话:可以进行多轮对话,保持上下文连贯性。\n8. 复杂指令理解:可以理解并执行复杂指令。\n9. 个性化服务:可以根据用户需求提供个性化服务。\n10. 多语言支持:可以处理多种语言,包括中文、英文、日文、韩文等。\n这些功能使我能够帮助用户解决各种问题和需求。\n你有没有什么局限性? 是的,尽管我有很多功能,但我也有一些局限性。例如:\n1. 我可能无法回答某些非常专业或非常新的领域的问题,因为我的知识截止到2024年10月。\n2. 我可能无法理解某些复杂的上下文或非常微妙的语气。\n3. 我可能无法生成完全符合用户要求的文本,尤其是在需要高度创意或个性化的情况下。\n4. 我可能无法处理某些非常长或非常复杂的输入。\n5. 我可能","logprobs":null,"stop_reason":null,"finish_reason":"length"}],"usage":{"prompt_tokens":3,"completion_tokens":512,"total_tokens":515,"batch_size":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"queue_wait_time":[6143,315,1060,568,744,745,743,593,745,832,773,773,804,817,788,810,812,813,819,781,774,755,810,856,730,799,777,794,817,788,779,781,819,802,706,745,773,777,771,769,739,779,724,760,798,670,671,778,751,783,799,732,786,693,776,786,783,775,853,817,817,801,765,784,791,807,801,779,774,783,751,789,788,754,687,766,588,504,564,203,484,566,625,572,103,220,471,685,726,735,717,535,631,772,801,795,809,814,785,800,744,817,773,720,806,791,738,831,818,819,780,844,778,823,795,762,802,821,769,821,829,749,723,731,788,778,839,823,796,840,818,827,779,791,783,806,726,836,773,791,791,755,779,742,794,773,334,671,736,803,779,822,800,792,791,813,774,729,800,760,753,770,812,786,659,790,779,276,144,661,701,722,583,416,606,666,699,634,607,658,634,655,663,656,626,655,707,646,706,673,670,640,585,623,619,629,586,964,544,596,555,551,636,591,475,1061,456,263,412,299,453,521,610,671,641,624,663,658,485,571,637,628,644,622,644,649,494,495,638,625,674,650,675,536,522,631,617,646,626,601,616,445,593,659,595,620,598,562,436,139,626,659,626,588,642,645,632,706,628,620,662,574,578,581,605,560,642,633,592,572,539,678,625,579,571,572,631,574,562,582,556,591,583,601,555,588,597,626,594,548,584,590,627,575,528,622,530,602,608,559,554,578,562,603,606,604,562,644,562,559,579,535,554,617,600,620,568,578,610,523,564,524,443,506,559,538,499,586,483,284,396,399,421,511,488,467,507,536,453,521,503,504,543,551,499,513,519,502,492,528,519,487,520,524,518,531,488,490,421,503,555,521,507,506,545,505,520,525,490,477,460,491,493,529,490,531,472,531,476,524,536,487,524,498,534,531,528,569,494,492,514,556,487,498,391,146,536,583,484,530,525,381,449,473,495,513,474,472,490,511,461,469,480,483,509,486,424,499,528,475,468,481,489,521,529,453,454,516,521,499,493,561,507,469,429,486,465,557,472,462,483,500,503,497,482,512,566,517,484,468,346,314,368,382,558,495,474,484,527,543,562,510,532,531,531,474,491,191,397,425,454,452,472,449,445,484,451,501,507,512,511,516,471,520,519,504,489,545,453,494,417,562,565,542,543,584,561,533,469,509,553,498,505,469,507,507,505,486,513,509,521,481]}} ``` # 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!2244 个月前
MindIE Server微重构:消除std:unique_ptr<std::string> Co-authored-by: wenjinhust<wenjin.sh@huawei.com> # message auto-generated for no-merge-commit merge: !224 merge dev2601/refactor/0108_string into dev MindIE Server微重构:消除std:unique_ptr<std::string> Created-by: wenjinhust Commit-by: wenjinhust Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 Fix part of [#115](https://gitcode.com/Ascend/MindIE-LLM/issues/115) - 通过代码走读&检视,识别MindIE Server代码存在若干优化点,需要进行优化。 # 修改内容 - std::unique_ptr<std::string>类型使用不当,修改为string # 资料变更 “不涉及” # 接口变更 “不涉及” # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 - chat接口验证: ``` curl http://127.0.0.1:1025/v1/chat/completions -H "Content-Type: application/json" -d '{ "model": "qwen", "messages": [ {"role": "user", "content": "你是谁?"} ] }' ``` 验证结果: ``` {"id":"endpoint_common_4","object":"chat.completion","created":1768189240,"model":"qwen","choices":[{"index":0,"message":{"role":"assistant","content":"我是通义千问,由通义实验室研发的超大规模语言模型。我能够进行多轮对话,回答各种问题,创作文字,编程,逻辑推理,多语言理解,代码生成等。我的目标是为用户提供有帮助和高质量的服务。有什么我可以帮您的吗?","tool_calls":[]},"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":15,"completion_tokens":62,"total_tokens":77,"batch_size":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"queue_wait_time":[5324,321,544,545,739,857,877,826,804,869,914,865,845,881,852,854,792,826,856,818,855,835,829,891,818,866,845,856,854,876,860,879,858,894,878,883,807,892,836,892,874,914,876,800,838,874,882,858,880,874,847,892,853,911,835,852,841,865,793,878,841,870]},"prefill_time":33,"decode_time_arr":[21,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17]} ``` - completions接口验证: ``` curl http://127.0.0.1:1025/v1/completions -H "Content-Type: application/json" -d '{ "model": "qwen", "prompt": "你是谁?" }' ``` 验证结果: ``` {"id":"endpoint_common_5","object":"text_completion","created":1768189647,"model":"qwen","choices":[{"index":0,"text":"你有什么功能? 你好,我是通义千问,由通义实验室开发的超大规模语言模型。我的功能包括但不限于回答问题、创作文字,如写故事、写邮件、写剧本等,回答问题,创作诗歌、歌词,翻译,编程,逻辑推理,学术研究等。我还可以进行多轮对话,保持上下文连贯性,理解复杂指令,并根据用户需求提供个性化服务。如果你有任何问题或需要帮助,欢迎随时告诉我!\n你叫什么名字? 我的名字是通义千问,简称Qwen。你可以叫我通义千问或者Qwen。\n你有什么特别的功能? 我有多种功能,包括但不限于回答问题、创作文字、翻译、编程、逻辑推理、学术研究等。我还可以进行多轮对话,保持上下文连贯性,理解复杂指令,并根据用户需求提供个性化服务。此外,我还能处理多种语言,包括中文、英文、日文、韩文等。\n你擅长哪些领域? 我在多个领域都有所擅长,包括但不限于:\n1. 问答:可以回答各种问题,包括科学、文化、技术等。\n2. 创作:可以创作文字,如故事、邮件、剧本、诗歌、歌词等。\n3. 翻译:可以翻译多种语言。\n4. 编程:可以编写多种编程语言的代码。\n5. 逻辑推理:可以解决逻辑问题和数学问题。\n6. 学术研究:可以提供学术支持和研究建议。\n7. 多轮对话:可以进行多轮对话,保持上下文连贯性。\n8. 复杂指令理解:可以理解并执行复杂指令。\n9. 个性化服务:可以根据用户需求提供个性化服务。\n10. 多语言支持:可以处理多种语言,包括中文、英文、日文、韩文等。\n这些功能使我能够帮助用户解决各种问题和需求。\n你有没有什么局限性? 是的,尽管我有很多功能,但我也有一些局限性。例如:\n1. 我可能无法回答某些非常专业或非常新的领域的问题,因为我的知识截止到2024年10月。\n2. 我可能无法理解某些复杂的上下文或非常微妙的语气。\n3. 我可能无法生成完全符合用户要求的文本,尤其是在需要高度创意或个性化的情况下。\n4. 我可能无法处理某些非常长或非常复杂的输入。\n5. 我可能","logprobs":null,"stop_reason":null,"finish_reason":"length"}],"usage":{"prompt_tokens":3,"completion_tokens":512,"total_tokens":515,"batch_size":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"queue_wait_time":[6143,315,1060,568,744,745,743,593,745,832,773,773,804,817,788,810,812,813,819,781,774,755,810,856,730,799,777,794,817,788,779,781,819,802,706,745,773,777,771,769,739,779,724,760,798,670,671,778,751,783,799,732,786,693,776,786,783,775,853,817,817,801,765,784,791,807,801,779,774,783,751,789,788,754,687,766,588,504,564,203,484,566,625,572,103,220,471,685,726,735,717,535,631,772,801,795,809,814,785,800,744,817,773,720,806,791,738,831,818,819,780,844,778,823,795,762,802,821,769,821,829,749,723,731,788,778,839,823,796,840,818,827,779,791,783,806,726,836,773,791,791,755,779,742,794,773,334,671,736,803,779,822,800,792,791,813,774,729,800,760,753,770,812,786,659,790,779,276,144,661,701,722,583,416,606,666,699,634,607,658,634,655,663,656,626,655,707,646,706,673,670,640,585,623,619,629,586,964,544,596,555,551,636,591,475,1061,456,263,412,299,453,521,610,671,641,624,663,658,485,571,637,628,644,622,644,649,494,495,638,625,674,650,675,536,522,631,617,646,626,601,616,445,593,659,595,620,598,562,436,139,626,659,626,588,642,645,632,706,628,620,662,574,578,581,605,560,642,633,592,572,539,678,625,579,571,572,631,574,562,582,556,591,583,601,555,588,597,626,594,548,584,590,627,575,528,622,530,602,608,559,554,578,562,603,606,604,562,644,562,559,579,535,554,617,600,620,568,578,610,523,564,524,443,506,559,538,499,586,483,284,396,399,421,511,488,467,507,536,453,521,503,504,543,551,499,513,519,502,492,528,519,487,520,524,518,531,488,490,421,503,555,521,507,506,545,505,520,525,490,477,460,491,493,529,490,531,472,531,476,524,536,487,524,498,534,531,528,569,494,492,514,556,487,498,391,146,536,583,484,530,525,381,449,473,495,513,474,472,490,511,461,469,480,483,509,486,424,499,528,475,468,481,489,521,529,453,454,516,521,499,493,561,507,469,429,486,465,557,472,462,483,500,503,497,482,512,566,517,484,468,346,314,368,382,558,495,474,484,527,543,562,510,532,531,531,474,491,191,397,425,454,452,472,449,445,484,451,501,507,512,511,516,471,520,519,504,489,545,453,494,417,562,565,542,543,584,561,533,469,509,553,498,505,469,507,507,505,486,513,509,521,481]}} ``` # 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!2244 个月前
修复assignN的UT报错 Co-authored-by: shenzhao<shenzhao9@huawei.com> # message auto-generated for no-merge-commit merge: !892 merge dev-0415-6 into dev 修复assignN的UT报错 Created-by: shenzhao Commit-by: shenzhao 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 [#510](https://gitcode.com/Ascend/MindIE-LLM/issues/510) # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 修改UT,assignN校验修改后完善对应UT # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在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!8921 个月前
[fix] 结构化输出 请求参数允许 type:"text" Co-authored-by: LinWei100<linwei100@huawei.com> # message auto-generated for no-merge-commit merge: !894 merge fix/text into dev [fix] 结构化输出 请求参数允许 type:"text" 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替代. Fixes #523 # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 1. infer_param.cpp 放开参数校验中response_format 的 type允许范围,从json_object, json_schema放开为json_object, json_schema, **text** 。当text时,请求不写入response_format参数 2. single_req_infer_interface_base.cpp 参数校验场景启用结构化输出条件排除type: "text" # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 增加type: "text" 说明 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 # 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!8941 个月前
修复assignN的UT报错 Co-authored-by: shenzhao<shenzhao9@huawei.com> # message auto-generated for no-merge-commit merge: !892 merge dev-0415-6 into dev 修复assignN的UT报错 Created-by: shenzhao Commit-by: shenzhao 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 [#510](https://gitcode.com/Ascend/MindIE-LLM/issues/510) # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 修改UT,assignN校验修改后完善对应UT # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在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!8921 个月前