
使用NestJS和Prisma構建REST API:身份驗證
環境要求與配置
!pip install erniebot==0.3.1
調用文心一言大模型功能是收費服務,所以使用EB SDK需要認證鑒權。
EB SDK認證鑒權主要是設置后端和access token,分別通過api_type
和access_token
參數來指定。
此處,我們使用aistudio
后端。在AI Studio個人中心的訪問令牌頁面,大家可以獲取aistudio
后端的access token,然后填入下面代碼中(替換{YOUR-ACCESS-TOKEN}
)。
請注意:
aistudio
后端的access token對應大家的個人賬戶,目前每個賬戶有100萬token的免費額度,可以用于EB SDK調用文心一言大模型。ERNIE Bot SDK是文心&飛槳官方提供的Python軟件開發工具包,簡稱EB SDK。
https://aistudio.baidu.com/projectdetail/6779542
環境要求與配置
使用AIStudio實現,通過文心一言API接口調用文心一言大語言模型,并使用適當的Prompt來輔進行開發。
本項目由于要調用文心一言API接口,所以要申請文心一言的API key與secret key。
下面這些代碼通過百度AI平臺的接口,使用文心一言(ERNIE Bot)語言模型進行文本處理。在導入所需庫后它首先獲取訪問令牌(access_token),然后定義待處理的文本內容和主函數main(),隨后使用requests庫發送POST請求,最后提取相應結果并進行打印輸出。整個過程使用了requests庫和json庫來處理
請求和JSON數據。我們首先定義如下函數,在之后的prompt案例中,我們只需要更換內容,再調用以下函數即可。
PP-OCR技術在很多領域都有廣泛的應用,如自動化錄入、數據統計、檔案管理等。它可以將紙質文檔快速準確地轉化為數字化信息,大大提高了工作效率和便利性。然而,需要注意的是,PP-OCR技術還存在著一些挑戰,例如對于手寫字體、復雜排版或圖像質量的識別準確性可能有所限制。
環境搭建
!pip install paddleocr -i https://mirror.baidu.com/pypi/simple
由于直接使用OCR輸出結果進行文本分析和抽取效果不佳,并且存在大量無關內容,影響大模型的處理速度,因此我們將識別出的內容進行整理,以便后續使用。我們注意到,OCR輸出的結果被存儲在變量ocr_result1
中,這是我們進行內容整理的基礎。
2.2截至報告期末的普通股股東總數,前十名普通股股東、前十名無限售條件的普通 股股東的持股情況 單位:股 股東總數(戶) 75,103 前十名股東持股情況 持有有限售條 質押或凍結情況 股東名稱 期末持股數量 比例 件股份數量 股東性質 股份狀態 數量 成都交子金融控股集團 有限公司 652,418.000|18.0613% 652,418,000 國有法人 Hong Leong Bank Berhad 650,000,000|17.9943% 650,000,000 境外法人 渤海產業投資基金管理 240,000,000 6.6441% 240,000,000 境內非國有法人 有限公司 成都工投資產經營有限 公司 180,600,242 4.9997% 0 國有法人 北京能源集團有限責任 公司 160,000,000 4.4294% 160,000,000 國有法人 成都欣天頤投資有限責 任公司 124,194,000 3.4381% 0 國有法人 上海東昌投資發展有限 公司 120,000,000 3.3220% 0 凍結 50.000.000境內非國有法人 新華文軒出版傳媒股份 有限公司 80,000,000 2.2147% 國有法人 四川新華發行集團有限 公司 71,243,800 1.9723% 0 國有法人 成都市協成資產管理有 限責任公司 71,154,900 1.9698% 0 國有法人
使用文心一言初步對提取數據進行了處理。
請你幫我分析前十名普通股東持股情況中,持股比例最多的是哪個?
使用文心千帆調用文心一言API實現
現在的任務是從OCR文字識別的結果中提取我指定的關鍵信息。OCR的文字識別結果使用符號包圍,包含所識別出來的文字,順序在原始圖片中從左至右、從上至下。我指定的關鍵信息使用[]符號包圍。請注意OCR的文字識別結果可能存在長句子換行被切斷、不合理的分詞、對應錯位等問題,你需要結合上下文語義進行綜合判斷,以抽取準確的關鍵信息。輸出為json中文格式。
由于直接使用OCR輸出結果進行文本分析和抽取效果不佳,并且存在大量無關內容,影響大模型的處理速度,因此我們將識別出的內容進行整理,以便后續使用。我們注意到,OCR輸出的結果被存儲在變量ocr_result2中,這是我們進行內容整理的基礎。
READ AND SAVE THE INSTrUCTION IMPORTANT SAFETY NOTES Thisproductshouldonlybeusedinaccordancewiththespecificationsoutlinedinthismanual. Usageother thanwhathasbeenspecifiedheremayresultinseriousinjury.Whileusingelectronic appliances,basicprecautionsshouldalwaysbefollowedtoreducetheriskoffire,electricshock and bodyinjuryincluding thefollowing: BeforeUse Thls appllancehasapolarlzedplug(oneblade Iswlderthan theother).To Please do not use the devlce when you use bug spray. reduce the rlsk electrlc shock, thls plug Is Intended to fit In a polarlzed To avold any electrlc shock,flre dlsaster or any other damages, outlet only one way,ifthe plug does not ft fully In outlet,reverse the plug. If It stll does not fit, contact a qualfed electrlclan. temperature, wet places, such as bathroom, etc. ●WARNING: To Reduce The Risk Of Fire or Electrlc Shock, Do Not Use Thls Fan With Any Solld-State Speed Control Devlce ●To avold fre or shock hazard, plug the appllance dlrectly lnto a 120V AC NoticeofCleani
使用AI Studio提供的文心一言SDK實現
根據提供的OCR文字識別結果,以下是我提取的關鍵信息:
“`json
{
“重要安全說明”: [
“僅按本手冊中的說明使用該產品,否則可能導致嚴重傷害。”,
“使用電子設備時,應始終遵循基本預防措施以減少火災、電擊和人身傷害的風險,包括以下內容:”,
“使用前:請勿在浴室等潮濕位置使用該設備。”,
“警告:為減少火災或電擊的風險,請勿將本風扇與任何固態速度控制裝置一起使用。”,
“清潔說明:請勿使用腐蝕性化學品清潔電源插頭或電源線,以免造成損壞、電擊或火災。”,
“存儲說明:請將設備存放在干燥的地方,并遠離易燃和可燃物品。”,
“使用提示:請勿將設備放在熱源(如爐子或任何有可燃氣體泄漏的地方)附近。”,
“使用限制:如果電源線或任何機器部件損壞,必須由制造商、其服務代理或合格人員更換,以避免危險。”,
“限制使用:本產品所提供的線纜含有化學品,如果設備在運行時產生特殊氣味,請勿在有自由基、鉛或鎘化合物的地方使用。”,
“加州法規提案65:在使用后,請立即洗手。”
]
}“`
使用文心千帆調用文心一言API實現
{“id”:”as-kadxxnsg46″,”object”:”chat.completion”,
“created”:1697467921,”result”:”根據您提供的OCR文字識別結果,
以下是抽取的關鍵信息:\n\n“`json\n{\n
\”問題\”: \”產品是否可以放到潮濕的地方?\”,\n
\”回答\”: \”不可以。產品應僅按照本手冊中說明的規格使用。
除指定使用外,使用可能導致嚴重傷害。在潮濕的地方使用可能會導致火災、
電擊和身體傷害的風險。\”\n}\n“`”,”is_truncated”:false,
“need_clear_history”:false,”usage”:{“prompt_tokens”:912,
“completion_tokens”:103,”total_tokens”:1015}}
=======================================
可以看到,使用文心千帆調用文心一言API,也對我們的問題作出了回答,完成了我們的基本任務。
本文章轉載微信公眾號@機器學習AI算法工程