完整操作视频:今天,魔搭社区开放了免费的开源模型推理API,仅需使用魔搭的SDK Token,就可以通过简单的API请求探索各种强大的开源模型的使用。通过API-Inference接口,无需本地的GPU和环境设置,就能轻松的依托不同开源模型的能力,展开富有创造力的尝试,与工具结合调用,来构建多种多样的AI应用原型。

 

01.用API-Inference建立与开源模型的链接

魔搭开源模型推理API提供了一种快速且免费的方式来探索不同任务的模型。当前的公测期间,我们主要通过提供OpenAI格式兼容的大语言模型API接口。后续更多魔搭上的开源模型,也会陆续接入来为开发者提供更好的推理API服务,包括:

  • 多模态文本生成:包括视觉理解大模型和语音多模态大模型。

  • 图像生成:使用当下流行的文生图模型轻松生成图像。

  • 经典人工智能任务:比如语音识别,语音合成,图像分割等。

ModelScope

各位开发者小伙伴有希望尽快支持的开源模型,欢迎在留言区积极留言模型id,点赞排名靠前的开源模型,我们将会优先支持。

 

02.公测期间支持的模型

我们处在一个模型飞速发展的时代,API-Inference主要为在魔搭社区中获得广泛关注的开源模型(参考了点赞,下载等数据)提供便利的调用接口。因此,在能力更强,关注度更高的下一代开源模型发布之后,现有的模型支持清单也会持续迭代。当前支持的模型列表如下:

  • Qwen/Qwen2.5-Coder-32B-Instruct

  • Qwen/Qwen2.5-Coder-14B-Instruct

  • Qwen/Qwen2.5-Coder-7B-Instruct

  • Qwen/Qwen2.5-72B-Instruct

  • Qwen/Qwen2.5-32B-Instruct

  • Qwen/Qwen2.5-14B-Instruct

  • Qwen/Qwen2.5-7B-Instruct

当前的公测期间,模型列表的更新和迭代,我们会通过文档,社区公告以及公众号等方式发布。后续我们会积极推进API-Inference作为魔搭整体模型服务体系一部分的产品化工作,在不断扩展模型覆盖范围的同时,也会直接在相关模型页面上,直接透出API-Inference的可用性。魔搭免费推理API的目标一直都是:将更好的更多的模型被更多的人体验和使用。

 

03.使用方法

当前魔搭平台提供的免费模型推理API,针对大语言模型提供OpenAI API兼容的接口。在通过pip install openai安装OpenAI的library,就可以通过标准的调用方式使用:


from openai import OpenAI

client = OpenAI(
    api_key="MODELSCOPE_SDK_TOKEN", # ModelScope Token
    base_url="https://api-inference.modelscope.cn/v1"
)

response = client.chat.completions.create(
    model="Qwen/Qwen2.5-Coder-32B-Instruct", # ModleScope Model-Id
    messages=[
        {
            'role': 'system',
            'content': 'You are a helpful assistant.'
        },
        {
            'role': 'user',
            'content': '用python写一下快排'
        }
    ],
    stream=True
)

for chunk in response:
    print(chunk.choices[0].delta.content, end='', flush=True)

在这个范例里,针对魔搭平台提供的API,适配的有几个地方:

  • base url 指向魔搭的服务:https://api-inference.modelscope.cn/v1/

  • api_key 使用魔搭的SDK token

  • 模型名字(model)使用魔搭上开源模型的Model Id,例如Qwen/Qwen2.5-Coder-32B-Instruct

ModelScope

这其中,魔搭的SDK Token,可以从您的魔搭账号中获取:

https://modelscope.cn/my/myaccesstoken

添加图片注释,不超过 140 字(可选)

即开即用Notebook分享链接:

https://modelscope.cn/notebook/share/ipynb/86e5ec04/Qwen-Coder-inference-api.ipynb.ipynb

Note:魔搭免费推理API,旨在为开发者提供迅速免费的便捷模型调用方式,会根据实际平台的压力灵活的调整速率限制,请勿用于需要高并发以及SLA保障的线上任务,如有商业化使用的需求,建议使用各商业化平台的API。当前我们为每位魔搭注册用户提供了每天2000个请求的使用容量,希望开发者们能够喜欢。

04.最佳实践

Cursor+Inference API 代码助手

我们选取了使用Cursor来实现魔搭API-Inference的最佳实践,这里我们选用了魔搭提供的Qwen2.5-Coder-32B-Instruct模型的免费推理API,来提升开发者的开发效率。

第一步:环境配置

在获取 api_key(ModelScope SDK Token),base_url(https://api-inference.modelscope.cn/v1),以及model(Qwen/Qwen2.5-Coder-32B-Instruct)信息后,将其填写到Cursor的模型配置页面(设置->模型)

添加图片注释,不超过 140 字(可选)

第二步:代码生成

使用Cursor chat功能(command+i),写一个“番茄钟”小应用

prompt:

添加图片注释,不超过 140 字(可选)

代码生成ing:

添加图片注释,不超过 140 字(可选)

效果:

添加图片注释,不超过 140 字(可选)

 

第三步:tab键写个说明书

用万能tab,写一个产品说明书

 

第四步:代码解读,应用完善

使用多轮对话,或者chat,edit等能力,进一步完善应用

添加图片注释,不超过 140 字(可选)

完整操作视频:

 

WebUI+Inference API 本地对话助手

第一步:安装依赖和配置 API key

!pip install gradio modelscope_studio openai

第二步:封装用户输入和对话界面

有了一个基础对话流程后,我们可以借助 gradio 来将它封装为一个对话界面。

使用最基础的 gr.ChatInterface 即可完成一个最基础的对话界面。

import gradio as gr
from openai import OpenAI
import os

client = OpenAI(
    api_key=os.getenv("MODELSCOPE_ACCESS_TOKEN"),
    base_url="https://api-inference.modelscope.cn/v1"
)

def chat(prompt, history):
    messages = [
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": prompt}
    ]
    try:
        response = client.chat.completions.create(
            model="Qwen/Qwen2.5-7B-Instruct",
            messages=messages,
        )
        yield response.choices[0].message.content
    except Exception as e:
        yield str(e)


# 仅在 Notebook 中使用需要一下代码,如果之前已经定义过 `app`,关闭它
try:
    app.close()
except NameError:
    # 如果 `app` 不存在,忽略这个异常
    pass
# end

app = gr.ChatInterface(fn=chat, title="Basic Chat")
app.launch(server_port=7860)

添加图片注释,不超过 140 字(可选)

即开即用Notebook分享链接:https://modelscope.cn/notebook/share/ipynb/685a5164/basic-chat.ipynb

点击链接阅读原文:ModelScope 魔搭社区

Logo

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!

更多推荐