Skip to main content
Modelos especializados

Long context (Qwen-Long)

O Qwen-Long processa documentos de até 10 milhões de tokens por meio de um mecanismo de upload e referência de arquivos, superando os limites de contexto dos modelos padrão.

Este documento se aplica apenas à região da China continental (Beijing). Para usar o modelo, utilize uma chave de API da região da China continental (Beijing).

Como usar

Use o Qwen-Long em duas etapas: faça o upload dos arquivos e depois chame a API.
  1. Upload e análise de arquivos:
    • Faça o upload de um arquivo usando a API. Para obter detalhes sobre os formatos de arquivo suportados e limites de tamanho, consulte Formatos suportados.
    • Após um upload bem-sucedido, o sistema retorna um file-id único para sua conta e inicia a análise. Não há cobrança pelo upload, armazenamento ou análise do arquivo.
  2. Chamada de API e faturamento:
    • Ao chamar o modelo, referencie um ou mais file-id s na mensagem system.
    • O modelo executa a inferência com base no conteúdo de texto associado ao file-id.
    • Em cada chamada de API, o número de tokens no conteúdo do arquivo referenciado conta como tokens de entrada daquela solicitação.
Essa abordagem evita a transferência de arquivos grandes em cada solicitação, mas observe que os tokens do arquivo são cobrados por chamada de API.

Primeiros passos

Pré-requisitos

  • Obtenha uma chave de API e configure-a como variável de ambiente.
  • Para chamar o modelo via SDK, instale o OpenAI SDK.

Fazer upload de um documento

Este exemplo faz o upload do arquivo Model_Studio_Phone_Product_Introduction.docx para o armazenamento seguro do Model Studio por meio da interface compatível com OpenAI e obtém um file-id. Consulte a documentação da API para ver os parâmetros de upload.
Python
import os
from pathlib import Path
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),  # If not configured, replace with your API key.
    # The following URL is for the China (Beijing) region. Replace {WorkspaceId} with your Workspace ID. URLs vary by region.
    base_url="https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
)

file_object = client.files.create(file=Path("Model_Studio_Phone_Product_Introduction.docx"), purpose="file-extract")
print(file_object.id)
Execute o código para obter o file-id do arquivo enviado.

Passar informações e conversar usando um ID de arquivo

Passe o file-id nas mensagens do sistema: a primeira mensagem define a função, a segunda contém o file-id e, em seguida, adicione as perguntas do usuário.
Documentos mais longos exigem maior tempo de análise. Aguarde a conclusão da análise antes de fazer a chamada.
Python
import os
from openai import OpenAI, BadRequestError

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),  # If not configured, replace with your API key.
    # Endpoint for the China (Beijing) region. Replace {WorkspaceId} with your Workspace ID. URLs vary by region.
    base_url="https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
)
try:
    # Initialize messages list.
    completion = client.chat.completions.create(
        model="qwen-long",
        messages=[
            # sys1: Role definition.
            {'role': 'system', 'content': 'You are a helpful assistant.'},
            # sys2: Document content (plain text or file-id).
            # Replace '{FILE_ID}' with the file-id used in your conversation.
            {'role': 'system', 'content': f'fileid://{FILE_ID}'},
            # When the request includes a second system message, the user message content is limited to 9,000 tokens.
            {'role': 'user', 'content': 'What is this article about?'}
        ],
        # All examples use streaming output to show the model's response process. For non-streaming examples, see https://www.alibabacloud.com/help/en/model-studio/text-generation
        stream=True,
        stream_options={"include_usage": True}
    )

    full_content = ""
    for chunk in completion:
        if chunk.choices and chunk.choices[0].delta.content:
            # Concatenate the output content.
            full_content += chunk.choices[0].delta.content
            print(chunk.model_dump())

        # Get token usage.
        if chunk.usage:
            print(f"Total tokens: {chunk.usage.total_tokens}")

    print(full_content)

except BadRequestError as e:
    print(f"Error: {e}")
    print("See documentation: https://www.alibabacloud.com/help/en/model-studio/error-code")

Passar vários documentos

Passe vários file-id s em uma única mensagem do sistema ou adicione mensagens de sistema separadas para cada documento.
  • Pass multiple documents
  • Append documents
Python
import os
from openai import OpenAI, BadRequestError

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),  # If not configured, replace with your API key.
    # Endpoint for the China (Beijing) region. Replace {WorkspaceId} with your Workspace ID. URLs vary by region.
    base_url="https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
)
try:
    # Initialize messages list.
    completion = client.chat.completions.create(
        model="qwen-long",
        messages=[
            {'role': 'system', 'content': 'You are a helpful assistant.'},
            # Replace '{FILE_ID1}' and '{FILE_ID2}' with the file-ids used in your conversation.
            {'role': 'system', 'content': f"fileid://{FILE_ID1},fileid://{FILE_ID2}"},
            {'role': 'user', 'content': 'What are these articles about?'}
        ],
        # All examples use streaming output to show the model's response process. For non-streaming examples, see https://www.alibabacloud.com/help/en/model-studio/text-generation
        stream=True,
        stream_options={"include_usage": True}
    )

    full_content = ""
    for chunk in completion:
        if chunk.choices and chunk.choices[0].delta.content:
            # Concatenate the output content.
            full_content += chunk.choices[0].delta.content
            print(chunk.model_dump())

    print(full_content)

except BadRequestError as e:
    print(f"Error: {e}")
    print("See documentation: https://www.alibabacloud.com/help/en/model-studio/error-code")

Passar informações como texto simples

Em vez de usar file-id s, passe o conteúdo do documento diretamente como string. Adicione as definições de função na primeira mensagem para evitar confusão com o conteúdo do documento.
Se o conteúdo do documento exceder 1 milhão de tokens, use um ID de arquivo devido aos limites de tamanho da API.
  • Simple example
  • Pass multiple documents
  • Append documents
Insira o conteúdo do documento diretamente na Mensagem do Sistema.
Python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),  # Replace your API key here if you haven't set the environment variable
    # Endpoint for the China (Beijing) region. Replace {WorkspaceId} with your Workspace ID. URLs vary by region.
    base_url="https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
)
# Initialize the messages list
completion = client.chat.completions.create(
    model="qwen-long",
    messages=[
        {'role': 'system', 'content': 'You are a helpful assistant.'},
        {'role': 'system', 'content': 'Alibaba Cloud Model Studio smartphone product introduction: Alibaba Cloud Model Studio X1 —————— Enjoy an ultimate visual experience: features a 6.7-inch 1440 x 3200 pixel ultra-clear screen...'},
        {'role': 'user', 'content': 'What does the article talk about?'}
    ],
    # All code examples use streaming output to clearly and intuitively show the model's output process. For non-streaming examples, see https://www.alibabacloud.com/help/en/model-studio/text-generation
    stream=True,
    stream_options={"include_usage": True}
)

full_content = ""
for chunk in completion:
    if chunk.choices and chunk.choices[0].delta.content:
        # Append output content
        full_content += chunk.choices[0].delta.content
        print(chunk.model_dump())

print(full_content)

Preços do modelo

China continental

Se você selecionar o escopo de implantação China continental, os recursos de computação para inferência do modelo ficarão restritos à China continental. Os dados estáticos são armazenados na região selecionada. Região suportada: China (Beijing).
ModeloVersãoJanela de contextoEntrada máx.Saída máx.Custo de entradaCusto de saídaCota gratuitaNota
(tokens)(por 1M tokens)
qwen-long
Chamadas em lote pela metade do preço
Estável10.000.00010.000.00032.7680,5 CNY2 CNY1 milhão de tokens cadaVálido por 90 dias após ativar o Model Studio
qwen-long-latest
Sempre corresponde à versão snapshot mais recente
Chamadas em lote pela metade do preço
Mais recente
qwen-long-2025-01-25
Também conhecido como qwen-long-0125
Snapshot0,5 CNY2 CNY
Nome do modeloVersãoTamanho do contextoEntrada máx.Saída máx.Custo de entradaCusto de saída
(Tokens)(por 1 milhão de tokens)
qwen-long-latest
Sempre possui os mesmos recursos da versão snapshot mais recente.
Mais recente10.000.00010.000.00032.768$0,072$0,287
qwen-long-2025-01-25
Também conhecido como qwen-long-0125.
Snapshot

Perguntas frequentes

  1. O modelo Qwen-Long suporta o envio de jobs em lote? Sim. O Qwen-Long suporta a API Batch da OpenAI com 50% das taxas de chamadas em tempo real. Envie jobs em lote como arquivos; os jobs são executados assincronicamente e retornam resultados após a conclusão ou timeout.
  2. Onde os arquivos são salvos após o upload usando a API de arquivos compatível com OpenAI? Os arquivos são enviados para o bucket do Model Studio sem custo. Consulte a API de Arquivos OpenAI para consultar e gerenciar arquivos.
  3. O que é qwen-long-2025-01-25? Trata-se de um snapshot de versão congelado em um ponto específico no tempo. É mais estável que latest e não tem data de expiração.
  4. Como garantir que o modelo gere uma string JSON em formato padrão? O qwen-long e todos os snapshots suportam saída estruturada. Especifique um JSON Schema para garantir um JSON válido que corresponda à sua estrutura.

Referência da API

Consulte Detalhes da API Qwen para ver os parâmetros de entrada e saída do modelo Qwen-Long.

Códigos de erro

Se a chamada do modelo falhar e retornar uma mensagem de erro, consulte Códigos de erro para resolução.

Limites

  • Dependências do SDK:
    • Operações de arquivo (upload, exclusão, consulta) exigem um SDK compatível com OpenAI.
    • Invoque modelos usando um SDK compatível com OpenAI ou Dashscope SDK.
  • Upload de arquivos:
    • Formatos suportados: TXT, DOCX, PDF, XLSX, EPUB, MOBI, MD, CSV, JSON, BMP, PNG, JPG/JPEG e GIF.
    • Tamanho do arquivo: O tamanho máximo para arquivos de imagem é 20 MB. Para outros formatos de arquivo, o limite é 150 MB.
    • Cota da conta: Máximo de 10.000 arquivos ou 100 GB por conta. Os uploads falham quando qualquer um dos limites é atingido. Exclua arquivos para liberar cota. Consulte Compatível com OpenAI - Arquivo.
    • Período de armazenamento: Atualmente, não há limite de expiração para arquivos armazenados.
  • Entradas da API:
    • A primeira mensagem system define a função. A segunda contém o conteúdo do documento ou fileid://xxx. A mensagem user contém a consulta.
    • Ao referenciar arquivos usando um file-id, uma única solicitação pode referenciar no máximo 100 arquivos.
    • Com uma segunda mensagem system, o limite da mensagem user é de 9.000 tokens. Não há limite com apenas uma mensagem de sistema.
    • O tamanho total do contexto é limitado a 10 milhões de tokens.
  • Saídas da API:
    • O comprimento máximo de saída é 32.768 tokens.
  • Compartilhamento de arquivos:
    • Os file-id s são específicos da conta e não podem ser usados entre contas diferentes ou com chaves de API de usuários RAM.
  • Limitação de taxa: Para obter informações sobre as condições de limitação de taxa do modelo, consulte Limitação de taxa.
Plano de Tokens
Inferência do Modelo
Avaliação
Compressão de Modelos
Estatísticas e Monitoramento
Suporte