全部產品
Search
文件中心

PolarDB:通義千問大模型資料推理和互動

更新時間:Jul 06, 2024

本文介紹了如何通過擴充的SQL在PolarDB上使用通義千問大模型,並通過模型產生的資料來和資料庫中的資料進行互動。

簡介

通義千問大模型基於Transformer大語言模型,在超大規模的預訓練資料上進行訓練。預訓練資料類型多樣,覆蓋廣泛,包括大量網路文本、專業書籍、代碼等。

為了協助您更好地理解和使用PolarDB AIGC的相關功能,PolarDB for AI將阿里雲通義千問模型部署到了PolarDB上,作為PolarDB的一個內建模型。同時,PolarDB for AI擴充了SQL的文法,方便使用者在資料庫內調用通義千問。此外,PolarDB預置了一些情境,您可以按照本文檔的使用說明部分,實現開箱即用。

典型情境

  • 情感分析

    分析一句話的情感傾向。主要用於電商評論分析、新聞報道的傾向性分析、輿情分析等。

  • 產生正面/負面評價

    根據一篇內容,產生正面或者負面的評價。

  • 總結

    根據一篇內容,產生對這篇文章的總結。

  • 翻譯

    將一篇中文內容翻譯成英文,或者將其他語言(包括英文在內)的內容翻譯成中文。

  • 對話

    根據一段內容產生答案。這個內容也可以帶有一些顯式的提示(prompt),答案將根據提示(prompt)產生。

使用說明

文法

根據模型是否上傳並部署在PolarDB for AI上,可將通義千問模型推理分為線上推理和離線推理兩種方式。具體的文法說明如下:

--線上推理
/*polar4ai*/SELECT * FROM PREDICT (MODEL modelname, SELECT col FROM tablename) with ()
/*polar4ai*/SELECT * FROM PREDICT (MODEL modelname, SELECT text) with ()

--離線推理
/*polar4ai*/SELECT * FROM PREDICT (MODEL modelname, SELECT col FROM tablename) with (mode='async')
/*polar4ai*/SELECT * FROM PREDICT (MODEL modelname, SELECT text) with (mode='async')
說明

關於模型上傳和部署的更多細節,請參見模型使用流程及說明

參數說明

參數名稱

參數說明

tablename

表名。

col

表的列名,也是模型的輸入。

modelname

模型名稱,需要根據情境類型指定,取值如下:

  • 情感分析:_polar4ai_tongyi_sa

  • 產生正面/負面評價

    • 產生正面評價:_polar4ai_tongyi_p_comment

    • 產生負面評價:_polar4ai_tongyi_n_comment

  • 總結:_polar4ai_tongyi_summarize

  • 翻譯:

    • 翻譯成中文:_polar4ai_tongyi_tran_2_zh

    • 翻譯成英文_polar4ai_tongyi_tran_2_en

  • 對話:_polar4ai_tongyi

text

純文字。支援不建表直接執行,適合介面調用的情境。

mode

模式。

  • 取值為async時,表示離線推理;

  • 不設定該參數時,表示線上推理。

說明

更多關於線上推理和離線推理的使用說明,請參見模型推理

使用限制

  • 為了保證查詢效能,線上預測預設只支援對單條資料的處理。如果有多條資料,只會取第一條。離線預測可以預測多條資料。

  • 目前通義千問的token數為8000,但因為模型計算資源有限,如果結果不能在10秒內產生,則不會產生最終結果。這種情況下您可以增加AI節點,從而提高效能。

樣本

資料準備

  1. 執行如下SQL語句建立名為textinfo的表。

    CREATE TABLE IF NOT EXISTS textinfo (
        id INT NOT NULL,
        content TEXT NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  2. 分別執行如下SQL語句,在textinfo表中添加如下資料:

    INSERT INTO textinfo (id,content) VALUES (1,"這個東西只是看著還行,實際體驗上非常的不好,不推薦大家購買。")
    INSERT INTO textinfo (id,content) VALUES (2,"華為最新手機Mate 60 Pro自開賣後銷售火爆,目前已缺貨。知名分析師郭明錤周一發文稱,大幅提升Mate 60 Pro的出貨量預期,華為對於產業和股市的影響力不可忽視,這種影響力正在迴歸中。")
    INSERT INTO textinfo (id,content) VALUES (3,"今年暑期檔最大的變化是:好萊塢大片的失敗,與現實題材的國產片大行其道。
    過去,好萊塢大片講究炫目視效,在題材上以動作、奇幻、冒險為主,主要靠視覺轟炸。而在後疫情時代,觀眾則越來越關注現實的、切身的內容。
    今年的TOP 10電影,現實題材幾乎屠榜。
    《消失的她》捆綁反戀愛腦與泰國殺妻等熱門話題、《八角籠中》深度挖掘王寶強的人生經歷主打草根逆襲;《孤注一擲》則切中人們對電信詐騙、緬甸詐騙園、荷官設局等社會熱點的好奇;《熱烈》也聚焦了普通人、小人物的成長路線。
    回顧近幾年的中國電影市場,現實題材其實早就開始拔尖。
    2018年《我不是藥神》,以31億票房拿下當年暑期檔冠軍。2019年的《掃毒2》、2021年《怒火·重案》《中國醫生》,再到2022年的《人生大事》……還有其他檔期的《奇蹟·笨小孩》《我的姐姐》等等。")
    INSERT INTO textinfo (id,content) VALUES (4,"30個字以內回答我你是誰")

體驗通義千問模型推理

情境一:情感分析

分析一句話的情感傾向。主要用於電商評論分析、新聞報道的傾向性分析、輿情分析等。

/*polar4ai*/ SELECT * FROM PREDICT (MODEL _polar4ai_tongyi_sa, SELECT content FROM textinfo WHERE id=1) WITH ();

返回結果:

負向

情境二:產生正面/負面評價

根據一篇內容,產生正面或者負面的評價。

  • 產生正面評價:

    /*polar4ai*/SELECT * FROM PREDICT (MODEL _polar4ai_tongyi_p_comment, SELECT content FROM textinfo WHERE id=2) with ()

    返回結果:

    華為Mate 60 Pro自開賣後銷售火爆,顯示出消費者對於華為品牌的認可和支援。華為作為中國知名科技企業,其在手機市場上的表現一直備受關注。郭明錤的發文進一步證實了華為在產業和股市上的影響力,這表明華為正在逐步迴歸到其應有的地位。華為的影響力不僅體現在其產品銷售上,還體現在其對於整個科技產業和股市的推動作用。我們應該鼓勵和支援像華為這樣的優秀企業,促進中國科技產業的持續發展。
  • 產生負面評價:

    /*polar4ai*/SELECT * FROM PREDICT (MODEL _polar4ai_tongyi_n_comment, SELECT content FROM textinfo WHERE id=2) with ();

    返回結果:

    華為Mate 60 Pro的銷售火爆讓人感到意外,但同時也表明消費者對於華為品牌的認可度和支援度依然很高。然而,這也可能與當前全球科技市場的不穩定因素有關。華為作為一家中國公司,在國際市場上一直受到政治和經濟壓力,這可能會影響其銷售業績。此外,知名分析師郭明錤的言論可能過於樂觀,忽視了華為目前面臨的挑戰和困難。綜上所述,華為的影響力雖然在迴歸中,但其未來的市場表現仍需要謹慎對待。

情境三:總結

根據一篇內容,產生對這篇文章的總結。

/*polar4ai*/SELECT * FROM PREDICT (MODEL _polar4ai_tongyi_summarize, SELECT content FROM textinfo WHERE id=3) with ();

返回結果:

今年暑期檔最大的變化是現實題材電影大受歡迎,好萊塢大片則表現不佳。中國電影市場中,現實題材電影早已成為主流,包括《我不是藥神》、《掃毒2》、《怒火·重案》等多部影片都取得了高票房。

情境四:翻譯

將一篇中文內容翻譯成英文,或者將其他語言(包括英文在內)的內容翻譯成中文。

/*polar4ai*/SELECT * FROM PREDICT (MODEL _polar4ai_tongyi_tran_2_en, SELECT content FROM textinfo WHERE id=1) with ();

返回結果:

The item looks okay, but the actual experience is very poor. I don't recommend buying it.

情境五:對話

根據一段內容產生答案。這個內容也可以帶有一些顯式的提示(prompt),答案將根據提示(prompt)產生。

/*polar4ai*/SELECT * FROM PREDICT (MODEL _polar4ai_tongyi, SELECT content FROM textinfo WHERE id=4) with ();

返回結果:

我是阿里巴巴達摩院開發的一款超大規模語言模型,我叫通義千問。

此外,您也可以直接輸入文本,得到結果。例如對“情境五:對話”這個例子,也可以執行:

/*polar4ai*/SELECT * FROM PREDICT (MODEL _polar4ai_tongyi, SELECT '30個字以內回答我你是誰') with ();

返回結果:

我是阿里巴巴達摩院開發的一款超大規模語言模型,我叫通義千問。