diff --git a/docs/FAQ.md b/docs/FAQ.md new file mode 100644 index 0000000000000000000000000000000000000000..30c026ea10e3a597c4332318c7d83df7e689e17c --- /dev/null +++ b/docs/FAQ.md @@ -0,0 +1,97 @@ +--- +title: 常见问题 +sidebar_position: 3 +hide_table_of_contents: true +--- + +## 模力方舟平台常见问题解答 (FAQ) + +--- + +### 第一部分:模型广场(API调用) + +#### Q1:为什么标注为“免费”的模型无法使用? +用户需购买任意金额的全模型资源包,并创建一个访问令牌(Token),使用该令牌即可调用免费的API服务。 + +#### Q2:模型API访问速度较慢,能否为账号增加专属实例? +模型广场的API资源为公共池,不支持单账号扩容。如有高并发业务需求,请使用“专属算力部署”服务([https://ai.gitee.com/compute-deploy](https://ai.gitee.com/compute-deploy)),部署独享资源以避免干扰。 + +#### Q3:异步任务出现大量调用错误是什么原因? +单个用户同时创建的异步任务上限为5个,请检查当前任务并发数是否超限。 + +#### Q4:异步任务支持回调吗? +目前不支持自动回调。请通过轮询接口([https://ai.gitee.com/docs/openapi/v1#tag/%E5%BC%82%E6%AD%A5%E4%BB%BB%E5%8A%A1](https://ai.gitee.com/docs/openapi/v1#tag/%E5%BC%82%E6%AD%A5%E4%BB%BB%E5%8A%A1))查询任务执行结果。 + +#### Q5:各类异步任务的完成时长大概是多少? +平均耗时参考如下:音频生成任务约1-2分钟;视频生成任务视分辨率而定,平均约20分钟;OCR识别任务约1-5分钟(多页PDF文件可能延长)。 + +--- + +### 第二部分:AI技能认证(国产芯片联合项目) + +#### Q1:如何参加AI技能认证? +请访问官方认证页面([https://ai.gitee.com/certification](https://ai.gitee.com/certification)),根据您感兴趣的芯片厂商选择对应的认证通道。 + +#### Q2:我没有算力机器,如何参加技能认证? +您需在模力方舟算力市场租用题目指定的算力型号,在容器内完成答题,随后在认证页面关联该容器并提交检测。 + +#### Q3:参与认证必须使用模力方舟平台上的机器吗? +是的。由于该认证是与国产芯片厂商联合举办,为了保证环境一致性与结果公正,必须使用平台提供的对应芯片容器进行作答,方可获得官方认证证书。 + +#### Q4:通过认证后,申请证书需要多久才能收到? +由于涉及与芯片厂商进行线下盖章流程,证书制作与寄送周期通常为1至3个月,具体时长视厂商处理效率而定。 + +--- + +### 第三部分:算力市场(算力租用与环境配置) + +#### Q1:平台的计费模式是怎样的? +主要包含两种模式: + +1. 按量收费:采用后付费模式,每整点结算一次。 +2. 包周期收费:适用于长期稳定的算力需求。 + +注意:当账户余额不足或租期结束时,实例将自动关机,数据仅保留3天。 + +#### Q2:如果需要进行非GPU计算任务(如数据传输、CPU运算),如何操作? +建议选择无GPU模式开机。此模式仅调用CPU资源,收费标准为0.5元/小时,适用于数据处理或纯CPU计算任务。 + +#### Q3:关机后的数据保留期仅有3天,如何延长? +您可在3天期限届满前,进行一次“开机再关机”的操作,系统将重置保留时间的计时。 + +#### Q4:如何使用平台内置的模型库? +平台内置模型存放于 /mnt/moark-models/ 路径下,直接调用可节省下载时间。不同算力型号所含内置模型可能存在差异,请以实际目录为准。如需特定模型,可通过平台反馈渠道申请。 + +#### Q5:为什么在国产算力(如燧原、昇腾)上无法直接使用标准CUDA或PyTorch? +国产芯片架构与CUDA不直接兼容。使用PyTorch等框架时,必须通过厂商定制的框架或转换包实现。严禁用户自行安装或覆盖底层驱动、PyTorch、vLLM等环境,否则可能导致环境损坏,需重装镜像或销毁容器。 + +#### Q6:国产芯片的vLLM版本为何不是最新的? +vLLM适配国产芯片需厂商进行底层优化,通常滞后1-2个版本。若vLLM加载失败,建议尝试使用transformers库。适配周期一般为1-2个月。 + +#### Q7:在燧原S60中使用 transformers 并开启 flash_attention_2 报错怎么办? +因国产芯片底层对 flash-attention 的实现差异,建议改用 PyTorch 原生加速配置:attn_implementation="sdpa"。 + +#### Q8:引入 xformer 报错如何处理? +国产芯片环境对 xformer 的维护版本较低,存在兼容性风险(常见于diffusers模型)。如非必要,建议卸载相关依赖或避免在代码中引入 xformer。 + +#### Q9:为什么 nvidia-smi 指令无法查看GPU状态? +nvidia-smi 仅支持NVIDIA系列显卡。国产芯片需使用厂商配套的专用监控指令,请查阅对应芯片的说明文档。 + +#### Q10:租用的机器上传文件失败,或数据存储位置有什么要求? +Jupyter Lab仅适合上传小文件(建议十兆以内),大文件请通过SCP指令传输。此外,请务必将数据存放在 /data/ 路径下,避免因占用系统盘空间导致系统服务异常。 + +#### Q11:如何部署Web服务并进行公网访问? +容器环境不直接支持公网访问,需通过隧道代理方式。请参考文档“本地访问与服务封装指南”,通过拥有公网IP的服务器进行流量转发。 + +#### Q12:租用的机器出现运行故障怎么办? +请首先尝试在控制台执行重启操作。如问题依旧,请通过官方反馈页面提交工单,请勿强行修改底层环境配置。 + +--- + +### 第四部分:模型微调 + +#### Q1:是否有文本生成微调数据的示例? +是的。数据格式示例请参考:[https://ai-assets.gitee.com/docs/assets/files/example-c83305527a14e647b3572952b934e84b.jsonl](https://ai-assets.gitee.com/docs/assets/files/example-c83305527a14e647b3572952b934e84b.jsonl);具备结构化思考能力的训练数据集示例请参考:[https://ai.gitee.com/datasets/wang-tu1357/gsm8k_thinking_chinese/tree/master](https://ai.gitee.com/datasets/wang-tu1357/gsm8k_thinking_chinese/tree/master)。 + +#### Q2:图像微调开始处理后进度条未动,是什么原因? +可能的原因包括数据正在预处理中或服务处理异常。请尝试刷新页面或重新上传,若问题持续,请联系平台技术支持。 \ No newline at end of file diff --git a/docs/appstore/_category_.json b/docs/appstore/_category_.json index 36780fcac46df73e050ea5d3f76d932b23b5a4a7..17124a2dbb6c6d1eaada5d17321a573c5b1af2bf 100644 --- a/docs/appstore/_category_.json +++ b/docs/appstore/_category_.json @@ -1,5 +1,5 @@ { "label": "AI 应用市场", - "position": 5, + "position": 6, "collapsed": true } \ No newline at end of file diff --git a/docs/compute/deploy/asr_model.md b/docs/compute/deploy/asr_model.md index f00034eb461c074f7670d30c4b8ecea49672554b..3b7ad76436c7945ec513fe2c3b5f99b7d4dcd8cf 100644 --- a/docs/compute/deploy/asr_model.md +++ b/docs/compute/deploy/asr_model.md @@ -49,7 +49,7 @@ Whisper 系列是 OpenAI 开源的多语言 ASR 模型,在 680,000 小时弱 #### 1. 通用环境准备 - **算力型号**: 曦云 C500 (64GB) -- **镜像选择**: `PyTorch / 2.6.0 / Python 3.10 / maca 3.2.1.3` +- **版本要求**:`pytorch>=2.4` #### 2. 模型部署实战 @@ -108,7 +108,7 @@ print("识别结果:", text) #### 1. 通用环境准备 - **算力型号**: Enflame S60 (48GB) -- **镜像选择**: `Ubuntu / 22.04 / Python 3.13 / ef 1.5.0.604` +- **镜像选择**: `vLLM / 0.11.0 / Python 3.12 / ef 1.7.0.14` #### 2. 模型部署实战 @@ -169,62 +169,4 @@ print("识别结果:", text) ## 五、本地访问与服务验证 -请参考【[SSH 隧道配置指南](./ssh_tunnel.md)】建立安全连接。 - ---- - -## 六、实战课题 - -### 课题目标 -使用 **Qwen3-ASR-1.7B** 模型完成以下两项任务,所有输出文件请保存至 `/data/exam/` 目录。 - -### 任务一:单次推理测试 - -**任务要求**: -- 使用 Qwen3-ASR-1.7B 模型(路径:`/mnt/moark-models/Qwen3-ASR-1.7B`) -- 对指定音频文件进行语音识别:`/mnt/moark-models/L1_exam/asr_demo.wav` -- 将识别结果保存为 `/data/exam/asr_output.txt` - -**实现提示**: -- 使用 Hugging Face Transformers 库 -- 参考部署指南中的 ASR 推理流程 - -### 任务二:部署 OpenAI 兼容 API - -**任务要求**: -- 使用 FastAPI 创建语音识别服务 -- 在 **8188 端口**运行 -- 提供 `/v1/audio/transcriptions` 端点,兼容 OpenAI 格式 -- 接收音频文件上传,返回识别文本 - -**实现提示**: -- 使用 FastAPI 的 `UploadFile` 处理音频上传 -- 将接收到的音频转换为模型所需格式 -- 使用 curl 检测模型部署后的API可用性 - -**API 请求/返回规范** -请求(POST /v1/audio/transcriptions) -- 必传:上传音频文件,使用 `multipart/form-data`,表单字段名为 `file`(音频文件) -- 非必传:`model` (string, 默认 `Qwen3-ASR-1.7B`),`language` (string, 例如 `zh`) - -示例 curl(文件上传): -``` -curl -X POST "http://localhost:8188/v1/audio/transcriptions" \ - -F "file=@/path/to/audio.wav" \ - -F "model=Qwen3-ASR-1.7B" \ - -F "language=zh" -``` - -成功响应(HTTP 200,JSON): -- `text`: string,识别或翻译后的文本 - -示例响应: -``` -{ - "text": "识别到的文本内容" -} -``` - -### 提交要求: -完成作答后,直接提交检测即可。本课程采取程序自动检测的方式。 -注意:最终识别文本保存为 `/data/exam/asr_output.txt`,模型服务根据指定要求进行部署。 \ No newline at end of file +请参考【[SSH 隧道配置指南](./ssh_tunnel.md)】建立安全连接。 \ No newline at end of file diff --git a/docs/compute/deploy/embedding_model.md b/docs/compute/deploy/embedding_model.md index 7b73d1055e6d3e1ba0985fea43cd7bf20560761a..6ec7a306ee0ce4f96fdd7274436bd0bf9fa6dcb0 100644 --- a/docs/compute/deploy/embedding_model.md +++ b/docs/compute/deploy/embedding_model.md @@ -52,7 +52,6 @@ Embedding 模型的优势: #### 1.1 环境准备 - **算力型号**:曦云 C500 (64GB) -- **镜像选择**:`PyTorch / 2.6.0 / Python 3.10 / maca 3.2.1.3` - **版本要求**:`pytorch>=2.4` ![镜像选择](/img/computility/pytorch1.png) @@ -122,7 +121,7 @@ print(f"编码完成,生成 {len(texts)} 个向量") #### 2.1 环境准备 - **算力型号**:Enflame S60 (48GB) -- **镜像选择**:`Ubuntu / 22.04 / Python 3.13 / ef 1.5.0.604` +- **镜像选择**:`vLLM / 0.11.0 / Python 3.12 / ef 1.7.0.14` ![镜像选择](/img/computility/Enflame_flux-krea-dev_create.jpg) @@ -194,106 +193,3 @@ vLLM 会自动处理批处理、GPU 优化和 API 兼容性,开箱即用。 ## 五、本地访问与服务验证 请参考【[SSH 隧道配置指南](./ssh_tunnel.md)】建立安全连接。 - ---- - -## 六、实战课题 - -### 课题目标 - -部署 Embedding 向量化服务,对文档进行切片处理,存入向量数据库,并使用重排模型优化检索结果。完成以下任务: - -**所有输出文件请保存至 `/data/exam/` 目录。** - -### 任务一:部署 Embedding API 服务 - -**任务要求**: - -- 选择两种方式之一进行部署: - - **方式 A**(推荐):使用 vLLM 启动服务,命令参考上文第四部分 - - **方式 B**:使用 FastAPI 构建自定义服务 -- 在 **8188 端口**运行 -- 提供 OpenAI 兼容的 `/v1/embeddings` 端点或 vLLM 原生接口 -- 支持批量编码,返回 1024 维向量 - -**实现提示**: - -- 若使用 vLLM,直接执行启动命令即可获得 API 服务 -- 若使用 FastAPI,参考官方示例中的 `last_token_pool` 和 L2 归一化方法 -- 测试接口:`curl -X POST http://localhost:8188/v1/embeddings -d '{"input": ["test"]}'` - -### 任务二:文档切片与 Chroma 向量数据库存储 - -**任务要求**: - -- 将提供的测试文档 `/mnt/moark-models/L1_exam/embedding_documents.txt` 进行**智能切片**(至少分成 10 个 chunk) -- 使用 Embedding API 对每个 chunk 进行编码 -- 将向量与 chunk 内容存入 **Chroma 向量数据库** - -### 任务三:使用重排模型优化检索结果 - -**任务要求**: -- 基于上一个任务构建的向量数据库,使用 **bge-reranker-v2-m3** 模型对检索结果进行重排 -- 对用户查询进行 embedding,从向量数据库检索 Top-10 候选 -- 使用 bge-reranker-v2-m3 对这 10 条候选进行重新排序,返回 Top-10 -- 记录重排前后的排序变化 - -**实现提示**: -- query的查询问题可自定义,不做要求 -- bge-reranker-v2-m3 是交叉编码器(Cross-Encoder),直接计算查询与文本对的相关性分数 -- 使用 FlagEmbedding 库中的 FlagReranker 类加载模型 -- 对 Top-10 候选文本逐一计算相关性分数,并按分数降序排列 -- json格式存储非重排和重排后的结果 - -**结果文件格式示例**: -将结果写入 `/data/exam/reranking_results.json`,建议使用如下结构: - -```json -{ - "query": "今天天气适合出游吗?", - "embedding_top_k": 10, - "initial_top10": [ - { - "doc_id": "chunk_001", - "initial_rank": 1, - "embedding_score": 0.72, - "text": "今天阳光明媚,适合外出。" - }, - { - "doc_id": "chunk_002", - "initial_rank": 2, - "embedding_score": 0.69, - "text": "天气晴朗,出游体验佳。" - } - ...... - ], - "reranked_top10": [ - { - "doc_id": "chunk_002", - "initial_rank": 2, - "reranked_rank": 1, - "reranker_score": 0.86, - "text": "天气晴朗,出游体验佳。" - }, - { - "doc_id": "chunk_001", - "initial_rank": 1, - "reranked_rank": 2, - "reranker_score": 0.84, - "text": "今天阳光明媚,适合外出。" - } - ...... - ] -} -``` -字段说明: -- `doc_id`:切片唯一标识(建议与向量库主键一致) -- `initial_rank`:初检索排名(Embedding Top-10 中的名次) -- `reranked_rank`:重排后的名次(仅在 `reranked_top5` 中) -- `embedding_score` / `reranker_score`:对应阶段分数 -- `text`:文档片段原文(可截断) - -### 提交要求: -完成作答后,直接提交检测即可。本课程采取程序自动检测的方式。 -注意:服务端必须将生成的重排结果对比保存为`/data/exam/reranking_results.json`(包含 query、initial_top10、reranked_top10 及分数字段),模型服务根据指定要求进行部署。 - diff --git a/docs/compute/deploy/img_model.md b/docs/compute/deploy/img_model.md index cdb7fa099680db0dd0e0917d8107635c8e494dc0..4de7cad7f4b8ce2a4876405a3ed69641034c12da 100644 --- a/docs/compute/deploy/img_model.md +++ b/docs/compute/deploy/img_model.md @@ -46,13 +46,12 @@ FLUX 系列采用流变换器(Flow Transformer)架构,在质量与速度 本章节适用于 **曦云 C500** 等沐曦系列算力卡。 -### 1. 通用环境准备 +#### 1. 通用环境准备 所有沐曦模型部署均需基于以下环境配置进行: -* **算力型号**:曦云 C500 (64GB) -* **镜像选择**:`PyTorch / 2.6.0 / Python 3.10 / maca 3.2.1.3` -* **版本要求**:`pytorch>=2.4` +- **算力型号**:曦云 C500 (64GB) +- **版本要求**:`pytorch>=2.4` ![镜像选择](/img/computility/pytorch1.png) @@ -66,7 +65,7 @@ FLUX 系列采用流变换器(Flow Transformer)架构,在质量与速度 --- -### 2. 模型部署实战 +#### 2. 模型部署实战 请根据您需要的模型选择对应的实战案例代码。 @@ -77,11 +76,9 @@ FLUX 系列采用流变换器(Flow Transformer)架构,在质量与速度 新建 Notebook 单元格运行 ```python -!pip install git+https://github.com/huggingface/diffusers.git -# 1. 安装必要的依赖库 import torch from diffusers import Flux2KleinPipeline -# 2. 引用沐曦内置模型库 (无需下载) + model_name = "/mnt/moark-models/FLUX.2-klein-4B" torch_dtype = torch.bfloat16 device = "cuda" @@ -120,16 +117,16 @@ print("图片生成完成,已保存为 image.png") --- -## 二、 燧原 (Enflame) 部署指南 {#enflame-deploy} +### 二、 燧原 (Enflame) 部署指南 {#enflame-deploy} 本章节适用于 **S60** 等燧原系列算力卡。由于底层架构差异,需引入适配库:`import torch_gcu ` 与`from torch_gcu import transfer_to_gcu ` -### 1. 通用环境准备 +#### 1. 通用环境准备 所有燧原模型部署均需基于以下环境配置进行: -* **算力型号**:Enflame S60 (48GB) -* **镜像选择**:`Ubuntu / 22.04 / Python 3.13 / ef 1.5.0.604` +- **算力型号**:Enflame S60 (48GB) +- **镜像选择**:`vLLM / 0.11.0 / Python 3.12 / ef 1.7.0.14` ![镜像选择](/img/computility/Enflame_flux-krea-dev_create.jpg) @@ -143,7 +140,7 @@ print("图片生成完成,已保存为 image.png") --- -### 2. 模型部署实战 +#### 2. 模型部署实战 请根据您需要的模型选择对应的实战案例代码。 @@ -161,17 +158,15 @@ from diffusers import FluxPipeline # 引用燧原 S60 的内置模型库 model_name = "/mnt/moark-models/FLUX.1-Krea-dev" - -if torch.cuda.is_available(): - torch_dtype = torch.bfloat16 - device = "cuda" -else: - torch_dtype = torch.float32 - device = "cpu" +torch_dtype = torch.bfloat16 +device = "gcu" pipe = FluxPipeline.from_pretrained(model_name, torch_dtype=torch_dtype) pipe = pipe.to(device) +#由于燧原的芯片仅支持flash_attention-2,所以这里要指定,避免加载flash_attition-3 +pipe.transformer.set_attention_backend("flash") + prompt = '''A 9:16 vertical, realistic cyber-aesthetic future social profile card photo: A hand gently holds a vertically semi-transparent acrylic card, occupying the visual center of the picture. The card presents the personal homepage interface of the future social platform "MoArk", with a minimalist design and no redundant decorations. The edges of the card are rounded and soft, with a gradient neon halo of pink-purple and ice blue. The background is deep and blurry, further highlighting the crystal-clear texture of the card itself. The interface information seems to be micro-engraved, three-dimensional and clear, displayed in sequence: Avatar (suspended in the center, with a holographic surround effect) Username and the dynamic "Verified Member" badge at the top @@ -189,12 +184,15 @@ image = pipe( guidance_scale=3.5, num_inference_steps=30, max_sequence_length=512, - generator=torch.Generator(device="cuda").manual_seed(42) + generator=torch.Generator(device=device).manual_seed(42) ).images[0] # 保存结果 image.save("flux-dev.png") ``` +:::tip +燧原的机器有可能因为引入Xformers这个库导致报错,由于燧原适配的xformers的版本会比较低,可以尝试pip uninstall xformers 后再尝试。 +::: **查看结果与排查:** 运行完成后在**左侧文件栏**查看 flux-dev.png。 @@ -211,16 +209,16 @@ image.save("flux-dev.png") --- -## 三、 昇腾 (Ascend) 部署指南 {#ascend-deploy} +### 三、 昇腾 (Ascend) 部署指南 {#ascend-deploy} 本章节适用于 **昇腾 910B** 等华为系列算力卡。由于底层架构差异,需引入适配库:`import torch_npu` 与`from torch_npu.contrib import transfer_to_npu` -### 1. 通用环境准备 +#### 1. 通用环境准备 所有昇腾的模型部署均需基于以下环境配置进行: -* **算力型号**:Ascend 910B (64GB) -* **镜像选择**:`PyTorch / 2.8.0 / Python 3.11 / CANN 8.3.RC2` +- **算力型号**:Ascend 910B (64GB) +- **镜像选择**:`PyTorch / 2.8.0 / Python 3.11 / CANN 8.3.RC2` ![镜像选择](/img/computility/ascend_image.png) @@ -234,7 +232,7 @@ image.save("flux-dev.png") --- -### 2. 模型部署实战 +#### 2. 模型部署实战 请根据您需要的模型选择对应的实战案例代码。 @@ -316,77 +314,3 @@ with torch.inference_mode(): ## 四、本地访问与服务验证 请参考【[SSH 隧道配置指南](./ssh_tunnel.md)】建立安全连接。 - ---- - -## 五、实战课题 - -### 课题目标 - -使用 **Z-Image** 或 **Qwen-Image-2512** 模型完成以下两项任务,所有输出文件请保存至 `/data/exam/` 目录。 - -### 任务一:单次推理测试 - -**任务要求**: -- 使用 **Z-Image** 或 **Qwen-Image-2512** 模型(路径:`/mnt/moark-models/`) -- 生成以下描述的图像: - ``` - 一只可爱的橘色小猫坐在窗台上,窗外是夕阳余晖洒满的城市天际线, - 温暖的光线透过玻璃照在猫咪的毛发上,营造出宁静祥和的氛围。 - 高清摄影风格,细节丰富。 - ``` -- 将生成图像保存为 `/data/exam/image_output.png` - -**实现提示**: -- 使用 Hugging Face Diffusers 库 -- 参考部署指南中的图像生成流程 -- 注意设置合适的 `num_inference_steps` 和 `guidance_scale` - -### 任务二:部署 OpenAI 兼容 API - -**任务要求**: -- 使用 FastAPI 创建图像生成服务 -- 在 **8188 端口**运行 -- 提供 `/v1/images/generations` 端点,兼容 OpenAI 格式 -- 接口需要支持文生图 -- 接收 JSON 请求,必须包含 `prompt` 和 `size` 字段,其他字段可以作为非必传 -- 返回 base64 编码的图像数据 - -**实现提示**: -- 使用 FastAPI + Pydantic 定义请求/响应模型 -- 在服务启动时加载 Diffusers 模型 -- 将生成的 PIL Image 转换为 base64 字符串 -- 使用 curl 检测模型部署后的API可用性 - - -**API 请求/返回规范**: -请求(POST /v1/images/generations) -- 必传:`prompt` (string),`size` (string,格式 `WIDTHxHEIGHT`,如 `1024x1024`) -- 非必传:`model` (string),`num_inference_steps` (int),`guidance_scale` (number),`seed` (int),`n` (int, 生成的数量,默认1) - -示例请求体: -``` -{ - "model": "Qwen-Image-2512", - "prompt": "一只可爱的橘色小猫坐在窗台上,夕阳余晖,高清摄影风格。", - "size": "1024x1024", - "num_inference_steps": 30, - "guidance_scale": 7.5, - "seed": 42, - "n": 1, -} -``` - -示例响应: -``` -{ - - "data": [ - {"b64_json": "<...base64...>"} - ] -} -``` - -### 提交要求: -完成作答后,直接提交检测即可。本课程采取程序自动检测的方式。 -注意:服务端必须将生成的第一张图片解码并保存为 `/data/exam/image_output.png`,模型服务根据指定要求进行部署。 diff --git a/docs/compute/deploy/ocr_model.md b/docs/compute/deploy/ocr_model.md index ea700253f5df2bace2b24f9f9c63b26ade01a6ab..6e3dbdd70ef552098c6bd9553764daeef824ee39 100644 --- a/docs/compute/deploy/ocr_model.md +++ b/docs/compute/deploy/ocr_model.md @@ -49,7 +49,6 @@ OCR 模型可应用于: #### 1. 通用环境准备 - **算力型号**: 曦云 C500 (64GB) -- **镜像选择**: `PyTorch / 2.6.0 / Python 3.10 / maca 3.2.1.3` - **版本要求**:`pytorch>=2.4` #### 2. 模型部署实战 @@ -66,7 +65,7 @@ import torch from transformers import AutoProcessor, AutoModelForImageTextToText model_path = "/mnt/moark-models/PaddleOCR-VL-1.5" -image_path = "/mnt/moark-models/ocr.png" +image_path = "/mnt/moark-models/ocr_demo.png" task = "ocr" # Options: 'ocr' | 'table' | 'chart' | 'formula' | 'spotting' | 'seal' image = Image.open(image_path).convert("RGB") @@ -129,7 +128,7 @@ print(result) #### 1. 通用环境准备 - **算力型号**: Enflame S60 (48GB) -- **镜像选择**: `Ubuntu / 22.04 / Python 3.13 / ef 1.5.0.604` +- **镜像选择**: `vLLM / 0.11.0 / Python 3.12 / ef 1.7.0.14` #### 2. 模型部署实战 @@ -149,7 +148,7 @@ from PIL import Image from transformers import AutoProcessor, AutoModelForImageTextToText model_path = "/mnt/moark-models/PaddleOCR-VL-1.5" -image_path = "/mnt/moark-models/ocr.png" +image_path = "/mnt/moark-models/L1_exam/ocr_demo.png" task = "ocr" # Options: 'ocr' | 'table' | 'chart' | 'formula' | 'spotting' | 'seal' image = Image.open(image_path).convert("RGB") @@ -215,72 +214,3 @@ print(result) ## 五、本地访问与服务验证 请参考【[SSH 隧道配置指南](./ssh_tunnel.md)】建立安全连接。 - ---- - -## 六、实战课题 - -### 课题目标 -使用 **DeepSeek-OCR-2** 模型完成以下两项任务,所有输出文件请保存至 `/data/exam/` 目录。 - -### 任务一:单次推理测试 - -**任务要求**: -- 使用 DeepSeek-OCR-2 模型(路径:`/mnt/moark-models/DeepSeek-OCR-2`) -- 识别指定图片中的所有文字:`/mnt/moark-models/L1_exam/ocr_test_image.jpg` -- 将识别结果保存为 `/data/exam/ocr_output.txt` - -**实现提示**: -- 使用 Hugging Face Transformers 的 Vision2Seq 模型 -- 使用 PIL 加载图片 -- 构造合适的 prompt(如"请识别图片中的所有文字") -- 参考部署指南中的 OCR 推理流程 - -### 任务二:部署 OpenAI 兼容 API - -**任务要求**: -- 使用 FastAPI 创建 OCR 识别服务 -- 在 **8188 端口**运行 -- 提供 `/v1/vision/ocr` 端点(或类似 OpenAI 风格的路径) -- 接收图片文件上传,返回识别文本 - -**实现提示**: -- 使用 FastAPI 的 `UploadFile` 处理图片上传 -- 使用 PIL 从上传的字节流加载图片 -- 返回 JSON 格式:`{"text": "识别结果"}` -- 使用 curl 检测模型部署后的API可用性 - - -**API 请求/返回规范**: -请求(POST /v1/vision/ocr) -- 必传:上传图片文件,使用 `multipart/form-data`,表单字段名为 `file`(图片文件) -- 非必传:`model` (string, 默认 `DeepSeek-OCR-2`) - -示例 curl(文件上传): -``` -curl -X POST "http://localhost:8188/v1/vision/ocr" \ - -F "file=@/path/to/image.jpg" \ - -F "model=DeepSeek-OCR-2" \ -``` - -成功响应(HTTP 200,JSON): -- 顶层:`id` (string), `object` ("ocr"), `created` (int) -- `text`: string,识别到的全部文本 - -示例响应: -``` -{ - "text": "识别到的文本内容" -} -``` - -错误响应(示例): -``` -{ - "error": {"message": "Missing required file upload", "type": "invalid_request_error", "code": "missing_param"} -} -``` - -### 提交要求: -完成作答后,直接提交检测即可。本课程采取程序自动检测的方式。 -注意:服务端必须将最终识别文本写入 `/data/exam/ocr_output.txt`,模型服务根据指定要求进行部署。 diff --git a/docs/compute/deploy/speech_model.md b/docs/compute/deploy/speech_model.md index be44dbdc795d6f932c82712d848503358ebc9088..b0f25154d6ae6662030f49dd1da273bc2dec4830 100644 --- a/docs/compute/deploy/speech_model.md +++ b/docs/compute/deploy/speech_model.md @@ -83,9 +83,8 @@ emo_vector=[0.5, 0, 0, 0, 0, 0, 0.5, 0] (0.5 Happy + 0.5 Surprise) 所有沐曦模型部署均需基于以下环境配置进行: -* **算力型号**:曦云 C500 (64GB/32GB) -* **镜像选择**: `PyTorch / 2.6.0 / Python 3.10 / maca 3.2.1.3` -* **版本要求**:`pytorch>=2.4` +- **算力型号**:曦云 C500 (64GB/32GB) +- **版本要求**:`pytorch>=2.4` ![镜像选择](/img/computility/pytorch1.png) @@ -99,7 +98,7 @@ emo_vector=[0.5, 0, 0, 0, 0, 0, 0.5, 0] (0.5 Happy + 0.5 Surprise) --- -### 2. 模型部署实战 +#### 2. 模型部署实战 请根据您需要的模型选择对应的实战案例代码。 @@ -162,14 +161,14 @@ tts.infer(spk_audio_prompt='/mnt/moark-models/github/index-tts/emo_sad.wav', tex --- -## 二、 燧原 (Enflame) 部署指南 {#enflame-deploy} +### 二、 燧原 (Enflame) 部署指南 {#enflame-deploy} -### 1. 通用环境准备 +#### 1. 通用环境准备 所有燧原模型部署均需基于以下环境配置进行: -* **算力型号**:Enflame S60 (48GB) -* **镜像选择**:`Ubuntu / 22.04 / Python 3.13 / ef 1.5.0.604` +- **算力型号**:Enflame S60 (48GB) +- **镜像选择**:`vLLM / 0.11.0 / Python 3.12 / ef 1.7.0.14` ![镜像选择](/img/computility/Enflame_flux-krea-dev_create.jpg) @@ -183,7 +182,7 @@ tts.infer(spk_audio_prompt='/mnt/moark-models/github/index-tts/emo_sad.wav', tex --- -### 2. 模型部署实战 +#### 2. 模型部署实战 请根据您需要的模型选择对应的实战案例代码。 @@ -234,74 +233,6 @@ tts.infer(spk_audio_prompt='/mnt/moark-models/github/index-tts/emo_sad.wav', tex --- -## 三、本地访问与服务验证 +## 四、本地访问与服务验证 请参考【[SSH 隧道配置指南](./ssh_tunnel.md)】建立安全连接。 - ---- - -## 四、实战课题 - -### 课题目标 -使用 **Qwen3-TTS-12Hz-1.7B-Base** 模型完成以下两项任务,所有输出文件请保存至 `/data/exam/` 目录。 - -### 任务一:单次推理测试 - -**任务要求**: -- 使用 Qwen3-TTS-12Hz-1.7B-Base 模型(路径:`/mnt/moark-models/Qwen3-TTS-12Hz-1.7B-Base`) -- 合成以下文本: - ``` - 欢迎来到模力方舟平台,这里汇聚了最前沿的国产算力资源,为您的AI研发提供强大支持。 - ``` -- 可使用参考音频:`/mnt/moark-models/tts_reference_voice.wav`(如模型支持音色克隆) -- 将生成音频保存为 `/data/exam/tts_output.wav` - -**实现提示**: -- 使用 Hugging Face Transformers 或对应的 TTS 框架 -- 注意音频采样率(12kHz) -- 使用 soundfile 或 librosa 保存音频文件 - -### 任务二:部署 OpenAI 兼容 API - -**任务要求**: -- 使用 FastAPI 创建语音合成服务 -- 在 **8188 端口**运行 -- 提供 `/v1/audio/speech` 端点,兼容 OpenAI 格式 -- 接收 JSON 请求,必须包含 `input`(克隆文本),`prompt_audio_url`(参考的音色,支持文件上传) -- 返回 base64 编码的音频数据或直接返回音频流 - -**实现提示**: -- 在服务启动时加载 TTS 模型 -- 将生成的音频转换为 WAV 格式 -- 使用 BytesIO 和 base64 进行音频编码 -- 使用 curl 检测模型部署后的API可用性 - -**API 请求/返回规范**: -请求(POST /v1/audio/speech) -- 必传:`input` (string,合成文本) -- 可选:`model` (string, 默认 `Qwen3-TTS-12Hz-1.7B-Base`) -- 可选的音色参考:支持 `multipart/form-data` 上传字段 `prompt_audio`(文件) - -示例 curl(带文件上传参考音色,可选): -``` -curl -X POST "http://localhost:8188/v1/audio/speech" \ - -F "prompt_audio=@/path/to/ref.wav" \ - -F "input=欢迎来到模力方舟平台..." \ - -F "model=Qwen3-TTS-12Hz-1.7B-Base" -``` - -成功响应: -- `data`: array,长度通常为 1,每项至少包含:`b64_audio` (string,WAV/MP3 的 base64 编码) - -示例响应: -``` -{ - "data": [ - {"b64_audio": "<...base64...>"} - ] -} -``` - -### 提交要求: -完成作答后,直接提交检测即可。本课程采取程序自动检测的方式。 -务端必须将生成的音频解码并保存为 `/data/exam/tts_output.wav`,模型服务根据指定要求进行部署。 \ No newline at end of file diff --git a/docs/compute/deploy/text_model.md b/docs/compute/deploy/text_model.md index c98448e278bc5cc0b1a09d477a9e5b5301538fae..81471ddf739f92ba079269ac1fafca797cf3a014 100644 --- a/docs/compute/deploy/text_model.md +++ b/docs/compute/deploy/text_model.md @@ -39,12 +39,11 @@ Qwen3 系列提供从 0.6B 到 70B 不等的参数规模,原生支持 32K~128K 本章节适用于 **曦云 C500** 等沐曦系列算力卡。 -### 1. Hugging Face Transformers +#### 1. Hugging Face Transformers #### 1.1 环境准备 -- 算力型号:曦云 C500 (64GB) -- 镜像选择:`PyTorch / 2.4.0 / Python 3.10 / maca 3.0.0.4` -- 镜像要求:`pytorch>=2.4.0` +- **算力型号**:曦云 C500 (64GB) +- **镜像要求**:`pytorch>=2.4.0` ![镜像选择](/img/computility/pytorch1.png) @@ -110,10 +109,11 @@ Qwen3 系列提供从 0.6B 到 70B 不等的参数规模,原生支持 32K~128K ![执行结果](/img/computility/pytorch3.png) -### 2. vLLM 高性能推理 +#### 2. vLLM 高性能推理 #### 2.1 环境准备 -- 镜像选择:`vLLM / vllm:0.10.0 / Python 3.10 / maca 3.1.0.7` +- 镜像选择:`vLLM / vllm:0.11.0 / Python 3.10 / maca 3.3.0.11` +- 驱动版本: maca >= 3.3 (注:请务必选择带有 vLLM 标识的专用镜像) ![vLLM镜像](/img/computility/vllm1.png) @@ -131,7 +131,7 @@ Qwen3 系列提供从 0.6B 到 70B 不等的参数规模,原生支持 32K~128K 3. 当看到 `Uvicorn running on http://0.0.0.0:8188` 字样时,服务启动成功。 ![vLLM运行成功](/img/computility/vllm3.png) -### 3. SGLang 结构化推理 +#### 3. SGLang 结构化推理 #### 3.1 环境准备 - 镜像选择:`SgLang / sglang:0.4.8 / Python 3.10 / maca 3.1.0.8` @@ -160,11 +160,11 @@ Qwen3 系列提供从 0.6B 到 70B 不等的参数规模,原生支持 32K~128K 本章节适用于 **S60** 等燧原系列算力卡。由于架构差异,部分操作需引入适配库。 -### 1. Hugging Face Transformers +#### 1. Hugging Face Transformers #### 1.1 环境准备 -- 算力型号:Enflame S60 -- 镜像选择:`Ubuntu / 22.04 / Python 3.13 / ef 1.5.0.604` +- **算力型号**:Enflame S60 +- **镜像选择**:`vLLM / 0.11.0 / Python 3.12 / ef 1.7.0.14` ![镜像选择](/img/computility/Enflame_flux-krea-dev_create.jpg) @@ -202,7 +202,7 @@ Qwen3 系列提供从 0.6B 到 70B 不等的参数规模,原生支持 32K~128K print(response) ``` -### 2. vLLM 高性能推理 +#### 2. vLLM 高性能推理 #### 2.1 环境准备 - 镜像选择:`Ubuntu / 22.04 / Python 3.13 / ef 1.5.0.604` @@ -221,7 +221,7 @@ vllm serve /mnt/moark-models/Qwen3-0.6B --port 8188 ![进入容器](/img/computility/Enflame_Qwen3-0.6B_vllm_01.jpg) -### 3. SGLang +#### 3. SGLang :::info 不支持提示 当前燧原 S60 平台暂不支持 SGLang 推理框架。请使用 Transformers 或 vLLM 进行部署。 @@ -229,41 +229,6 @@ vllm serve /mnt/moark-models/Qwen3-0.6B --port 8188 --- -## 三、本地访问与服务验证 +## 四、本地访问与服务验证 请参考【[SSH 隧道配置指南](./ssh_tunnel.md)】建立安全连接。 - ---- - -## 四、实战课题 - -### 课题目标 -使用 **Qwen3-8B** 模型完成以下两项任务,所有输出文件请保存至 `/data/exam/` 目录。 - -### 任务一:单次推理测试 - -**任务要求**: -- 使用 Qwen3-8B 模型(路径:`/mnt/moark-models/Qwen3-8B`) -- 生成一段短文小说,描述100年后的世界 -- 将生成结果保存为 `/data/exam/text_inference.txt` - -**实现提示**: -- 使用 Hugging Face Transformers 库加载模型 -- 参考部署指南中的示例代码结构 -- 注意正确配置 `device_map` 和 `torch_dtype` - -### 任务二:部署 OpenAI 兼容 API - -**任务要求**: -- 使用 vLLM 在 **8188 端口**启动 Qwen3-8B 模型服务 -- API 需兼容 OpenAI `/v1/chat/completions` 格式 -- 通过 SSH 隧道映射到本地进行验证 - -**实现提示**: -- 参考部署指南中 vLLM 的使用方式 -- 注意修改端口参数为 8188 -- 使用 curl 或 Postman 测试 API 可用性 - -### 提交要求: -完成作答后,直接提交检测即可。本课程采取程序自动检测的方式。 -注意:服务端必须将推理结果文本文件保存为 `/data/exam/ocr_output.txt`,模型服务根据指定要求进行部署。 diff --git a/docs/compute/practices/openclaw.md b/docs/compute/practices/openclaw.md index 2db131f2c6e81a5bd50f6a57115838f41f5b63aa..532ecca0768f03ce92d8950335d777c0d026f568 100644 --- a/docs/compute/practices/openclaw.md +++ b/docs/compute/practices/openclaw.md @@ -99,7 +99,7 @@ openclaw dashboard /root/.openclaw/openclaw.json ``` -![openclaw更好模型](/img/computility/openclaw/openclaw_model.png) +![openclaw更换模型](/img/computility/openclaw/openclaw_model.png) ## 6. 使用建议 diff --git a/static/img/computility/Enflame_flux-krea-dev_create.jpg b/static/img/computility/Enflame_flux-krea-dev_create.jpg index b9cdc5c8daece396c825b5ec61fc9817aabdf32e..d4e886a4fd92caf39ea29993c0dda851449b2db8 100644 Binary files a/static/img/computility/Enflame_flux-krea-dev_create.jpg and b/static/img/computility/Enflame_flux-krea-dev_create.jpg differ