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

使用函數(shù)計算部署通義千問大模型實現(xiàn)AI對話

更新時間:
一鍵部署
我的部署

通義千問是阿里云自主研發(fā)的大語言模型,能夠在用戶自然語言輸入的基礎上,通過自然語言理解和語義分析,在不同領域、任務內(nèi)為用戶提供服務和幫助。本文介紹如何通過函數(shù)計算實現(xiàn)基于通義千問的AI對話。

背景信息

通義千問模型接受用戶以文本形式的指令(prompt)以及不定輪次的對話歷史(history)作為輸入,并基于這些信息生成回復作為輸出。在這一過程中,文本將被轉換為語言模型可以處理的Token序列。Token是模型用來表示自然語言文本的基本單位,可以直觀地理解為“字”或“詞”。對于中文文本來說,1個Token通常對應一個漢字;對于英文文本來說,1個Token通常對應3至4個字母或1個單詞。例如,中文文本“你好,我是通義千問”會被轉換成序列['你', '好', ',', '我', '是', '通', '義', '千', '問'],而英文文本"Nice to meet you."則會被轉換成['Nice', ' to', ' meet', ' you', '.']。

由于模型調(diào)用的計算量與Token序列長度相關,輸入或輸出Token數(shù)量越多,模型的計算時間越長,我們將根據(jù)模型輸入和輸出的Token數(shù)量計費。可以從API返回結果的usage字段中了解到您每次調(diào)用時使用的Token數(shù)量。您也可以使用Token計算器或者調(diào)用Token計算API來預估文本對應的Token數(shù)量。

通義千問支持的模型如下:

旗艦模型

通義new 通義千問-Max

適合復雜任務,推理能力最強

通義new 通義千問-Plus

效果、速度、成本均衡

通義new 通義千問-Turbo

適合簡單任務,速度快、成本低

通義new Qwen-Long

支持長達千萬字文檔,成本低

API調(diào)用模型名

(穩(wěn)定版本)

qwen-max

qwen-plus

qwen-turbo

qwen-long

最大上下文長度

(Token數(shù))

32,768

131,072

1,000,000

10,000,000

最低輸入價格

(每千Token)

0.02元

0.0008元

0.0003元

0.0005元

最低輸出價格

(每千Token)

0.06元

0.002元

0.0006元

0.002元

前提條件

獲取API-KEY。登錄百煉控制臺,在右上角單擊image > API-KEY進入我的API-KEY頁面,獲取已有API-KEY或重新創(chuàng)建API-KEY。

image

步驟一:創(chuàng)建Web函數(shù)

  1. 登錄函數(shù)計算控制臺,在左側導航欄,單擊函數(shù),選擇地域,然后單擊創(chuàng)建函數(shù)

  2. 創(chuàng)建函數(shù)頁面,選擇Web函數(shù),重點設置以下配置項,然后單擊創(chuàng)建

    • 設置函數(shù)代碼、角色等相關配置。

      image

      image

    • 設置環(huán)境變量。變量DASHSCOPE_API_KEY的值為您從百煉控制臺獲取的API-KEY。

      image

步驟二:編寫并部署通義千問AI對話代碼

函數(shù)創(chuàng)建成功后,您可以開始編寫使用通義千問的AI對話代碼。

  1. 在函數(shù)詳情頁面,單擊代碼頁簽,在代碼編輯器中編寫代碼。

    以下代碼是以Python為例,通過調(diào)用通義千問模型對一個用戶指令進行響應。

    通過messages調(diào)用

    說明

    當前示例代碼支持一鍵部署,您可以單擊右側按鈕,然后根據(jù)提示完成一鍵部署。如果您選擇一鍵部署當前應用,則無需再手動執(zhí)行安裝DashScope SDK等操作。start-qwen-api-messages

    import dashscope
    import random
    
    from flask import abort
    from flask import Flask
    from flask import request
    from http import HTTPStatus
    
    app = Flask(__name__)
    
    
    def call_with_messages(content):
        messages = [{'role': 'system', 'content': 'You are a helpful assistant.'},
                    {'role': 'user', 'content': content}]
        response = dashscope.Generation.call(
            dashscope.Generation.Models.qwen_turbo,
            messages=messages,
            # set the random seed, optional, default to 1234 if not set
            seed=random.randint(1, 10000),
            result_format='message',  # set the result to be "message" format.
        )
        if response.status_code == HTTPStatus.OK:
            print(response)
        else:
            print('Request id: %s, Status code: %s, error code: %s, error message: %s' % (
                response.request_id, response.status_code,
                response.code, response.message
            ))
        return response
    
    
    @app.route("/invoke", methods=['POST', 'GET'])
    def index():
        bytes = request.stream.read()
        if bytes:
            payload = str(bytes, encoding='utf-8')
            print("Request Payload: " + payload)
            return call_with_messages(payload)
        else:
            abort(403)
    
          
    if __name__ == "__main__":
        app.run(host="0.0.0.0", port=9000)

    通過prompt調(diào)用

    說明

    當前示例代碼支持一鍵部署,您可以單擊右側按鈕,然后根據(jù)提示完成一鍵部署。如果您選擇一鍵部署當前應用,則無需再手動執(zhí)行安裝DashScope SDK等操作。start-qwen-api-prompt

    import dashscope
    import random
    
    from flask import abort
    from flask import Flask
    from flask import request
    from http import HTTPStatus
    
    app = Flask(__name__)
    
    
    def call_with_prompt(prompt):
        response = dashscope.Generation.call(
            model=dashscope.Generation.Models.qwen_turbo,
            prompt=prompt
        )
        # The response status_code is HTTPStatus.OK indicate success,
        # otherwise indicate request is failed, you can get error code
        # and message from code and message.
        if response.status_code == HTTPStatus.OK:
            print(response.output)  # The output text
            print(response.usage)  # The usage information
        else:
            print(response.code)  # The error code.
            print(response.message)  # The error message.
        return response
    
    
    @app.route("/invoke", methods=['POST', 'GET'])
    def index():
        bytes = request.stream.read()
        if bytes:
            payload = str(bytes, encoding='utf-8')
            print("Request Payload: " + payload)
            return call_with_prompt(payload)
        else:
            abort(403)
    
       
    if __name__ == "__main__":
        app.run(host="0.0.0.0", port=9000)
  2. 在WebIDE的終端窗口,執(zhí)行pip3 install dashscope -t .安裝DashScope SDK,執(zhí)行完成后單擊部署代碼

    image

步驟三:測試函數(shù)

在函數(shù)詳情頁面,單擊測試頁簽,填寫事件名稱和事件內(nèi)容,然后單擊測試函數(shù),執(zhí)行完成后,可以直接查看執(zhí)行結果。

image

本文事件內(nèi)容以"如何做西紅柿燉牛腩?"為例,測試函數(shù)的返回結果如下:

通過messages調(diào)用

{
    "code": "",
    "message": "",
    "output": {
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "content": "材料:\n牛腩500克、西紅柿2個、大蔥1根、生姜3片、大蒜2瓣、八角1顆、香葉2片、干辣椒4個、料酒1勺、生抽1勺、老抽1勺、白糖1小勺、食鹽適量、清水適量。\n\n做法:\n1. 牛腩切塊,冷水入鍋,加入料酒焯水,撇去浮沫后撈出瀝水備用。\n2. 熱鍋涼油,放入大蔥、姜片、蒜瓣、八角、香葉和干辣椒煸炒出香味。\n3. 加入西紅柿翻炒至軟爛出汁。\n4. 放入牛腩塊繼續(xù)翻炒均勻,加入生抽、老抽和白糖調(diào)味。\n5. 倒入足夠的清水,大火燒開后轉中小火慢燉1小時左右,至牛腩熟透且湯汁濃稠。\n6. 最后加入適量的食鹽調(diào)味即可。",
                    "role": "assistant"
                }
            }
        ],
        "finish_reason": null,
        "text": null
    },
    "request_id": "61dbd6b0-810b-9115-ad26-65e9ba93f84d",
    "status_code": 200,
    "usage": {
        "input_tokens": 15,
        "output_tokens": 212,
        "total_tokens": 227
    }
}

通過prompt調(diào)用

{
    "code": "",
    "message": "",
    "output": {
        "choices": null,
        "finish_reason": "stop",
        "text": "\n\n做西紅柿燉牛腩的步驟如下:\n\n所需材料:\n- 牛腩500克\n- 西紅柿3個\n- 姜片適量\n- 大蔥段適量\n- 料酒適量\n- 生抽適量\n- 紅糖適量\n- 八角2顆\n- 桂皮1小塊\n- 食鹽適量\n- 清水適量\n\n步驟:\n\n1. 牛腩切塊,放入開水中焯水,撈出洗凈備用。\n\n2. 熱鍋涼油,加入姜片和大蔥段炒香。\n\n3. 加入牛腩翻煎至兩面微黃。\n\n4. 加入料酒、生抽、紅糖、八角和桂皮繼續(xù)翻煎。\n\n5. 加入足夠的清水,水量要蓋過牛腩,大火燒開后撇去浮沫。\n\n6. 改為中小火慢燉1小時左右,直到牛腩變得軟爛。\n\n7. 在燉煮過程中可以適當調(diào)整味道,如加鹽等。\n\n8. 西紅柿切成塊,放入燉好的牛腩中再煮約10分鐘即可。\n\n9. 出鍋前可撒上一些蔥花點綴。\n\n以上就是做西紅柿燉牛腩的詳細步驟。希望對你有所幫助!"
    },
    "request_id": "a9a5f430-745d-9f5d-b406-8588978f638b",
    "status_code": 200,
    "usage": {
        "input_tokens": 8,
        "output_tokens": 278,
        "total_tokens": 286
    }
}

測試完成后,如果您暫時不需要使用此應用,請及時刪除應用以及關聯(lián)的其他資源。

相關文檔