日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

長上下文

您與大模型的對話(輸入和輸出)會受到模型上下文長度的限制。對于128K以內的長上下文場景,通義千問Plus或通義千問Turbo均能滿足需求;而對于超過128K的超長上下文場景,建議使用Qwen-Long模型。Qwen-Long提供長達1,000Token(約1,500萬字)的上下文長度,支持上傳文檔并基于文檔進行問答,且使用成本極低,每1元可處理200Token(約300萬字)。

場景示例

Qwen-Long可以用于快速分析代碼、網頁、論文、報告、合同、書籍、規范手冊、技術文檔等。示例場景如下:

根據公司年報分析戰略風險和機遇

為對Qwen-Long模型在長文本處理方面的能力進行全面評估,此示例上傳了某公司2015年至2024年的10-K公司財務業績詳細報告文件。以下是相關信息:

  • 文件數量:共10

  • 文件類型:PDF

  • 每份文件頁數:約200

這些報告涵蓋了每一年的詳細財務數據和業務信息,所提供的10-K報告為提交給紐約證券交易所的正式官方文件。這些報告經過嚴格的審計和驗證,由于這些報告涵蓋了詳細的財務和業務信息,它們能夠為實際應用場景提供真實且有價值的參考

Prompt

請從這家公司的2015-2024提交給紐約證交所的10-K公司財務業績詳細報告回答以下問題,每一年的10-K文件都是單獨的,
另外請不要在回答中出現任何公司的名字,如有需要請使用“該公司”或“某公司”代替:
1. 請從這份2015-2024年的某公司10-K報告中提取出每年報告的核心內容,包括財務數據、管理討論和分析。
2. 請為該公司20152024年的10-K報告生成一個摘要,重點突出公司年度財務狀況和重大事件。
3. 在這份10-K報告中,詳細描述2018年的市場擴展策略和其對公司財務的影響。
4. 在分析了這份報告之后,請解釋2019年公司面臨的主要風險因素

模型輸出

1. 每年報告的核心內容:
2015年:報告指出,信息系統的安全性是一個重要的關注點,并且公司已經采取措施加強安全防護。財務數據顯示在美國市場的收入占比和經濟條件對業務的影響。
2016年:報告強調了信息系統的安全性和風險管理,提到美國市場營收占總營收的比例以及經濟波動可能帶來的負面影響。
2017年:報告提到了信息系統攻擊的風險,并說明公司在人員培訓和技術投入上的努力,還提到美國市場收入占比和潛在的經濟影響。
2018年:報告中提到了稅務改革法案對其他負債增加的影響,并強調了管理層對財務報表的責任。
2019年:報告介紹了收購一家咖啡公司以擴大熱飲市場平臺的動作,同時提到管理層對財務報告的責任。
2020年:報告討論了新冠疫情對公司業務的影響,包括產品銷售下降等情況。
2021年:報告繼續討論新冠疫情對業務的持續影響,特別是對非家庭渠道銷售的影響。
2022年:報告關注了疫情及政府措施對全球業務的影響。
2023年:報告警告了不利經濟條件可能導致消費者轉向更便宜的產品從而影響公司的盈利能力。
2024年:報告提到了庫存增加的原因,包括為了應對供應鏈中斷而提前儲備物資。
2. 摘要:
  從2015年到2024年,該公司的10-K報告記錄了其在美國市場的收入占比變化以及面臨的各種風險,如信息安全威脅、經濟波動等。特別是在2018年,該公司進行了重大的市場擴展,收購了一家咖啡公司來增強其在熱飲料市場的地位。
  然而,2020年起,新冠疫情對公司造成了顯著沖擊,導致產品銷售減少。盡管如此,公司還是通過增加庫存來應對供應鏈中斷的風險。
3. 2018年市場擴展策略及其財務影響:
    2018年,該公司通過收購一家咖啡公司來增強其在熱飲料市場的存在感。這次收購預計能夠幫助該公司擴大在這一領域的市場份額。不過,由于稅務改革法案的要求,公司的一次性過渡稅增加了其他負債。
4. 2019年主要風險因素:
    2019年,該公司面臨的主要風險因素包括信息系統遭受攻擊的可能性,這可能導致敏感信息泄露或被濫用;此外,美國市場的經濟狀況不佳也可能會影響消費者對該公司的產品需求,從而影響公司的盈利能力和整體財務表現。

輸入tokens: 1,648,530 輸出tokens: 423 預估成本: 0.83

代碼項目的總體審查與優化

在當前編程輔助工具中,盡管許多生成式AI插件(如Copilot)提供了代碼片段的生成和建議,但大多數工具的功能限制在單個代碼文件的范圍內,難以宏觀地審視整個代碼庫。Qwen-Long模型通過處理長上下文窗口,能夠對大型代碼倉庫進行全面分析和優化建議。此示例將一個GitHub項目的代碼庫轉寫為TXT文件并交給Qwen-Long模型

Prompt

附件是一個txt格式存儲的代碼庫,請回答以下問題:
1.這個項目是基于什么編程語言開發的?主要依賴項有哪些?
2.此項目的主要功能有哪些?
3.此項目還有哪些部分可以進行優化?

模型輸出

1.該項目是基于Kotlin編程語言開發的。主要依賴項包括:Jetpack Compose用于構建現代UI,Coil用于高效加載和緩存圖片,Retrofit用于流暢的網絡請求,Dagger Hilt簡化了依賴注入,
  Room作為SQLite對象映射庫用于本地數據存儲,Paging Compose簡化了分頁列表的實現,Mockito、JUnitTurbine確保了應用的可靠性。
2.此項目的主要功能有:展示頭條新聞文章;按照國家、語言和來源篩選新聞;保存新聞文章以備將來參考;搜索特定的新聞文章;在WebView中查看新聞文章以便詳細閱讀。
3.從提供的信息來看,項目的優化可以從以下幾個方面入手:
  首先,項目的build.gradle文件中的API_KEY應該被替換為實際的API密鑰,而不是使用占位符;其次,項目的proguard配置文件中有關于保留行號信息的注釋代碼,如果不需要原始源文件名,可以考慮取消注釋并啟用該設置;
  最后,項目中使用了多個第三方庫,需要持續關注這些庫的更新,并及時升級到最新版本,以利用最新的特性和修復已知的問題。同時,還可以考慮對現有的單元測試和UI測試進行擴展,提高代碼覆蓋率,進一步保證代碼的質量。

輸入tokens: 290,766 輸出tokens: 251 預估成本: 0.15

內容發布平臺的文章自動分類和添加標簽

在內容發布場景中,利用Qwen-Long模型長上下文窗口實現自動化分類與標簽添加,不僅能減少內容創作者的手動工作量,還能提高平臺內容的管理效率與用戶體驗。此示例提供給Qwen-Long模型一系列不同主題的文章。要求模型自動分析每篇文章的主題和關鍵信息,為每篇文章分配一個主題分類,并生成相關的標簽,最后格式化為JSON結構的數據。

Prompt

附件是若干篇不同的文章,請將文章劃入若干主題分類,并為每篇文章添加若干標簽。每篇文章只能有一個主題,但可以有一個或多個標簽。
標簽應當盡量總結突出文章主旨或主題,將結果放在一個json代碼塊中輸出,其格式必須符合json語法,json結構如下:

[
  {
    文章標題:"Title"
    主題:"the theme"
    標簽["tag1","tag2",....]
  }
]

模型輸出

[
  {
    "文章標題": "Golang生成隨機數案例實戰-阿里云開發者社區",
    "主題": "編程技術",
    "標簽": ["Go語言", "隨機數生成", "編程案例"]
  },
  {
    "文章標題": "他們鎖在連鎖咖啡店",
    "主題": "社會現象",
    "標簽": ["咖啡店", "工作環境", "連鎖品牌"]
  },
  {
    "文章標題": "提升深度學習性能的利器全面解析PAI-TorchAcc的優化技術與應用場景-阿里云開發者社區",
    "主題": "人工智能技術",
    "標簽": ["深度學習", "PAI-TorchAcc", "性能優化"]
  },
  {
    "文章標題": "一個美國人在東北散步",
    "主題": "旅行記述",
    "標簽": ["旅行", "文化體驗", "美國人在東北"]
  },
  {
    "文章標題": "一群沒有被看到的運動員和他們未完成的奧運會",
    "主題": "體育人文",
    "標簽": ["運動員", "奧運會", "未完成的比賽"]
  },
  {
    "文章標題": "與信任問題共存零信任架構的人性化一面-阿里云開發者社區",
    "主題": "網絡安全",
    "標簽": ["零信任架構", "網絡安全", "人性化"]
  },
  {
    "文章標題": "在DockerDocker配置文件在哪里以及如何修改-阿里云開發者社區",
    "主題": "容器技術",
    "標簽": ["Docker", "配置文件", "系統管理"]
  },
  {
    "文章標題": "FrontMatterInternationalTalentProgramsintheChanging",
    "主題": "教育研究",
    "標簽": ["國際人才", "STEM", "全球環境"]
  },
  {
    "文章標題": "InterannualClimateVariabilityandMalariainMozambique-",
    "主題": "氣候與健康",
    "標簽": ["氣候變化", "瘧疾", "莫桑比克"]
  },
  {
    "文章標題": "SpringCloud常見面試題一SpringCloud5大組件服務注冊和發現nacoseureka區別",
    "主題": "微服務架構",
    "標簽": ["SpringCloud", "服務注冊", "面試題"]
  }
]

輸入tokens: 53,038 輸出tokens: 557 預估成本: 0.03

支持的模型

模型名稱

上下文長度

最大輸入

最大輸出

輸入成本

輸出成本

免費額度

(注)

(Token數)

(每千Token)

qwen-long

10,000,000

10,000,000

6,000

0.0005

Batch調用:0.00025

0.002

Batch調用:0.001

100Token

有效期:百煉開通后180天內

Qwen-Long模型體驗頁面,您可以上傳文檔,在線提問。

通過API使用

前提條件

文檔上傳方式選擇

在選擇文檔上傳方式時,請考慮以下因素:

  1. 通過 file-id 上傳

    • 推薦:適合需要頻繁引用和管理的文檔。可以有效減少文本輸入錯誤,操作簡便。

      文件格式僅限于純文本文件類型,包括 txt、docx、pdf、epub、mobi、md 等,目前不支持圖片或掃描文檔等本質是圖片形式的內容。每個文件的大小限制為 150MB,最多可以上傳1萬個文件,總文件大小不得超過 100GB。
  2. 通過純文本上傳

    • 適用場景:適合小規模文檔或臨時內容。如果文檔較短且不需要長期存儲,可以選擇此方式。受限于API調用請求體大小,如果您的文本內容長度超過1M Tokens,請參考,通過file-id傳入。

  3. 通過 JSON 字符串上傳

    • 適用場景:適合需要傳遞復雜數據結構的情況。如果您的文檔包含多層次信息,使用 JSON 字符串可以確保數據的完整性。

請根據您的具體需求和文檔特性選擇最合適的上傳方式。我們建議優先考慮 file-id 上傳,以獲得最佳體驗。

通過file-id傳入文檔信息

您可以通過OpenAI兼容接口上傳文檔,并將返回的file-id輸入到System Message中,使得模型在回復時參考文檔信息。

簡單示例

Qwen-Long模型可以基于您上傳的文檔進行回復。此處以百煉系列手機產品介紹.docx作為示例文件。

  1. 將文件通過OpenAI兼容接口上傳到百煉平臺,獲取file-id。有關文檔上傳接口的詳細參數解釋及調用方式,請參考API文檔頁面進行了解。

    Python

    import os
    from pathlib import Path
    from openai import OpenAI
    
    client = OpenAI(
        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")
    print(file_object.id)

    curl

    curl --location --request POST 'https://dashscope.aliyuncs.com/compatible-mode/v1/files' \
      --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
      --form 'file=@"百煉系列手機產品介紹.docx"' \
      --form 'purpose="file-extract"'

    運行以上代碼,您可以得到本次上傳文件對應的file-id

  2. file-id傳入System Message中且數量不超過 100 個,并在User Message中輸入問題。

    在通過 system message 提供文檔信息時,建議同時設置一個正常role-playsystem message,如默認的 “You are a helpful assistant.”,角色設定會對文檔的處理效果產生影響,因此建議在消息中明確設定自己的角色。

    Python

    import os
    from openai import OpenAI
    
    client = OpenAI(
        api_key=os.getenv("DASHSCOPE_API_KEY"),
        base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
    )
    
    completion = client.chat.completions.create(
        model="qwen-long",
        messages=[
            {'role': 'system', 'content': 'You are a helpful assistant.'},
            {'role': 'system', 'content': 'fileid://file-fe-xxx'},
            {'role': 'user', 'content': '這篇文章講了什么?'}
        ],
        stream=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.content
            print(chunk.model_dump())
    
    print({full_content})

    curl

    curl --location 'https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions' \
    --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
    --header "Content-Type: application/json" \
    --data '{
        "model": "qwen-long",
        "messages": [
            {"role": "system","content": "You are a helpful assistant."},
            {"role": "system","content": "fileid://file-fe-xxx"},
            {"role": "user","content": "這篇文章講了什么?"}
        ],
        "stream": true,
        "stream_options": {
            "include_usage": true
        }
    }'

    通過配置streamstream_options參數,Qwen-Long模型會流式輸出回復,并在最后返回的對象中通過usage字段展示Token使用情況。

    本文中的所有代碼示例均采用流式輸出,以清晰和直觀地展示模型輸出過程。如果您希望查看非流式輸出的案例,請參見此處的非流式輸出案例。

    Python

    {'id':'chatcmpl-565151e8-7b41-9a78-ae88-472edbad8c47','choices':[{'delta':{'content':'','function_call':null,'role':'assistant','tool_calls':null},'finish_reason':null,'index':0,'logprobs':null}],'created':1726023099,'model':'qwen-long','object':'chat.completion.chunk','service_tier':null,'system_fingerprint':null,'usage':null}
    {'id':'chatcmpl-565151e8-7b41-9a78-ae88-472edbad8c47','choices':[{'delta':{'content':'這篇文章','function_call':null,'role':null,'tool_calls':null},'finish_reason':null,'index':0,'logprobs':null}],'created':1726023099,'model':'qwen-long','object':'chat.completion.chunk','service_tier':null,'system_fingerprint':null,'usage':null}
    {'id':'chatcmpl-565151e8-7b41-9a78-ae88-472edbad8c47','choices':[{'delta':{'content':'介紹了','function_call':null,'role':null,'tool_calls':null},'finish_reason':null,'index':0,'logprobs':null}],'created':1726023099,'model':'qwen-long','object':'chat.completion.chunk','service_tier':null,'system_fingerprint':null,'usage':null}
    {'id':'chatcmpl-565151e8-7b41-9a78-ae88-472edbad8c47','choices':[{'delta':{'content':'百','function_call':null,'role':null,'tool_calls':null},'finish_reason':null,'index':0,'logprobs':null}],'created':1726023099,'model':'qwen-long','object':'chat.completion.chunk','service_tier':null,'system_fingerprint':null,'usage':null}
    ......
    {'id':'chatcmpl-565151e8-7b41-9a78-ae88-472edbad8c47','choices':[{'delta':{'content':'滿足不同的使用需求','function_call':null,'role':null,'tool_calls':null},'finish_reason':null,'index':0,'logprobs':null}],'created':1726023099,'model':'qwen-long','object':'chat.completion.chunk','service_tier':null,'system_fingerprint':null,'usage':null}
    {'id':'chatcmpl-565151e8-7b41-9a78-ae88-472edbad8c47','choices':[{'delta':{'content':'。','function_call':null,'role':null,'tool_calls':null},'finish_reason':null,'index':0,'logprobs':null}],'created':1726023099,'model':'qwen-long','object':'chat.completion.chunk','service_tier':null,'system_fingerprint':null,'usage':null}
    {'id':'chatcmpl-565151e8-7b41-9a78-ae88-472edbad8c47','choices':[{'delta':{'content':'','function_call':null,'role':null,'tool_calls':null},'finish_reason':'stop','index':0,'logprobs':null}],'created':1726023099,'model':'qwen-long','object':'chat.completion.chunk','service_tier':null,'system_fingerprint':null,'usage':null}
    {'id':'chatcmpl-565151e8-7b41-9a78-ae88-472edbad8c47','choices':[],'created':1726023099,'model':'qwen-long','object':'chat.completion.chunk','service_tier':null,'system_fingerprint':null,'usage':{'completion_tokens':93,'prompt_tokens':5395,'total_tokens':5488}}
    {'這篇文章是關于百煉系列手機的產品介紹,詳細描述了六款不同型號的手機特點和賣點:.....每款手機都有其獨特的特點和目標用戶群體,旨在滿足不同消費者的需求。'}

    curl

    data: {"choices":[{"delta":{"content":"","role":"assistant"},"index":0,"logprobs":null,"finish_reason":null}],"object":"chat.completion.chunk","usage":null,"created":1728649489,"system_fingerprint":null,"model":"qwen-long","id":"chatcmpl-e2434284-140a-9e3a-8ca5-f81e65e98d01"}
    
    data: {"choices":[{"finish_reason":null,"delta":{"content":"這篇文章"},"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1728649489,"system_fingerprint":null,"model":"qwen-long","id":"chatcmpl-e2434284-140a-9e3a-8ca5-f81e65e98d01"}
    
    data: {"choices":[{"delta":{"content":"是"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1728649489,"system_fingerprint":null,"model":"qwen-long","id":"chatcmpl-e2434284-140a-9e3a-8ca5-f81e65e98d01"}
    
    data: {"choices":[{"delta":{"content":"關于"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1728649489,"system_fingerprint":null,"model":"qwen-long","id":"chatcmpl-e2434284-140a-9e3a-8ca5-f81e65e98d01"}
    
    .....
    
    data: {"choices":[{"delta":{"content":"描述了每款"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1728649489,"system_fingerprint":null,"model":"qwen-long","id":"chatcmpl-e2434284-140a-9e3a-8ca5-f81e65e98d01"}
    
    data: {"choices":[{"delta":{"content":"手機的主要特點和"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1728649489,"system_fingerprint":null,"model":"qwen-long","id":"chatcmpl-e2434284-140a-9e3a-8ca5-f81e65e98d01"}
    
    data: {"choices":[{"delta":{"content":"規格,并提供了參考"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1728649489,"system_fingerprint":null,"model":"qwen-long","id":"chatcmpl-e2434284-140a-9e3a-8ca5-f81e65e98d01"}
    
    data: {"choices":[{"delta":{"content":"售價信息。"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1728649489,"system_fingerprint":null,"model":"qwen-long","id":"chatcmpl-e2434284-140a-9e3a-8ca5-f81e65e98d01"}
    
    data: {"choices":[{"finish_reason":"stop","delta":{"content":""},"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1728649489,"system_fingerprint":null,"model":"qwen-long","id":"chatcmpl-e2434284-140a-9e3a-8ca5-f81e65e98d01"}
    
    data: {"choices":[],"object":"chat.completion.chunk","usage":{"prompt_tokens":5395,"completion_tokens":71,"total_tokens":5466},"created":1728649489,"system_fingerprint":null,"model":"qwen-long","id":"chatcmpl-e2434284-140a-9e3a-8ca5-f81e65e98d01"}
    
    data: [DONE]

除了傳入單個file-id外,您還可以通過傳入多個file-id來向模型傳入多個文檔,或在對話過程中追加file-id使模型能夠參考新的文檔信息。

傳入多文檔

您可以在一條System Message中傳入多個file-id,在一次請求中處理多個文檔。使用方式請參考示例代碼。

示例代碼

Python

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
    model="qwen-long",
    messages=[
        {'role': 'system', 'content': 'You are a helpful assistant.'},
        # 請將 'file-fe-xxx1' 和 'file-fe-xxx2' 替換為您實際對話場景所使用的 file-id。
        {'role': 'system', 'content': f"fileid://file-fe-xxx1,fileid://file-fe-xxx2"},
        {'role': 'user', 'content': '這幾篇文章講了什么?'}
    ],
    stream=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.content
        print(chunk.model_dump())

print({full_content})

curl

curl --location 'https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
    "model": "qwen-long",
    "messages": [
        {"role": "system","content": "You are a helpful assistant."},
        {"role": "system","content": "fileid://file-fe-xxx1"},
        {"role": "system","content": "fileid://file-fe-xxx2"},
        {"role": "user","content": "這兩篇文章講了什么?"}
    ],
    "stream": true,
    "stream_options": {
        "include_usage": true
    }
}'

追加文檔

在您與模型的交互過程中,可能需要補充新的文檔信息。您可以在Messages 數組中添加新的file-idSystem Message中來實現這一效果。

Python

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),  # 如果您沒有配置環境變量,請在此處替換您的API-KEY
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",  # 填寫DashScope服務base_url
)
# 初始化messages列表
messages = [
    {'role': 'system', 'content': 'You are a helpful assistant.'},
    # 請將 'file-fe-xxx1' 替換為您實際對話場景所使用的 file-id。
    {'role': 'system', 'content': f'fileid://file-fe-xxx1'},
    {'role': 'user', 'content': '這篇文章講了什么?'}
]

# 第一輪響應
completion_1 = client.chat.completions.create(
    model="qwen-long",
    messages=messages,
    stream=False
)

# 打印出第一輪響應
# 如果需要流式輸出第一輪的響應,需要將stream設置為True,并拼接每一段輸出內容,在構造assistant_message的content時傳入拼接后的字符
print(f"第一輪響應:{completion_1.choices[0].message.model_dump()}")

# 構造assistant_message
assistant_message = {
    "role": "assistant",
    "content": completion_1.choices[0].message.content}

# 將assistant_message添加到messages中
messages.append(assistant_message)

# 將追加文檔的fileid添加到messages中
# 請將 'file-fe-xxx2' 替換為您實際對話場景所使用的 file-id。
system_message = {'role': 'system', 'content': f'fileid://file-fe-xxx2'}
messages.append(system_message)

# 添加用戶問題
messages.append({'role': 'user', 'content': '這兩篇文章討論的方法有什么異同點?'})

# 追加文檔后的響應
completion_2 = client.chat.completions.create(
    model="qwen-long",
    messages=messages,
    stream=True,
    stream_options={
        "include_usage": True
    }
)

# 流式打印出追加文檔后的響應
print("追加文檔后的響應:")
for chunk in completion_2:
    print(chunk.model_dump())

curl

curl --location 'https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
    "model": "qwen-long",
    "messages": [
        {"role": "system","content": "You are a helpful assistant."},
        {"role": "system","content": "fileid://file-fe-xxx1"},
        {"role": "user","content": "這篇文章講了什么?"},
        {"role": "system","content": "fileid://file-fe-xxx2"},
        {"role": "user","content": "這兩篇文章討論的方法有什么異同點?"}
    ],
    "stream": true,
    "stream_options": {
        "include_usage": true
    }
}'

通過純文本傳入信息

除了通過 file-id 傳入文檔信息外,您還可以直接使用字符串傳入文檔內容。在此方法下,為避免模型混淆角色設定與文檔內容,請確保在 messages 的第一條消息中添加用于角色設定的信息。

受限于API調用請求體大小,如果您的文本內容長度超過1M Tokens,請參考通過file-id傳入文檔信息,通過file-id傳入。

簡單示例

您可以直接將文檔內容輸入System Message中。

Python

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",  # 填寫DashScope服務endpoint
)

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': '文章講了什么?'}
    ],
    stream=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.content
        print(chunk.model_dump())

print({full_content})

curl

curl --location 'https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
    "model": "qwen-long",
    "messages": [
        {"role": "system","content": "You are a helpful assistant."},
        {"role": "system","content": "百煉X1 —— 暢享極致視界:搭載6.7英寸1440 x 3200像素超清屏幕,搭配120Hz刷新率,..."},
        {"role": "user","content": "這篇文章講了什么?"}
    ],
    "stream": true,
    "stream_options": {
        "include_usage": true
    }
}'

傳入多文檔

當您在本輪對話需要傳入多個文檔時,可以將文檔內容放在不同的System Message中。

Python

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)

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像素超清屏幕,搭配120Hz刷新率...'},
        {'role': 'system', 'content': '星塵S9 Pro —— 創新視覺盛宴:突破性6.9英寸1440 x 3088像素屏下攝像頭設計...'},
        {'role': 'user', 'content': '這兩篇文章討論的產品有什么異同點?'}
    ],
    stream=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.content
        print(chunk.model_dump())

print({full_content})

curl

curl --location 'https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
    "model": "qwen-long",
    "messages": [
        {"role": "system","content": "You are a helpful assistant."},
        {"role": "system","content": "百煉X1 —— 暢享極致視界:搭載6.7英寸1440 x 3200像素超清屏幕,搭配120Hz刷新率..."},
        {"role": "system","content": "星塵S9 Pro —— 創新視覺盛宴:突破性6.9英寸1440 x 3088像素屏下攝像頭設計..."},
        {"role": "user","content": "這兩篇文章討論的產品有什么異同點?"}
    ],
    "stream": true,
    "stream_options": {
        "include_usage": true
    }
}'

追加文檔

在您與模型的交互過程中,可能需要補充新的文檔信息。您可以在Messages 數組中添加新的文檔內容到System Message中來實現這一效果。

Python

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),  # 如果您沒有配置環境變量,請在此處替換您的API-KEY
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",  # 填寫DashScope服務base_url
)
# 初始化messages列表
messages = [
    {'role': 'system', 'content': 'You are a helpful assistant.'},
    {'role': 'system', 'content': '百煉X1 —— 暢享極致視界:搭載6.7英寸1440 x 3200像素超清屏幕,搭配120Hz刷新率...'},
    {'role': 'user', 'content': '這篇文章講了什么?'}
]

# 第一輪響應
completion_1 = client.chat.completions.create(
    model="qwen-long",
    messages=messages,
    stream=False
)

# 打印出第一輪響應
# 如果需要流式輸出第一輪的響應,需要將stream設置為True,并拼接每一段輸出內容,在構造assistant_message的content時傳入拼接后的字符
print(f"第一輪響應:{completion_1.choices[0].message.model_dump()}")

# 構造assistant_message
assistant_message = {
    "role": "assistant",
    "content": completion_1.choices[0].message.content}

# 將assistant_message添加到messages中
messages.append(assistant_message)
# 將追加文檔內容添加到messages中
system_message = {
    'role': 'system',
    'content': '星塵S9 Pro —— 創新視覺盛宴:突破性6.9英寸1440 x 3088像素屏下攝像頭設計,帶來無界視覺享受...'
}
messages.append(system_message)

# 添加用戶問題
messages.append({
    'role': 'user',
    'content': '這兩篇文章討論的產品有什么異同點?'
})

# 追加文檔后的響應
completion_2 = client.chat.completions.create(
    model="qwen-long",
    messages=messages,
    stream=True,
    stream_options={"include_usage": True}
)

# 流式打印出追加文檔后的響應
print("追加文檔后的響應:")
for chunk in completion_2:
    print(chunk.model_dump())

curl

curl --location 'https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
    "model": "qwen-long",
    "messages": [
            {"role": "system","content": "You are a helpful assistant."},
            {"role": "system","content": "百煉X1 —— 暢享極致視界:搭載6.7英寸1440 x 3200像素超清屏幕,搭配120Hz刷新率..."},
            {"role": "user","content": "這篇文章講了什么?"},
            {"role": "system","content": "星塵S9 Pro —— 創新視覺盛宴:突破性6.9英寸1440 x 3088像素屏下攝像頭設計,帶來無界視覺享受..."},
            {"role": "user","content": "這兩篇文章討論的產品有什么異同點"}
        ],
    "stream": true,
    "stream_options": {
        "include_usage": true
    }
}'

通過JSON字符串傳入文檔信息

您可以通過JSON字符串傳入文檔的內容、類型、名稱與標題,使模型在本輪對話中可以參考這些信息。

JSON格式的文檔信息需要按照文檔內容(content)、文檔類型(file_type)、文檔名稱(filename)、文檔標題(title)的格式進行組織。請先將結構化的文檔信息轉換為JSON 字符串,再輸入System Message中。

簡單示例

Python

import os
import json
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),  # 替換成真實DashScope的API_KEY,如已配置API-KEY到環境變量請使用變量名(推薦)
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",  # 填寫DashScope服務endpoint
)

file_info = {
    # 全文內容省略,只做格式示意
    'content': '百煉X1 —— 暢享極致視界:搭載6.7英寸1440 x 3200像素超清屏幕,搭配120Hz刷新率...',
    'file_type': 'docx',
    'filename': '百煉系列手機產品介紹',
    'title': '百煉手機產品介紹'
}

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': '文章講了什么?'}
    ],
    stream=True
)
full_content = ""
for chunk in completion:
    if chunk.choices and chunk.choices[0].delta.content:
        full_content += chunk.choices[0].delta.content
        print(chunk.model_dump())

print({full_content})

curl

curl --location 'https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
    "model": "qwen-long",
    "messages": [
            {"role": "system", "content": "You are a helpful assistant."},
            {
                "role": "system",
                "content": "{\"content\": \"百煉X1 搭載6.7英寸1440 x 3200像素超清屏幕...\n\", \"file_type\": \"docx\", \"filename\": \"百煉系列手機產品介紹\", \"title\": \"百煉手機產品介紹\"}"
            },
            {"role": "user", "content": "文章講了什么?"}
        ],
    "stream": true,
    "stream_options": {
        "include_usage": true
    }
}'

傳入多文檔

Python

import os
import json
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
file_info_1 = {
    'content': '百煉X1————暢享極致視界:搭載6.7英寸1440 x 3200像素超清屏幕,搭配120Hz刷新率...',
    'file_type': 'pdf',
    'filename': 'test_case_1',
    'title': 'test_case_1'
}

file_info_2 = {
    'content': '星塵S9 Pro —— 創新視覺盛宴:突破性6.9英寸1440 x 3088像素屏下攝像頭設計:...',
    'file_type': 'pdf',
    'filename': 'test_case_2',
    'title': 'test_case_2'
}

# 首次對話會等待文檔解析完成,首輪響應時間可能較長
completion = client.chat.completions.create(
    model="qwen-long",
    messages=[
        {'role': 'system', 'content': 'You are a helpful assistant.'},
        {'role': 'system', 'content': json.dumps(file_info_1, ensure_ascii=False)},
        {'role': 'system', 'content': json.dumps(file_info_2, ensure_ascii=False)},
        {'role': 'user', 'content': '這兩篇文章討論的產品有什么異同點?'},
    ],
    stream=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.content
        print(chunk.model_dump())

print({full_content})

curl

curl --location 'https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
    "model": "qwen-long",
    "messages": [
            {"role": "system", "content": "You are a helpful assistant."},
            {
                "role": "system",
                "content": "{\"content\": \"百煉X1 搭載6.7英寸1440 x 3200像素超清屏幕...\n\", \"file_type\": \"pdf\", \"filename\": \"test_case_1\", \"title\": \"test_case_1\"}"
            },
            {
                "role": "system",
                "content": "{\"content\": \"星塵S9 Pro —— 創新視覺盛宴:突破性6.9英寸1440 x 3088像素...\n\", \"file_type\": \"pdf\", \"filename\": \"test_case_2\", \"title\": \"test_case_2\"}"
            },
            {"role": "user", "content": "這兩篇文章討論的產品有什么異同點?"}
        ],
    "stream": true,
    "stream_options": {
        "include_usage": true
    }
}'

追加文檔

在您與模型的交互過程中,可能需要補充新的文檔信息。您可以在Messages 數組中添加新的JSON格式化后的文檔內容到System Message中,來實現這一效果。

Python

import os
import json
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),  # 如果您沒有配置環境變量,請在此處替換您的API-KEY
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",  # 填寫DashScope服務base_url
)
# 初始化messages列表
file_info_1 = {
    'content': '星塵S9 Pro —— 創新視覺盛宴:突破性6.9英寸1440 x 3088像素屏下攝像頭設計,帶來無界視覺享受。',
    'file_type': 'pdf',
    'filename': 'test_case_1',
    'title': 'test_case_1'
}

file_info_2 = {
    'content': '百煉X1 —— 暢享極致視界:搭載6.7英寸1440 x 3200像素超清屏幕,搭配120Hz刷新率,流暢視覺體驗躍然眼前。',
    'file_type': 'pdf',
    'filename': 'test_case_2',
    'title': 'test_case_2'
}
messages = [
    {'role': 'system', 'content': 'You are a helpful assistant.'},
    {'role': 'system', 'content': json.dumps(file_info_1, ensure_ascii=False)},
    {'role': 'user', 'content': '這篇文章講了什么?'},
]

# 第一輪響應
completion_1 = client.chat.completions.create(
    model="qwen-long",
    messages=messages,
    stream=False
)

# 打印出第一輪響應
# 如果需要流式輸出第一輪的響應,需要將stream設置為True,并拼接每一段輸出內容,在構造assistant_message的content時傳入拼接后的字符
print(f"第一輪響應:{completion_1.choices[0].message.model_dump()}")

# 構造assistant_message
assistant_message = {
    "role": "assistant",
    "content": completion_1.choices[0].message.content}

# 將assistant_message添加到messages中
messages.append(assistant_message)
# 將追加文檔的信息添加到messages中
system_message = {
    'role': 'system',
    'content': json.dumps(file_info_2, ensure_ascii=False)
}
messages.append(system_message)

# 添加用戶問題
messages.append({
    'role': 'user',
    'content': '這兩篇文章討論的產品有什么異同點?'
})

# 追加文檔后的響應
completion_2 = client.chat.completions.create(
    model="qwen-long",
    messages=messages,
    stream=True,
    stream_options={"include_usage": True}
)

# 流式打印出追加文檔后的響應
print("追加文檔后的響應:")
for chunk in completion_2:
    print(chunk.model_dump()) 

curl

curl --location 'https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
    "model": "qwen-long",
    "messages": [
            {"role": "system", "content": "You are a helpful assistant."},
            {
                "role": "system",
                "content": "{\"content\": \"百煉X1 搭載6.7英寸1440 x 3200像素超清屏幕...\n\", \"file_type\": \"pdf\", \"filename\": \"test_case_1\", \"title\": \"test_case_1\"}"
            },
            {"role": "user", "content": "這篇文章講了什么?"},
            {
                "role": "system",
                "content": "{\"content\": \"星塵S9 Pro —— 創新視覺盛宴:突破性6.9英寸1440 x 3088像素...\n\", \"file_type\": \"pdf\", \"filename\": \"test_case_2\", \"title\": \"test_case_2\"}"
            },
            {"role": "user", "content": "這兩篇文章討論的產品有什么異同點?"}
        ],
    "stream": true,
    "stream_options": {
        "include_usage": true
    }
}'

限制

  • 文件上傳限制:文件格式支持常見的文本文件(txt、doc、docx、pdf、epub、mobi、md),單文件大小限制為150M,總量限制為1萬個文件,總文件大小限制為100G。更多文件上傳相關內容請參見上傳文件

  • 輸入限制:

    • 請避免直接將文檔內容放在roleusermessage中,用于role-playsystemusermessage限制輸入最長為9,000 Token(連續多條user message視為一條user message且長度限制在9,000 Token內)。

    • 通過 file-id 傳入文檔信息,并在 system 消息中使用返回的 file-id 時,content 的最大輸入限制可擴展至 10,000,000 Token,但 file-id 的數量限制為不超過 100 個。此外,文件的傳入順序將直接影響模型返回結果的順序。

  • 輸出限制:最大輸出為 6,000 Token。

  • 免費額度:100Token的免費額度僅在百煉開通后的180天內有效。使用超出免費額度的部分將按照相應的輸入輸出成本收費。

  • 調用限制:關于模型的限流條件,請參見限流

常見問題

  1. Dashscope SDK的調用方式是否兼容?

    是的,Dashscope SDK對模型調用仍然兼容,但文件上傳與file-id獲取目前只支持通過OpenAI SDK進行調用,且通過此方式獲得的file-idDashscope對模型進行調用所需要的file-id通用。

  2. Qwen-Long是否支持通System Message來指定模型行為?

    是的,Qwen-Long仍支持通過System Message標準化指定模型行為的功能,詳情請參照上方“通過API使用”部分。

  3. 如何在JSON格式中組織文檔信息?

    請參照上方通過JSON字符串傳入文檔信息部分,構造messages時,為避免格式問題,JSON格式的文檔信息應按照文檔內容(content)、文檔類型(file_type)、文檔名稱(filename)、文檔標題(title)的格式組織。

  4. Qwen-Long支持以流式回復嗎?

    通過對stream參數及stream_options配置選項字典中include_usage選項的配置,Qwen-Long模型會以流式的形式進行回復,并在最后返回的對象中通過usage字段展示token使用情況。

  5. Qwen-Long是否支持批量提交任務?

    是的,Qwen-Long 兼容 OpenAI Batch 接口,支持以文件方式批量提交任務。任務會以異步形式執行,并在 24 小時內返回結果。使用批量接口的費用為實時調用的 50%。

API參考

關于Qwen-Long模型的輸入與輸出參數,請參考通義千問

錯誤碼

以下是與Qwen-Long模型接口相關的特定狀態碼,詳細的公共錯誤碼請參見公共錯誤碼文檔。

狀態碼

接口錯誤信息(message)

(具體信息內容可能跟隨場景有所變化)

含義說明

400

Invalid file [id:xxx].

提供的文件id存在問題,請確保file-id正確無誤后再次進行調用。

400

Too many files provided.

提供的對話文檔數量大于等于100,請確保文檔數量符合要求后再次進行調用。

400

File [id:xxx] cannot be found.

輸入的文件已經被刪除,請嘗試再次上傳文檔后使用相對應的file-id再次進行調用。

400

File [id:xxx] exceeds size limit.

文檔大小超限,請確保文檔大小符合要求后再次進行調用。

400

File [id:xxx] exceeds page limits (15000 pages).

文檔頁數超限,請確保文檔頁數符合要求后再次進行調用。

400

Multiple types of file system prompt detected, please do not mix file-id and text content in one request.

輸入的文件中包含了file id 和文件內容兩種方式,當前暫不支持兩種方式混用,請統一輸入方式后再次進行調用。

400

File [id:xxx] format is not supported.

文檔格式不支持,請參考文件上傳限制確保文檔格式符合限制要求后再次進行調用。

400

File [id:xxx] content blank.

文檔內容為空,請確保文檔內容符合要求后再次進行調用。

400

Total message token length exceed model limit (10000000 tokens).

輸入的messages總長度超過了10,000,000 Token,請確保message長度符合要求后再次進行調用。

400

Single round file-content exceeds token limit, please use fileid to supply lengthy input.

輸入的單條message token數超過了9K,請確保message長度符合要求后再次進行調用。

400

Role specification invalid, please refer to API documentation for usage.

messages組裝格式存在問題,請參考上述參數描述與示例代碼進行參考。

400

File parsing in progress, please try again later.

文檔解析中,請稍后再試。

400

Input data may contain inappropriate content.

數據檢查錯誤,輸入包含疑似敏感內容被綠網攔截。

429

You exceeded your current requests list.

您超出了對模型訪問的限流值,請稍后再試。

500

File [id:xxx] parsing error.

文檔解析失敗。

500

File [id:xxx] prasing timeout.

文檔解析超時。

500

Preprocessor error.

大模型前處理錯誤。

500

Postprocessor error.

大模型后處理錯誤。

500

File content conversion error.

文檔message處理錯誤。

500

An unspecified internal error has occured.

調用大模型出現異常。

500

Response timeout.

處理超時,可重新嘗試調用。

503

The engine is currently overloaded, please try again later.

服務端負載過高,可稍后重新嘗試調用。