课程是 Gradio 的 demo 小课。也是 DeepLearning 下面的。
import requests, json
# Image-to-text endpoint
def get_completion(inputs, parameters=None, ENDPOINT_URL=os.environ['HF_API_SUMMARY_BASE']):
headers = {
"Authorization": f"Bearer {hf_api_key}",
"Content-Type": "application/json"
}
data = {"inputs": inputs}
if parameters is not None:
data.update({"parameters": parameters})
response = requests.request("POST",
ENDPOINT_URL,
headers = headers,
data = json.dumps(data))
return json.loads(response.content.decode("utf-8"))

在 helper function 里面 ENDPOINT_URL 的参数,让我犯难了。因为我找不到这个 URL。
网页上有的人,说是 Inference URL,很有误导性嘛。我点了 Deploy 虾米那的 Inference Endpoints。因为有的教程居然说要新建一个。
但那个是用于部署的。所以我发现,诶,怎么还要设置支付方式呢?设置完了发现,诶,怎么要收费呢?
Huggingface 明明是一个提供了很多免费模型的开源典范呀。
所以我又找啊找,翻到一个网页,说 Inference API 是免费的方案。如果在生产环境,更推荐使用 Endpoints(速率问题,有 public、protected 和 private 三种安全级别)。
https://huggingface.co/blog/zh/inference-update


找到这一课的图片起名模型的 Inference API:https://api-inference.huggingface.co/models/Salesforce/blip-image-captioning-base
变身白嫖快乐崽。
赋值给 ENDPOINT_URL 之后,跑通啦(这个描述不如 Midjourney 啊):


(一开始有点跑不出来,Connection time out。多跑几次就好了。有的时候 bug 就是这么神奇。)
欢迎体验 72h 内有效链接:
https://e5baf5990813b5fb8a.gradio.live
补充一个小点,这里处理的图片地址,是 图片地址,不是网页地址。


