阿里云百炼通义大模型

阿里云百炼通义大模型


Part one(阿里云百炼大模型)

阿里云百炼通义大模型企业级服务平台,助力企业轻松打造最优落地效果的AI应用

一、什么是百炼

阿里云的大模型服务平台百炼是一站式的大模型开发及应用构建平台。不论是开发者还是业务人员,都能深入参与大模型应用的设计和构建。您可以通过简单的界面操作,在5分钟内开发出一款大模型应用,或在几小时内训练出一个专属模型,从而将更多精力专注于应用创新。

(一)调用大模型

只需如下几行代码,即可与大模型进行对话,实现内容创作、摘要生成等。

python 复制代码
百炼兼容OpenAI接口规范,base_url为https://dashscope.aliyuncs.com/compatible-mode/v1
python 复制代码
import os
from openai import OpenAI

client = OpenAI(
    # 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"), # 如何获取API Key:https://help.aliyun.com/zh/model-studio/developer-reference/get-api-key
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)

completion = client.chat.completions.create(
    model="qwen-plus", # 模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
    messages=[
        {'role': 'system', 'content': 'You are a helpful assistant.'},
        {'role': 'user', 'content': '你是谁?'}
        ]
)
print(completion.choices[0].message.content)

二、支持的大模型

旗舰模型 通义千问-Max适合复杂任务,推理能力最强 通义千问-Plus效果、速度、成本均衡 通义千问-Turbo适合简单任务,速度快、成本极低 通义千问-Long适合大规模文本分析,效果与速度均衡、成本较低
最大上下文长度(Token数) 32,768 131,072 1,000,000 10,000,000

Token是指模型处理和生成文本时的基本单元,中文的Token通常是一个字或词,英文的Token通常是一个单词、子词或词组。

除了上述文生文的通义大模型,百炼还支持图像、音视频、数学、法律等方面的通义大模型。

同时,百炼也支持众多第三方大模型,例如DeepSeek、Llama、ChatGLM、零一万物、Stable Diffusion等。

关于所有模型以及详细信息,请参见模型总览。

三、模型总览

类别 模型 说明
文本生成 通义千问 通义千问大语言模型:商业版(通义千问-Max、通义千问-Plus、通义千问-Turbo)、开源版(QwQ、Qwen2.5、Qwen2、Qwen1.5、Qwen)、超长文档模型Qwen-Long;多模态模型:视觉理解模型通义千问VL、音频理解模型通义千问Audio、全模态模型通义千问Omni;数学模型:通义千问数学模型;代码模型:通义千问Coder;翻译模型:通义千问翻译模型
文本生成 第三方模型 DeepSeek、Llama、百川、ChatGLM、零一万物等。
图像生成 通义万相 通义千问大语言模型:商业版(通义千问-Max、通义千问-Plus、通义千问-Turbo)、开源版(QwQ、Qwen2.5、Qwen2、Qwen1.5、Qwen)、超长文档模型Qwen-Long;多模态模型:视觉理解模型通义千问VL、音频理解模型通义千问Audio、全模态模型通义千问Omni;数学模型:通义千问数学模型;代码模型:通义千问Coder;翻译模型:通义千问翻译模型 可生成图像或编辑图像,适用于生成证件照、电商主图、模特图、各种风格人像图(动漫、国风、二次元等),也可用于抠图、生成背景、更改图片元素等。
图像生成 第三方模型 Stable Diffusion和FLUX。
语音合成与识别 语音合成 CosyVoice和Sambert可实现文本转语音,适用于智能语音客服、有声读物、车载导航、教育辅导等场景。
语音合成与识别 语音识别 Paraformer 和 SenseVoice 可实现语音转文本,适用于实时会议记录、实时直播字幕、电话客服等场景。
视频编辑与生成 其他 (1)舞蹈视频:舞动人像AnimateAnyone基于人物图片和动作视频生成舞蹈视频。(2)对口型视频:悦动人像EMO基于人物图片和音频,适合唱演场景。灵动人像LivePortrait基于人物图片和音频,适合语音播报场景。声动人像VideoRetalk基于人物视频和音频,适合短视频制作、视频翻译等场景。(3)风格替换:幻影人像Motionshop将视频中的人物形象替换为3D角色。视频风格重绘可将视频转换为日式漫画、美式漫画等风格。
向量 文本向量 CosyVoice和Sambert可实现文本转语音,适用于智能语音客服、有声读物、车载导航、教育辅导等场景。
向量 多模态向量 Paraformer 和 SenseVoice 可实现语音转文本,适用于实时会议记录、实时直播字幕、电话客服等场景。
行业 通义法睿 适用于法律咨询、案例分析和法规解读等。
行业 意图理解 意图理解模型能够在毫秒级时间内解析用户意图,并选择合适工具来解决用户问题。

四、为什么选择百炼?

  • 丰富的模型选择:百炼提供通义千问商业版的官方API接口,同时支持主流第三方大模型,涵盖文本、图像、音视频等模态,并提供行业定制化模型。
  • 便捷的开发工具:百炼提供的Prompt自动优化、知识库管理、函数调用、流程编排、模型定制等能力,能帮助您更快地构建一个生产级别的大模型应用。
  • 更低的使用成本:相比本地部署大模型,您无需在前期投入巨额成本来购置硬件,后期也无需考虑硬件的维护和折旧。只需按实际用量付费,可显著降低成本。
  • 严格的数据保护:阿里云严格保护数据隐私,绝不会将您的数据用于模型训练。同时,您在构建应用或训练大模型过程中传输的数据都会经过加密,确保数据安全。

五、开始使用百炼

  • 在线体验大模型:模型体验

  • 发起第一个API请求:首次调用通义千问API

  • 构建第一个大模型应用:0代码构建私有知识问答应用


Part two

一、开发参考

复制代码
# 安装或更新DashScope SDK
pip install dashscope -i https://pypi.tuna.tsinghua.edu.cn/simple

二、模型调用

(一)通义千问API参考

金融云:使用 SDK 调用时需配置的 base_url:

python 复制代码
https://dashscope-finance.aliyuncs.com/compatible-mode/v1

公有云:使用SDK调用时需配置的base_url:

python 复制代码
https://dashscope.aliyuncs.com/compatible-mode/v1

1.文本输入

python 复制代码
import os
from openai import OpenAI

client = OpenAI(
    # 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"), 
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
    model="qwen-plus", # 此处以qwen-plus为例,可按需更换模型名称。模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
    messages=[
        {'role': 'system', 'content': 'You are a helpful assistant.'},
        {'role': 'user', 'content': '你是谁?'}],
    )
    
print(completion.model_dump_json())

2.流式输出

python 复制代码
import os
from openai import OpenAI

client = OpenAI(
    # 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
    model="qwen-plus",  # 此处以qwen-plus为例,可按需更换模型名称。模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
    messages=[{'role': 'system', 'content': 'You are a helpful assistant.'},
                {'role': 'user', 'content': '你是谁?'}],
    stream=True,
    stream_options={"include_usage": True}
    )
for chunk in completion:
    print(chunk.model_dump_json())

3.图像输入

python 复制代码
import os
from openai import OpenAI

client = OpenAI(
    # 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
    model="qwen-vl-plus",  # 此处以qwen-vl-plus为例,可按需更换模型名称。模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
    messages=[{"role": "user","content": [
            {"type": "text","text": "这是什么"},
            {"type": "image_url",
             "image_url": {"url": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"}}
            ]}]
    )
print(completion.model_dump_json())

4.视频输入

python 复制代码
import os
from openai import OpenAI

client = OpenAI(
    # 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
    # 此处以qwen-vl-max-latest为例,可按需更换模型名称。模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
    model="qwen-vl-max-latest",
    messages=[{
        "role": "user",
        "content": [
            {
                "type": "video",
                "video": [
                    "https://img.alicdn.com/imgextra/i3/O1CN01K3SgGo1eqmlUgeE9b_!!6000000003923-0-tps-3840-2160.jpg",
                    "https://img.alicdn.com/imgextra/i4/O1CN01BjZvwg1Y23CF5qIRB_!!6000000003000-0-tps-3840-2160.jpg",
                    "https://img.alicdn.com/imgextra/i4/O1CN01Ib0clU27vTgBdbVLQ_!!6000000007859-0-tps-3840-2160.jpg",
                    "https://img.alicdn.com/imgextra/i1/O1CN01aygPLW1s3EXCdSN4X_!!6000000005710-0-tps-3840-2160.jpg"]
            },
            {
                "type": "text",
                "text": "描述这个视频的具体过程"
            }]}]
)
print(completion.model_dump_json())

5.工具调用

python 复制代码
import os
from openai import OpenAI

client = OpenAI(
    # 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",  # 填写DashScope SDK的base_url
)

tools = [
    # 工具1 获取当前时刻的时间
    {
        "type": "function",
        "function": {
            "name": "get_current_time",
            "description": "当你想知道现在的时间时非常有用。",
            "parameters": {}  # 因为获取当前时间无需输入参数,因此parameters为空字典
        }
    },  
    # 工具2 获取指定城市的天气
    {
        "type": "function",
        "function": {
            "name": "get_current_weather",
            "description": "当你想查询指定城市的天气时非常有用。",
            "parameters": {  
                "type": "object",
                "properties": {
                    # 查询天气时需要提供位置,因此参数设置为location
                    "location": {
                        "type": "string",
                        "description": "城市或县区,比如北京市、杭州市、余杭区等。"
                    }
                },
                "required": ["location"]
            }
        }
    }
]
messages = [{"role": "user", "content": "杭州天气怎么样"}]
completion = client.chat.completions.create(
    model="qwen-plus",  # 此处以qwen-plus为例,可按需更换模型名称。模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
    messages=messages,
    tools=tools
)

print(completion.model_dump_json())

6.联网搜索

python 复制代码
import os
from openai import OpenAI

client = OpenAI(
    # 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"), 
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",  # 填写DashScope服务的base_url
)
completion = client.chat.completions.create(
    model="qwen-plus",  # 此处以qwen-plus为例,可按需更换模型名称。模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
    messages=[
        {'role': 'system', 'content': 'You are a helpful assistant.'},
        {'role': 'user', 'content': '中国队在巴黎奥运会获得了多少枚金牌'}],
    extra_body={
        "enable_search": True
    }
    )
print(completion.model_dump_json())

7.异步调用

python 复制代码
import os
import asyncio
from openai import AsyncOpenAI
import platform

client = AsyncOpenAI(
    # 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)

async def main():
    response = await client.chat.completions.create(
        messages=[{"role": "user", "content": "你是谁"}],
        model="qwen-plus",  # 此处以qwen-plus为例,可按需更换模型名称。模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
    )
    print(response.model_dump_json())

if platform.system() == "Windows":
    asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
asyncio.run(main())

8.文档理解

python 复制代码
import os
from pathlib import Path
from openai import OpenAI

client = OpenAI(
    # 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
file_object = client.files.create(file=Path("百炼系列手机产品介绍.docx"), purpose="file-extract")
completion = client.chat.completions.create(
    model="qwen-long",  # 模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
    messages=[
        {'role': 'system', 'content': f'fileid://{file_object.id}'},
        {'role': 'user', 'content': '这篇文章讲了什么?'}
    ]
)
print(completion.model_dump_json())

9.文字提取

python 复制代码
# pip install -U openai
import os
from openai import OpenAI

client = OpenAI(
    # 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
    model="qwen-vl-ocr",  # 模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image_url",
                    "image_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/ctdzex/biaozhun.jpg",
                    "min_pixels": 28 * 28 * 4,
                    "max_pixels": 1280 * 784
                },
                # 目前为保证识别效果,模型内部会统一使用"Read all the text in the image."作为text的值,用户输入的文本不会生效。
                {"type": "text", "text": "Read all the text in the image."},
            ]
        }
    ])
        
print(completion.model_dump_json())
相关推荐
落笔画忧愁e1 小时前
实测:利用腾讯云锐驰型 200M 带宽,搭建无门槛高清视频分发系统
云计算·腾讯云
冬天的风滚草3 小时前
揭秘云原生混布资源调度器Koordinator (十五)GPU 信息采集与上报机制
云计算
冬天的风滚草3 小时前
揭秘云原生混布资源调度器Koordinator (十三)GPU 资源管理总览
云计算
冬天的风滚草3 小时前
揭秘云原生混布资源调度器Koordinator (十四)DeviceShare 调度插件详解
云计算
CodeCaptain6 小时前
配置Nginx反向代理来实现负载均衡,续阿里云ECS配置Nginx反向代理
nginx·阿里云·负载均衡
Bin Watson6 小时前
Ubuntu安装Docker记录(基于阿里云)
ubuntu·阿里云·docker
CodeCaptain6 小时前
阿里云ECS上配置Nginx的反向代理
nginx·阿里云·云计算
有谁看见我的剑了?15 小时前
VMware OVF Tool 工具安装学习
云计算
无我198720 小时前
专业的厌氧池清淤哪家酷
阿里云
酒书1 天前
对接阿里云号码认证实现运营商一键登录
java·阿里云