【Hugging Face】Ep.8 專業的標準化推理家(Inference API)

更新於 發佈於 閱讀時間約 7 分鐘
圖片來源

圖片來源

前面幾個篇章已經大致上介紹了Hugging Face這個平台的一些基本概念了,既然我們都能夠在平台上找到各式各樣的模型,而且也能夠照著教學一步步的來下載並使用,但有沒有更簡單的方式呢?

比如說,我們專注在應用端上的開發,AI的推理就藉由平台進行呢? 答案肯定是有的,近期越來越多開源的平台也都開放這種便利的方式供給我們存取,一旦我們與它綁的越深它就越容易向我們收取部分的費用來進行獲利的商業模式,就是一種升級解鎖的概念,提供適度免費可用的使用方式,想要更加方便就是付費。

Hugging Face提供了Inference API,透過標準化的規則制定,讓模型的上傳者以標準的格式進行擺放,而使用者也能夠較簡易、少部分修改的存取這些API來完成AI的應用,那這些API怎麼用呢? 收費狀況又是如何呢? 我們將陸續的來進行介紹。

讓新手領航員帶你導覽API…

基本上許多的模型上傳者都已經有照著平台上的規範擺放正確的模型,並提供如何使用API,如果還不知道怎麼使用模型的話,歡迎參考「【Hugging Face】Ep.1 平凡人也能玩的起的AI平台」,接著我們實際找一個模型來看看它的API長怎樣吧!

首先來找個模型,這次找到「csebuetnlp/mT5_multilingual_XLSum

圖片來源

圖片來源

找到之後我們點選右上方的「Deploy」 → 「Inference API」就可以看到如何使用了。

圖片來源

圖片來源

API架構說明

第一步我們需要透過**Model Hub**來找尋模型,基本上API的入口URL結構為:

# 以上述範例來說為: 
# <https://api-inference.huggingface.co/models/csebuetnlp/mT5_multilingual_XLSum>
ENDPOINT = <https://api-inference.huggingface.co/models/><MODEL_ID>

底下是一個針對於「summarization」類型任務的API樣版,已經附上註解,再請細細品嘗:

❗ API_TOKEN記得填入, 請至: https://huggingface.co/docs/hub/security-tokens,依照教學進行帳號的註冊與Token的申請。

https://huggingface.co/settings/tokens

除了python語言之外,也提供javascript與cURL,那這邊就先以python進行說明。

輸入的文章摘取自: https://www.ithome.com.tw/news/157763

import requests

# 就是所謂的ENDPOINT
API_URL = "<https://api-inference.huggingface.co/models/csebuetnlp/mT5_multilingual_XLSum>"

# API_TOKEN的部分請至: <https://huggingface.co/docs/hub/security-tokens>
headers = {"Authorization": f"Bearer {API_TOKEN}"}

# 包裝成一個query函式,並設計好請求的payload data
def query(payload):
response = requests.post(API_URL, headers=headers, json=payload)
return response.json()

# 呼叫query函式並帶入payload進行API請求,最終得到推理結果
output = query({
"inputs": "在接獲美國政府用戶通報下,微軟發現中國駭客組織利用所獲得的一個微軟帳號(MSA)消費者簽章金鑰來偽造身分認證權杖,以存取使用Outlook Web Access in Exchange Online(OWA)及Outlook.com的用戶,估計影響歐美地區的25個政府組織與相關個人",
})

並得到以下結果:

[{'summary_text': '美國電腦巨頭微軟發現中國黑客組織利用個人簽章金鑰來偽造身分認證權杖,影響歐美地區的25個政府組織。'}]

其它不同的任務有不同的樣板,請參考「Detailed parameters」。

真有這麼佛心?

圖片來源

圖片來源

我們可以看到雖然免費使用,但卻有速率上的限制,但對於一般的小應用來說已經足夠使用,不過基本上推理的部分是由CPU運算,因此效能可能不是我們所滿意的結果,如果需要更強大的功能請參考「Inference Endpoints」後面的篇章我們再來針對這個部分進行詳解。

今天的範例都在這裡「📦huggingface/huggingface_ep8_inference_api.ipynb」歡迎自行取用。

如何使用請參閱「【Google Colab系列】台股分析預備式: Colab平台與Python如何擦出火花?」。

結語

目前的Hugging Face平台看起來還蠻佛心的,以開源共享為主,但曾經的MongoDB、Elasticsearch也是如此,可惜到最後仍逐漸走向商業化,甚至雲端訂閱才能享受到強大功能,不知道未來的Hugging Face走向會不會也是如此,但這也是必然的,否則怎麼養得起那麼多的員工呢?

既然現在有了這些方便的API,那我們不妨好好的享用一番,簡單的使用API來兜出我們的應用,像是串接Line Bot、手機APP…等AI輔助工具,後續也將撰寫一篇實戰篇來結合AI應用。

喜歡撰寫文章的你,不妨來了解一下:

Web3.0時代下為創作者、閱讀者打造的專屬共贏平台 - 為什麼要加入?

歡迎加入一起練習寫作,賺取知識!


更多關於【Hugging Face 系列】…

avatar-img
118會員
266內容數
哈囉,我是阿Han,是一位 👩‍💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
阿Han的沙龍 的其他內容
我們過往介紹了幾個關於文字AI應用的篇章: 【Hugging Face】Ep.5 文字世界中的超能力語言英雄(Named Entity Recognition) 【Hugging Face】Ep.6 解決問題的專業級破關知識家(Question Answering) 但單獨的文字應用似乎不太能
圖片來源… 🔍 Huggingface dataset map increase disk space 我們在「【Hugging Face】Ep.3 前往Datasets掏金趣」有稍微介紹過Dataset在Hugging Face裡面扮演著什麼樣的角色,以及如何使用,沒錯! 它非常的好用,也很
我們已經介紹過關於Transformer模型的平台「【Hugging Face】Ep.1 平凡人也能玩的起的AI平台」,而操作的過程中相信也會有不少玩家會遇到這樣的狀況,因此將遇到的問題整理並分享解決方法,讓需要的朋友可以參考一下。 問題 Input type (torch.FloatTen
回顧上一個篇章「【自然語言處理NLP】初探強大的工具庫spaCy, 讓機器讀懂我們的語言」我們初步學習spaCy這套工具,在尾端進行NER時我們也發現到現有的NER模型並沒有辦法滿足我們的需求, 導致有一些實體未被識別出來, 因此這次的任務就是設法進行訓練, 讓我們想要被識別的實體可以被進行識別。
上一篇章我們有提到「【AI幫幫忙】機器如何識別我們的特徵?關鍵的Named Entity Recognition(NER)技術」, 而NER是NLP自然語言處理的一部分, 而這一個篇章我們會以實作的形式來介紹自然語言處理中非常好用的一套工具「spaCy」,spaCy被廣泛用於各種NLP任務,包括自然
QA問答是自然語言處理NLP中蠻困難的一項任務, 必須從一段文本中識別出使用者的提問,像搜尋引擎就是一種QA的應用, 從眾多的問題中找答案, 那就讓我們親手來打造一下自己專屬的QA系統吧! 找看看有哪些可用模型 在「【Hugging Face】Ep.3 前往Dataset掏金趣」我們有介紹過Hu
我們過往介紹了幾個關於文字AI應用的篇章: 【Hugging Face】Ep.5 文字世界中的超能力語言英雄(Named Entity Recognition) 【Hugging Face】Ep.6 解決問題的專業級破關知識家(Question Answering) 但單獨的文字應用似乎不太能
圖片來源… 🔍 Huggingface dataset map increase disk space 我們在「【Hugging Face】Ep.3 前往Datasets掏金趣」有稍微介紹過Dataset在Hugging Face裡面扮演著什麼樣的角色,以及如何使用,沒錯! 它非常的好用,也很
我們已經介紹過關於Transformer模型的平台「【Hugging Face】Ep.1 平凡人也能玩的起的AI平台」,而操作的過程中相信也會有不少玩家會遇到這樣的狀況,因此將遇到的問題整理並分享解決方法,讓需要的朋友可以參考一下。 問題 Input type (torch.FloatTen
回顧上一個篇章「【自然語言處理NLP】初探強大的工具庫spaCy, 讓機器讀懂我們的語言」我們初步學習spaCy這套工具,在尾端進行NER時我們也發現到現有的NER模型並沒有辦法滿足我們的需求, 導致有一些實體未被識別出來, 因此這次的任務就是設法進行訓練, 讓我們想要被識別的實體可以被進行識別。
上一篇章我們有提到「【AI幫幫忙】機器如何識別我們的特徵?關鍵的Named Entity Recognition(NER)技術」, 而NER是NLP自然語言處理的一部分, 而這一個篇章我們會以實作的形式來介紹自然語言處理中非常好用的一套工具「spaCy」,spaCy被廣泛用於各種NLP任務,包括自然
QA問答是自然語言處理NLP中蠻困難的一項任務, 必須從一段文本中識別出使用者的提問,像搜尋引擎就是一種QA的應用, 從眾多的問題中找答案, 那就讓我們親手來打造一下自己專屬的QA系統吧! 找看看有哪些可用模型 在「【Hugging Face】Ep.3 前往Dataset掏金趣」我們有介紹過Hu
本篇參與的主題活動
在生成式AI與大型語言模型(Large Language Model, LLM)蓬勃發展下,有許多工具可以幫助我們學習與撰寫程式,這篇文章提供了實作範例與一些經驗,分享如何使用ChatGPT(免費的GPT-3.5)協助程式語言的學習,並且完成屬於自己的程式。
前幾個禮拜,AWS 舉行 Startup Day Taiwan。想當然爾,最熱門的主題非生成式 AI (Generative AI) 莫屬。既然 AWS 有現成的工具,身為一名工程師,自然看看無妨,這篇文章算是新手開箱文,會說明如何部署一套基礎模型,並使用 AWS SDK 與其互動。
前言 我在工作中沒有什麼機會接觸到機器學習,學生時期也沒有學習過相關知識。 作為一個業餘小白,我對機器學習非常感興趣。在自學的過程中,我逐漸意識到利用機器學習可以做很多有趣的事情。 因此,我決定嘗試使用 AWS SageMaker JumpStart 來實驗文字生成式繪圖 AI ,以了解機
最近玩到了一個我覺得很新奇有趣的軟體,叫做SillyTavern。 SillyTavern是專用於創建虛擬角色的AI聊天軟體,SillyTavern是TavernAI的分支,但SillyTavern走上了自己的路,加進了許多額外功能,並且仍在積極的持續更新中。 然後,可以色色!
「Prompt」這個詞是提示的意思,但為什麼需要提示呢? 當AI不理解我們的時候,勢必給出的回應並非準確的為我們解答,因此一個好的提示是非常重要的,就如同我們人與人之間的溝通一樣,如何將自己心裡的疑惑轉化成好的問題來提問對方,讓對方理解,進而給出一個明確的答案,這就是提示(Prompt)的重要性,對
在生成式AI與大型語言模型(Large Language Model, LLM)蓬勃發展下,有許多工具可以幫助我們學習與撰寫程式,這篇文章提供了實作範例與一些經驗,分享如何使用ChatGPT(免費的GPT-3.5)協助程式語言的學習,並且完成屬於自己的程式。
前幾個禮拜,AWS 舉行 Startup Day Taiwan。想當然爾,最熱門的主題非生成式 AI (Generative AI) 莫屬。既然 AWS 有現成的工具,身為一名工程師,自然看看無妨,這篇文章算是新手開箱文,會說明如何部署一套基礎模型,並使用 AWS SDK 與其互動。
前言 我在工作中沒有什麼機會接觸到機器學習,學生時期也沒有學習過相關知識。 作為一個業餘小白,我對機器學習非常感興趣。在自學的過程中,我逐漸意識到利用機器學習可以做很多有趣的事情。 因此,我決定嘗試使用 AWS SageMaker JumpStart 來實驗文字生成式繪圖 AI ,以了解機
最近玩到了一個我覺得很新奇有趣的軟體,叫做SillyTavern。 SillyTavern是專用於創建虛擬角色的AI聊天軟體,SillyTavern是TavernAI的分支,但SillyTavern走上了自己的路,加進了許多額外功能,並且仍在積極的持續更新中。 然後,可以色色!
「Prompt」這個詞是提示的意思,但為什麼需要提示呢? 當AI不理解我們的時候,勢必給出的回應並非準確的為我們解答,因此一個好的提示是非常重要的,就如同我們人與人之間的溝通一樣,如何將自己心裡的疑惑轉化成好的問題來提問對方,讓對方理解,進而給出一個明確的答案,這就是提示(Prompt)的重要性,對
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
AI 社群中的知名平臺,專注於自然語言處理 (NLP) 模型,特別是 Transformer。它提供開源資源、豐富的模型庫和友善的開發者體驗,讓研究者和開發者能輕易地取得和使用 AI 模型。活躍的社群促進了知識分享與合作,使 Hugging Face 成為 AI 開發者的重要工具。
Thumbnail
※ 什麼是Web API API 就是後端開出來讓前端來用的介面,讓前端與後端可以溝通。 API流程: 終端使用者用任何一種裝置進入瀏覽器。 瀏覽器透過 API 向後端發出請求,請求查詢或修改資料。 後端透過 API 收到前端的請求後,取得資料並回應給前端。 前端渲染畫面,終端使用者
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformer 的重要性已經被公認了,因此在 Hugging Face 中亦有被實作,呼叫方式如下: !pip -q install transformers
Thumbnail
Enhance This HiDiffusion SDXL是一個AI模型,結合HiDiffusion和SDXL兩種圖像生成模型,可以根據既有影像和文字描述生成新的圖像,可用來提高圖像解析度、修復瑕疵、轉換風格和自由創造新的圖像。
延續使用Meta釋出的模型,實作Chat GPT - Part 2 我們已經確定可以進入HuggingFace之後,就要來載入模型,其對應程式為: Model_Config = transformers.AutoConfig.from_pretrained( Mode
第一步先在Python環境中安裝本次專案需要用到的Library,相關指令如下: !pip install accelerate==0.21.0 !pip install transformers==4.31.0 !pip install tokenizers==0.13.3 !pip insta
Thumbnail
隨著人工智能技術的發展,AI 繪圖已經變得常見。Fast Stable Diffusion XL on TPUv5e 是在 Hugging Face 平臺上建立的演示模型,使用 TPU v5e 運行 SDXL 模型,大幅提高了圖像生成速度,生成一張 1024x1024 圖像只需約 10 秒。
Thumbnail
先前幾篇筆記介紹了網路請求,瀏覽器儲存資料的方式,那麼實務上,前端最常需要發送網路請求的時候,就是透過呼叫 API,去向後端工程師發送/請求資料,所以今天來記錄什麼是 API吧!
Thumbnail
本文主要應用deepface的正面(frontal)人臉檢測的預設模型,使用analyze 函數,用於分析一張人臉圖像的情感(emotion)。 在Colab上實現,若用其他平台需稍微修改程式碼。 Deepface Deepface是一個輕量級的Python人臉辨識和臉部屬性分析
Thumbnail
本篇筆記了如何使用Google Colab和OpenAI的Whisper Large V3進行免費且開源的語音辨識。涵蓋從基礎設定到實際運用的步驟,適合初學者和技術愛好者輕鬆學習語音辨識技術。
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
AI 社群中的知名平臺,專注於自然語言處理 (NLP) 模型,特別是 Transformer。它提供開源資源、豐富的模型庫和友善的開發者體驗,讓研究者和開發者能輕易地取得和使用 AI 模型。活躍的社群促進了知識分享與合作,使 Hugging Face 成為 AI 開發者的重要工具。
Thumbnail
※ 什麼是Web API API 就是後端開出來讓前端來用的介面,讓前端與後端可以溝通。 API流程: 終端使用者用任何一種裝置進入瀏覽器。 瀏覽器透過 API 向後端發出請求,請求查詢或修改資料。 後端透過 API 收到前端的請求後,取得資料並回應給前端。 前端渲染畫面,終端使用者
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformer 的重要性已經被公認了,因此在 Hugging Face 中亦有被實作,呼叫方式如下: !pip -q install transformers
Thumbnail
Enhance This HiDiffusion SDXL是一個AI模型,結合HiDiffusion和SDXL兩種圖像生成模型,可以根據既有影像和文字描述生成新的圖像,可用來提高圖像解析度、修復瑕疵、轉換風格和自由創造新的圖像。
延續使用Meta釋出的模型,實作Chat GPT - Part 2 我們已經確定可以進入HuggingFace之後,就要來載入模型,其對應程式為: Model_Config = transformers.AutoConfig.from_pretrained( Mode
第一步先在Python環境中安裝本次專案需要用到的Library,相關指令如下: !pip install accelerate==0.21.0 !pip install transformers==4.31.0 !pip install tokenizers==0.13.3 !pip insta
Thumbnail
隨著人工智能技術的發展,AI 繪圖已經變得常見。Fast Stable Diffusion XL on TPUv5e 是在 Hugging Face 平臺上建立的演示模型,使用 TPU v5e 運行 SDXL 模型,大幅提高了圖像生成速度,生成一張 1024x1024 圖像只需約 10 秒。
Thumbnail
先前幾篇筆記介紹了網路請求,瀏覽器儲存資料的方式,那麼實務上,前端最常需要發送網路請求的時候,就是透過呼叫 API,去向後端工程師發送/請求資料,所以今天來記錄什麼是 API吧!
Thumbnail
本文主要應用deepface的正面(frontal)人臉檢測的預設模型,使用analyze 函數,用於分析一張人臉圖像的情感(emotion)。 在Colab上實現,若用其他平台需稍微修改程式碼。 Deepface Deepface是一個輕量級的Python人臉辨識和臉部屬性分析
Thumbnail
本篇筆記了如何使用Google Colab和OpenAI的Whisper Large V3進行免費且開源的語音辨識。涵蓋從基礎設定到實際運用的步驟,適合初學者和技術愛好者輕鬆學習語音辨識技術。