AB
AiBoss
Tutorials

魔搭社区

Tutorials

在魔搭社区找到模型并跑通在线体验、Notebook 与 API 调用

面向第一次接触魔搭社区(ModelScope)的开发者,讲清从注册登录、按任务筛选模型、在线体验效果,到用云端 Notebook 写代码、通过 API 把模型接入自有系统的完整流程,并说明算力额度、密钥管理与常见注意事项。

魔搭社区(ModelScope)是阿里云旗下的开源模型平台,把模型探索、在线体验、推理训练、部署应用这几件事放在同一个站点里。对开发者来说,它解决的核心问题是:不必先搭好本地环境、也不必先买显卡,就能先看清一个模型能做什么,再决定要不要深入用。适合三类人:想快速验证某个模型效果的开发者、需要云端算力做实验的研究人员,以及要把模型能力接进自己业务系统的工程团队。如果你只是想先摸清平台的整体入口和资源分布,可以先看 魔搭社区 的工具页,再回到本文按步骤操作。

下面按「准备 → 浏览选型 → 在线体验 → Notebook 开发 → API 调用 → 社区资源」的顺序展开,每一步都给出可执行的路径与代码骨架。文中涉及的算力额度、模型数量、可用区域等易变信息,请以官网当前页面显示为准。

准备工作

账号

魔搭社区使用阿里云账号体系。已有阿里云账号的,直接在登录页选择阿里云账号登录即可,无需重复注册;没有账号的,在登录页点击注册,按提示填写信息完成注册流程。登录成功后进入主界面,导航栏里能看到「模型」「论坛」「创空间」「我的 Notebook」等入口。

需要提前想清楚的一点是:平台的算力资源、模型下载、API 调用都绑定在这个账号下,所以账号既是身份也是配额载体。团队协作时建议明确由谁持有账号,避免多人共用导致额度消耗无法追溯。

访问密钥

如果计划走 API 调用这条路,需要准备一对访问密钥:AccessKey ID 与 AccessKey Secret,在阿里云账号中获取。这对密钥等同于账号的调用凭证,不要写进前端代码、不要提交到公开仓库,也不要贴进 Notebook 的共享单元格里。比较稳妥的做法是放在环境变量中,由代码运行时读取。

环境

有两条路可选,按任务复杂度决定:

  • 纯在线体验:只需要浏览器,不需要任何本地环境。适合先判断模型是否值得用。
  • Notebook 开发:使用平台提供的云端开发环境,不需要在本地安装框架。平台内置了常用的机器学习与深度学习框架,例如 TensorFlow、PyTorch,可以直接 import 使用。
  • 本地调用 API:本地只需要 Python 与 requests 库,其余计算都在平台侧完成。

算力额度

平台为开发者提供免费算力,总量为 100 小时,其中 32G 显存算力 35 小时、16G 显存算力 65 小时;此外还提供无显存的服务器,可长期使用。这个额度结构决定了一件事:显存越大的环境越「贵」,所以调试代码逻辑、跑通数据加载这类工作应尽量放在无显存或 16G 环境里完成,把 32G 额度留给真正需要大显存的训练或推理任务。额度是否调整、如何计费,以官网当前说明为准。

操作步骤

第一步:进入模型库并按任务筛选

在主界面导航栏点击「模型」进入模型库。模型库覆盖自然语言处理、计算机视觉、语音识别、机器学习等多个领域,直接翻列表效率很低,应当用筛选条件收窄范围。可用的筛选维度包括:

  • 按模型任务:文本生成、图像生成、目标检测等。这是最有效的第一层筛选。
  • 按模型类型:Transformer、CNN、RNN 等。适合已经确定技术路线的场景。
  • 按热门程度:适合没有明确目标、想先看看社区主流选择的情况。

举例来说,如果要做文本生成,就在分类里选择「自然语言处理 - 文本生成」,页面会列出该任务下的相关模型,再结合热门程度排序挑选。

第二步:读模型详情页

进入某个模型的详情页后,不要急着点体验,先把页面上的几类信息读完:

  • 功能描述:模型到底解决什么问题,输入输出是什么形态。
  • 性能指标:在哪些任务、哪些数据集上表现如何。
  • 使用示例:给出的调用代码与参数,这是后面写 Notebook 和 API 请求的直接依据。

这三块信息决定了模型是否匹配你的需求。很多返工都源于跳过了这一步,直接拿一个任务不匹配的模型去调。

第三步:在线体验验证效果

模型详情页通常提供「在线体验」入口。以图像生成模型为例,点击后会弹出交互界面,在输入框中填写描述图像的提示词,例如「美丽的星空下有一座城堡」,然后点击生成,等待片刻即可看到结果。

在线体验的价值在于低成本试错:不用写代码、不用占算力额度,就能判断模型的输出风格与质量是否满足预期。建议在这一步多换几组提示词,观察模型在不同描述下的稳定性,再决定是否进入开发环节。

第四步:启动 Notebook 环境

需要二次开发或基于模型构建应用时,进入主界面的「我的 Notebook」。启动时按项目需求选择计算资源环境:

  • CPU 环境:适合数据预处理、接口联调、代码逻辑验证。
  • GPU 环境:涉及深度学习模型训练等计算密集型任务时选择,能显著提高运行效率。

选择时对照前面的额度结构:先用低显存环境把流程跑通,确认无误后再切到高显存环境执行重负载部分。

第五步:在 Notebook 中编写与运行代码

进入 Notebook 页面后,操作方式与本地 Jupyter 环境一致:按模型文档中的示例代码导入模型、加载数据、执行训练与预测。平台已内置 TensorFlow、PyTorch 等常用框架,无需自行安装。

以文本分类任务为例,代码骨架大致如下(具体类名、参数与导入路径以模型详情页给出的示例为准):

# 1. 导入模型与处理流程
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks

# 2. 按任务类型构建 pipeline,model 参数填详情页中的模型标识
classifier = pipeline(
    task=Tasks.text_classification,
    model='<模型详情页中的模型标识>'
)

# 3. 执行推理
result = classifier('这是一段待分类的文本')
print(result)

写完代码后,点击代码块左侧的运行按钮执行。如果出现错误,Notebook 会给出详细的错误提示,据此定位问题。常见排查顺序是:模型标识是否抄错、输入数据格式是否符合文档要求、当前环境显存是否足够。

第六步:通过 API 调用把模型接入自有系统

在线体验和 Notebook 适合验证与开发,真正上线到业务系统时走 API。在模型详情页的「API 调用」部分,可以拿到模型的 API 地址和调用示例代码。

以 Python 为例,用 requests 库发起请求的基本流程是:读取 AccessKey,构造请求头与请求体,向 API 地址发送 POST 请求,解析返回结果。骨架如下:

import os
import base64
import requests

access_key_id = os.environ['MODELSCOPE_ACCESS_KEY_ID']
access_key_secret = os.environ['MODELSCOPE_ACCESS_KEY_SECRET']

api_url = '<模型详情页 API 调用部分给出的地址>'

# 图像类模型通常需要把图片转成 Base64 后放入请求体
with open('input.jpg', 'rb') as f:
    image_b64 = base64.b64encode(f.read()).decode('utf-8')

headers = {
    'Content-Type': 'application/json',
    # 认证头的字段名与格式以详情页示例为准
    'Authorization': f'Bearer {access_key_id}:{access_key_secret}'
}

payload = {
    'image': image_b64
}

resp = requests.post(api_url, json=payload, headers=headers, timeout=60)
resp.raise_for_status()
print(resp.json())

这段代码里有两处必须替换成详情页实际给出的值:API 地址与认证头的字段格式。不同模型的请求体结构也不同——图像识别类通常传 Base64 编码的图像数据,文本类通常传字符串或消息列表。照抄示例代码的结构,只替换数据部分,是最稳妥的做法。

第七步:参与社区与共享资源

平台同时是一个开发者社区,有三个值得用起来的入口:

  • 论坛:从主界面点击「论坛」进入,板块覆盖模型开发、应用案例、技术难题等。遇到具体报错时,先搜论坛往往比从头调试更快。
  • 创空间:可以展示自己的 AI 创作成果,也可以浏览他人的作品获取思路;其中还提供了一些项目模板与教程,适合作为自己项目的起点。
  • 模型上传与共享:自己训练出的模型可以上传分享,供他人下载使用。

一个完整示例

下面把前面的步骤串成一个最小可跑通的流程:用图像生成模型做一次在线体验,再在 Notebook 中调用同一模型,最后用 API 复现。

场景:需要为一段文案配一张「星空下的城堡」插图,先验证模型能力,再决定是否接入内容生产流程。

第 1 步,选型。登录后进入「模型」,在任务筛选中选择图像生成相关分类,结合热门程度排序,挑出候选模型。逐个打开详情页,重点看功能描述与使用示例,确认输入是文本提示词、输出是图像。

第 2 步,在线体验。在候选模型详情页点击「在线体验」,输入提示词「美丽的星空下有一座城堡」,点击生成。观察输出:构图是否合理、风格是否符合预期。换两三组提示词再试,确认稳定性。

第 3 步,Notebook 复现。进入「我的 Notebook」,先选 CPU 环境把代码写好,再切到 GPU 环境执行生成。代码结构参照详情页示例,核心是构建 pipeline 并传入提示词:

from modelscope.pipelines import pipeline

# 任务名与模型标识以详情页示例为准
generator = pipeline(
    task='<详情页中的任务名>',
    model='<详情页中的模型标识>'
)

output = generator('美丽的星空下有一座城堡')
print(output)

运行后检查输出文件是否生成、图像质量是否与在线体验一致。如果显存不足报错,回到环境选择处切换到显存更大的配置。

第 4 步,API 接入。在详情页「API 调用」部分取得地址与示例,把提示词作为请求体字段发送:

import os
import requests

api_url = '<详情页给出的 API 地址>'
headers = {
    'Content-Type': 'application/json',
    'Authorization': f"Bearer {os.environ['MODELSCOPE_ACCESS_KEY_ID']}:{os.environ['MODELSCOPE_ACCESS_KEY_SECRET']}"
}
payload = {'prompt': '美丽的星空下有一座城堡'}

resp = requests.post(api_url, json=payload, headers=headers, timeout=120)
resp.raise_for_status()
print(resp.json())

到这里,同一个模型在「体验 → 开发 → 生产调用」三个环节都跑通了。后续要换模型,只需替换模型标识与请求体字段,整体流程不变。

注意事项

  • 算力额度要规划着用。免费算力共 100 小时,其中 32G 显存 35 小时、16G 显存 65 小时,无显存服务器可长期使用。高显存环境应留给真正需要的任务,调试阶段尽量用低配环境。额度政策可能调整,以官网当前信息为准。
  • 密钥不能外泄。AccessKey ID 与 AccessKey Secret 是账号级凭证,不要硬编码进代码、不要提交到版本库、不要在共享 Notebook 中明文展示。用环境变量注入是基本做法。
  • 示例代码要按详情页替换。不同模型的 API 地址、认证头字段名、请求体结构都不相同。本文给出的代码是结构骨架,占位符必须替换为详情页实际值,否则请求会失败。
  • 先体验再开发。在线体验不消耗算力额度,是成本最低的验证手段。跳过这一步直接写代码,容易在模型选型错误上浪费时间。
  • 模型下载与数据集获取。平台提供模型与数据集的查询和下载通道,下载到社区算力环境中即可直接使用,省去本地传输环节。
  • 价格、配额、可用模型范围等易变信息,一律以官网当前页面为准。本文不构成任何采购或技术选型建议。