当前位置: 首页 > news >正文

阿里通义千问Qwen-Long 快速文档解析

您与大模型的对话(输入和输出)会受到模型上下文长度的限制。对于通常的长上下文场景,通义千问Plus或通义千问Flash(均支持最大100万Token)即可满足需求;而对于超过100万Token的超长上下文场景,建议使用Qwen-Long模型。Qwen-Long提供长达1,000万Token(约1,500万字)的上下文长度,支持上传文档并基于文档进行问答,且使用成本极低,输入成本为0.0005元/千Token,每1元可处理200万Token的输入(约300万字)。

使用场景

Qwen-Long可以用于快速分析代码、网页、论文、报告、合同、书籍、规范手册、技术文档等。示例场景如下:

根据公司年报分析战略风险和机遇

代码项目的总体审查与优化

内容发布平台的文章自动分类和添加标签

支持的模型

模型名称

版本

上下文长度

最大输入

最大输出

输入成本

输出成本

免费额度

(注)

(Token数)

(每千Token)

qwen-long

稳定版

10,000,000

10,000,000

8,192

0.0005元

Batch调用半价

0.002元

Batch调用半价

100万Token

有效期:百炼开通后180天内

qwen-long-latest

始终与最新快照版能力相同

最新版

qwen-long-2025-01-25

又称qwen-long-0125

快照版

0.0005元

0.002元

在Qwen-Long模型体验页面,您可以上传文档,在线提问。

快速开始

前提条件

  • 已获取API Key,并配置API Key到环境变量。

  • 已安装OpenAI SDK。

文档上传方式选择

在选择文档上传方式时,请考虑以下因素:

  1. 通过文件ID 上传

    • 推荐:适合需要频繁引用和管理的文档。可以有效减少文本输入错误,操作简便。

      文件格式支持文本文件( TXT、DOCX、PDF、XLSX、EPUB、MOBI、MD、CSV、JSON),图片文件(BMP、PNG、JPG/JPEG、GIF 以及PDF扫描件)。图片格式文件大小限制为20M,其他格式文件大小限制为 150MB。单个阿里云账号最多可上传 1 万个文件,总文件大小不得超过 100GB。当任一条件超出限制时,需删除部分文件以满足要求后再重新尝试上传,详情请参见OpenAI文件接口兼容。
  2. 通过纯文本上传

    • 适用场景:适合小规模文档或临时内容。如果文档较短且不需要长期存储,可以选择此方式。受限于API调用请求体大小,如果您的文本内容长度超过100万Token,请通过文件ID传入。

  3. 通过 JSON 字符串上传

    • 适用场景:适合需要传递复杂数据结构的情况。如果您的文档包含多层次信息,使用 JSON 字符串可以确保数据的完整性。

请根据您的具体需求和文档特性选择最合适的上传方式。我们建议优先考虑 文件ID 上传,以获得最佳体验。

文档上传

此处以阿里云百炼系列手机产品介绍.docx作为示例文件,将文件通过OpenAI兼容接口上传到阿里云百炼平台,保存至平台安全存储空间后获取文件ID。有关文档上传接口的详细参数解释及调用方式,请参考API文档页面进行了解。

当前仅OpenAI SDK支持文件上传和ID生成操作;Dashscope SDK仅提供模型调用能力,其对话所需文件ID必须通过OpenAI接口预先上传获得。

Python

Java

curl

import os
from pathlib import Path
from openai import OpenAIclient = OpenAI(api_key=os.getenv("DASHSCOPE_API_KEY"),  # 如果您没有配置环境变量,请在此处替换您的API-KEYbase_url="https://dashscope.aliyuncs.com/compatible-mode/v1",  # 填写DashScope服务base_url
)file_object = client.files.create(file=Path("阿里云百炼系列手机产品介绍.docx"), purpose="file-extract")
print(file_object.id)

运行以上代码,您可以得到本次上传文件对应的文件ID

通过文件ID传入文档信息

通过OpenAI SDK上传文件后生成的文件ID可用于模型对话,将文件ID传入System Message中且数量不超过 100 个,并在User Message中输入问题。

在通过 system message 提供文档信息时,建议同时设置一个正常role-play的system message,如默认的 “You are a helpful assistant.”,角色设定会对文档的处理效果产生影响,因此建议在消息中明确设定自己的角色。

简单示例

传入多文档

追加文档

Python

Java

curl

import os
from openai import OpenAIclient = OpenAI(api_key=os.getenv("DASHSCOPE_API_KEY"),  # 如果您没有配置环境变量,请在此处替换您的API-KEYbase_url="https://dashscope.aliyuncs.com/compatible-mode/v1",  # 填写DashScope服务base_url
)
try:# 初始化messages列表completion = client.chat.completions.create(model="qwen-long",messages=[{'role': 'system', 'content': 'You are a helpful assistant.'},# 请将 'file-fe-xxx'替换为您实际对话场景所使用的 fileid。{'role': 'system', 'content': f'fileid://file-fe-xxx'},{'role': 'user', 'content': '这篇文章讲了什么?'}],# 所有代码示例均采用流式输出,以清晰和直观地展示模型输出过程。如果您希望查看非流式输出的案例,请参见https://help.aliyun.com/zh/model-studio/text-generationstream=True,stream_options={"include_usage": True})full_content = ""for chunk in completion:if chunk.choices and chunk.choices[0].delta.content:# 拼接输出内容full_content += chunk.choices[0].delta.contentprint(chunk.model_dump())print(full_content)except BadRequestError as e:print(f"错误信息:{e}")print("请参考文档:https://help.aliyun.com/zh/model-studio/developer-reference/error-code")

通过纯文本传入信息

除了通过 文件ID 传入文档信息外,您还可以直接使用字符串传入文档内容。在此方法下,为避免模型混淆角色设定与文档内容,请确保在 messages 的第一条消息中添加用于角色设定的信息。

受限于API调用请求体大小,如果您的文本内容长度超过100万Token,请参考文档上传,通过文件ID传入。

简单示例

传入多文档

追加文档

您可以直接将文档内容输入System Message中。

Python

Java

curl

import os
from openai import OpenAIclient = OpenAI(api_key=os.getenv("DASHSCOPE_API_KEY"),  # 如果您没有配置环境变量,请在此处替换您的API-KEYbase_url="https://dashscope.aliyuncs.com/compatible-mode/v1",  # 填写DashScope服务base_url
)
# 初始化messages列表
completion = client.chat.completions.create(model="qwen-long",messages=[{'role': 'system', 'content': 'You are a helpful assistant.'},{'role': 'system', 'content': '阿里云百炼手机产品介绍 阿里云百炼X1 ——————畅享极致视界:搭载6.7英寸1440 x 3200像素超清屏幕...'},{'role': 'user', 'content': '文章讲了什么?'}],# 所有代码示例均采用流式输出,以清晰和直观地展示模型输出过程。如果您希望查看非流式输出的案例,请参见https://help.aliyun.com/zh/model-studio/text-generationstream=True,stream_options={"include_usage": True}
)full_content = ""
for chunk in completion:if chunk.choices and chunk.choices[0].delta.content:# 拼接输出内容full_content += chunk.choices[0].delta.contentprint(chunk.model_dump())print({full_content})

通过JSON字符串传入文档信息

您可以通过JSON字符串传入文档的内容、类型、名称与标题,使模型在本轮对话中可以参考这些信息。

JSON格式的文档信息需要按照文档内容(content)、文档类型(file_type)、文档名称(filename)、文档标题(title)的格式进行组织。请先将结构化的文档信息转换为JSON 字符串,再输入System Message中。

简单示例

传入多文档

追加文档

Python

Java

curl

import os
import json
from openai import OpenAIclient = OpenAI(api_key=os.getenv("DASHSCOPE_API_KEY"),  # 如果您没有配置环境变量,请在此处替换您的API-KEYbase_url="https://dashscope.aliyuncs.com/compatible-mode/v1",  # 填写DashScope服务base_url
)file_info = {# 全文内容省略,只做格式示意'content': '阿里云百炼X1 —— 畅享极致视界:搭载6.7英寸1440 x 3200像素超清屏幕,搭配120Hz刷新率...','file_type': 'docx','filename': '阿里云百炼系列手机产品介绍','title': '阿里云百炼手机产品介绍'
}
# 初始化messages列表
completion = client.chat.completions.create(model="qwen-long",messages=[{'role': 'system', 'content': 'You are a helpful assistant.'},# 通过json.dumps方法将JSON object转化为字符串{'role': 'system', 'content': json.dumps(file_info, ensure_ascii=False)},{'role': 'user', 'content': '文章讲了什么?'}],# 所有代码示例均采用流式输出,以清晰和直观地展示模型输出过程。如果您希望查看非流式输出的案例,请参见https://help.aliyun.com/zh/model-studio/text-generationstream=True
)
full_content = ""
for chunk in completion:if chunk.choices and chunk.choices[0].delta.content:# 拼接输出内容full_content += chunk.choices[0].delta.contentprint(chunk.model_dump())print({full_content})

限制

  • 文件上传限制:文件格式支持文本文件( TXT、DOCX、PDF、XLSX、EPUB、MOBI、MD、CSV),图片文件(BMP、PNG、JPG/JPEG、GIF 以及PDF扫描件)。图片格式文件大小限制为20M,其他格式文件大小限制为 150MB。单个阿里云账号最多可上传 1 万个文件,总文件大小不得超过 100GB。

  • 输入限制:

    • 请避免直接将文档内容放在roleuser的message中,用于role-play的systemuser的message限制输入最长为9,000 Token(连续多条user message视为一条user message且长度限制在9,000 Token内)。

    • 通过 文件ID 传入文档信息,并在 system 消息中使用返回的 文件ID 时,content 的最大输入限制可扩展至 10,000,000 Token,但 文件ID 的数量限制为不超过 100 个。此外,文件的传入顺序将直接影响模型返回结果的顺序。

  • 输出限制:最大输出为 8,192 Token。

  • 免费额度:100万Token的免费额度仅在阿里云百炼开通后的180天内有效。使用超出免费额度的部分将按照相应的输入输出成本收费。

  • 调用限制:关于模型的限流条件,请参见

常见问题

  1. Qwen-Long模型是否支持通System Message来指定模型行为?

    是的,Qwen-Long支持通过System Message标准化指定模型行为的功能,详情请参照上方“快速开始”部分。

  2. 如何在JSON格式中组织文档信息?

    请参照上方
     通过JSON字符串传入文档信息部分,构造messages时,为避免格式问题,JSON格式的文档信息应按照文档内容(content)、文档类型(file_type)、文档名称(filename)、文档标题(title)的格式组织。

  3. Qwen-Long模型支持以流式回复吗?

    通过设置 stream 和 stream_options 中的 include_usage参数为True,Qwen-Long模型会以流式的形式进行回复,并在最后返回的对象中通过usage字段展示Token使用情况。

  4. Qwen-Long模型是否支持批量提交任务?

    是的,Qwen-Long兼容  OpenAI Batch 接口并按照实时调用费用的 50% 来进行计费出账。该接口支持以文件方式批量提交任务,任务会以异步形式执行,并在完成或达到最长等待时间时返回结果。

  5. Qwen-Long模型的费用消耗是如何计算的?

    总费用 = 输入 Token 数 × 输入单价 + 输出 Token 数 × 输出单价

    通过 OpenAI 文件兼容接口上传的文档,解析后的文本长度将计入输入 Token 数。更多详细信息请参见计费项

  6. 不同的API Key之间能否共享文件ID进行调用?

    文件ID 只能在生成它的阿里云账号内的API Key之间共享使用,不支持跨账号调用。

  7. 通过OpenAI文件兼容接口上传文件后,文件将被保存在何处?

    所有通过OpenAI文件兼容接口上传的文件均将被保存在当前阿里云账号下的阿里云百炼存储空间且不会产生任何费用,关于所上传文件的信息查询与管理请参考
    OpenAI文件接口。

API参考

关于Qwen-Long模型的输入与输出参数,请参考大模型服务平台百炼_企业级大模型开发平台_百炼AI应用构建-阿里云。

http://www.dtcms.com/a/340180.html

相关文章:

  • 【Git】执行命令时要求输入Username、Password
  • RabbitMQ:SpringAMQP Topic Exchange(主题交换机)
  • Flink双流join
  • 【黑客技术零基础入门】PHP环境搭建、安装Apache、安装与配置MySQL(非常详细)零基础入门到精通,收藏这一篇就够
  • (认识异常)
  • 建模工具Sparx EA的多视图协作教程
  • [系统架构设计师]面向服务架构设计理论与实践(十五)
  • Shader学习路线
  • C++ MFC/BCG编程:文件对话框(CFileDialog、CFolderPickerDialog)
  • 【免费AI文档助手开发实战系列】基于正则表达式的PDF脱敏python服务构建(一)
  • 国产化PDF处理控件Spire.PDF教程:如何使用 Python 添加水印到 PDF
  • 太阳光模拟器在无人机老化测试中的应用
  • JVM参数优化
  • Nacos-8--分析一下nacos中的AP和CP模式
  • InfoNES模拟器HarmonyOS移植指南
  • SpringAI接入openAI配置出现的问题全解析
  • hadoop技术栈(九)Hbase替代方案
  • 深入理解计算机系统
  • 9-302 家里网能搜出两个ip, 无法联大堂监控室
  • LangChain —多模态 / 多源上下文管理
  • 银河麒麟V10一键安装Oracle 11g脚本分享
  • 【运维进阶】管理大项目
  • Linux数据库:【索引】
  • 如何成功初始化一个模块
  • 第4章 React状态管理基础
  • TDengine IDMP 运维指南(4. 使用 Docker 部署)
  • LWIP的IP 协议栈
  • C#传参调用外部exe
  • FACE 与 AUTOSAR 架构比较研究:本质异同分析
  • Huggingface-Qwen2-blog学习