
如何快速實現REST API集成以優化業務流程
我們可以在這個頁面中上傳圖片,然后就可以看到模型進行推理運行,等一會后推理結果就出來了,如下圖所示:
推理結果為:”a dog wearing a santa hat and a red scarf”(一只狗戴著圣誕老人的帽子和紅色的圍巾)
頁面小組件的方式是 HuggingFace 自動幫助模型創建的,具體的信息可以參考這里[2]。
另外一種方式是通過代碼對推理 API 進行調用,在右側的Deploy
菜單中選擇Inference API
,如下圖所示:
打開菜單后可以看到幾種代碼調用方式,分別有 Python, JavaScript 和 Curl:
這里我們選擇 Curl 方式來進行調用,我們可以直接復制界面上的 Curl 命令,注意其中包含了我們的 API token,所以不要隨意分享出去,然后在終端上執行命令,就可以看到預測結果了:
$ curl https://api-inference.huggingface.co/models/Salesforce/blip-image-captioning-base \
-X POST \
--data-binary '@dogs.jpg' \
-H "Authorization: Bearer hf_xxxxxxxxxxxxxxxxxxxxxx"
# 輸出結果
[{"generated_text":"a dog wearing a santa hat and a red scarf"}]%
推理 API 雖然方便,但推理 API 一般用于測試和驗證,由于速率限制,官方不推薦在生產環境中使用,而且也不是所有模型都有提供推理 API。如果想要在生產環境部署一個專屬的推理 API 服務,我們可以使用 HuggingFace 的推理端點(Endpoint)。
推理端點的部署也比較簡單,首先在Deploy
菜單中選擇Inference Endpoints
,如下圖所示:
打開菜單后可以看到新建推理端點的界面,如下圖所示:
2
中的下拉框進行選擇。Protected
、Public
和Privaate
信息確認無誤后點擊Create Endpoint
按鈕創建推理端點,創建成功后可以進入推理端點的詳情頁面看到如下信息:
其中Endpoint URL
就是部署好的推理端點地址,我們可以跟調用推理 API 一樣的方式來使用它,示例代碼如下:
$ curl https://your-endpoint-url \
-X POST \
--data-binary '@dogs.jpg' \
-H "Authorization: Bearer hf_xxxxxxxxxxxxxxxxxxxxxx"
HuggingFace 推理端點是部署 API 服務,但是如果我們想要分享自己的模型,讓別人可以直接在瀏覽器中使用模型的功能,這時候就需要使用 HuggingFace 的模型空間(Space)了。
要部署一個模型空間,首先在模型的Deploy
菜單中選擇Spaces
,如下圖所示:
選擇菜單后可以看到空間創建的引導界面,如下圖所示:
界面中顯示了啟動模型的 Python 腳本,然后我們點擊Create new Space
按鈕進入空間的創建頁面,如下圖所示:
在模型創建頁面中,我們需要設置以下信息:
Streamlit
、Gradio
、Docker
和Static
?四種。
Gradio
可以支持更加豐富的頁面組件,界面也更加美觀。Streamlit
來說,它的 GUI 功能雖然比較少,但它的優勢在于簡單易用,一般演示的 Demo 用它就足夠了。Public
和Private
兩種,Public 是公開的,任何人都可以訪問,但只有你的組織成員可以修改,Private 是私有的,只有你的組織成員可以訪問。設置完后點擊Create Space
按鈕就開始創建推理空間了,創建完成后會自動跳轉到空間的頁面,如下圖所示:
如果推理空間的安全等級設置為 Public,你就可以將空間的 URL 分享給其他人使用了。想查看 HuggingFace 推理空間更多的信息,可以參考這里[3]。
本文介紹了 HuggingFace 的推理 API、推理端點和推理空間的使用方法,推理 API 是免費的,使用 HuggingFace 自建的 API 服務,推理端點是部署自己專屬的 API 服務,但需要收取一定的費用。推理空間是部署模型的 Web 頁面,可以直接在瀏覽器中使用模型的功能,可以用于演示和分享模型,有一定的免費額度。
關注我,一起學習各種人工智能和 AIGC 新技術,歡迎交流,如果你有什么想問想說的,歡迎在評論區留言。
?這里:?https://huggingface.co/docs/hub/spaces[1]
HuggingFace: https://huggingface.co/[2]
這里: https://huggingface.co/docs/hub/models-widgets[3]
文章轉自微信公眾號@極客與黑客之路