取得 API_TOKEN

官方網站
Hugging Face

登入後,只要去管理頁面找到 Access Tokens ,創立一個屬於你的 Token 就好了


Python 程式碼

我簡單先用 Python 玩一下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 我記得 json 函式庫不用特別下載,預設就有了
import json
# 沒有 requests 函式庫的人要記得用 `pip install requests` 下載喔~
import requests

API_TOKEN = "hf_l...." # 請換上你的 API_TOKEN
Model_ID = "facebook/blenderbot-3B" # 可以換成你想要使用的 Model

def query(payload):
headers = {"Authorization": f"Bearer {API_TOKEN}"}
API_URL = "https://api-inference.huggingface.co/models/" + Model_ID
data = json.dumps(payload)
response = requests.request("POST", API_URL, headers=headers, data=data)
return json.loads(response.content.decode("utf-8"))

data = query({"inputs": "HI"})
print(data) # 可以自行看他回傳什麼
print(data["generated_text"])
# Hello, how are you today??? or Hi! How are you doing?

Google Apps Script 內部檔案分布

再來用 Google Apps Script 玩一下

主程式原始碼(doPost)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var CHANNEL_ACCESS_TOKEN=""  // 請放上自己的CHANNEL_ACCESS_TOKEN
var API_token = "hf_l...." // 請換上你的 API_TOKEN
var Model_ID = "facebook/blenderbot-3B" // 可以換成你想要使用的 Model

function doPost(e) {
//從接收到的訊息中取出 replyToken 和發送的訊息文字資訊
var msg = JSON.parse(e.postData.contents);
var replyToken = msg.events[0].replyToken;
var type = msg.events[0].type;
var userid = msg.events[0].source.userId;
var groupid = msg.events[0].source.groupId;

// 只接收純文字的訊息
if (type == 'message' && msg.events[0].message.text != null) {
var userMessage = msg.events[0].message.text;
}
else { return 0 }

reply_msg = JSON.parse(hf_chat_api(userMessage))["generated_text"]
reply_message(replyToken, [{ 'type': 'text', 'text': reply_msg }])
}

hf_chat_api()

1
2
3
4
5
6
7
8
9
10
function hf_chat_api(message) {
return UrlFetchApp.fetch('https://api-inference.huggingface.co/models/'+Model_ID, {
'method': 'post',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + API_token,
},
"payload": JSON.stringify(message)
})
}

程式碼(網址)

去吧~ 我都放在連結裡面了~

https://script.google.com/d/1DsfQ8u-mp7oP_qOxwA9rjXlG8gAvM16lUwOLd7roFXEzd_DmU3dtOENF/edit?usp=sharing


參考資料

https://huggingface.co/docs/api-inference/detailed_parameters


1
2
若以上有任何的錯誤都歡迎留言跟我說
我會非常感謝你的(ノ>ω<)ノ