为什么应该用 Hugging Face Inference Endpoints 构建AI应用

最近在构建产品的过程当中,偶然使用了 Hugging face 的 Inference API 和 Inference Endpoints,感觉非常方便好用,想推荐给大家。(不是软文)

我采取的整体技术方案是,Next.js + Vercel + Hugging Face Inference Endpoint 的 API,前后端采用统一的框架,没有使用云服务器。

因为做独立开发,最重要的,就是快速推出产品,而且为了快速迭代,应该使用简单的部署方案。而为了尽可能地使用简单的技术方案,用 API 构建产品,比自己部署大模型,要更方便快速,尤其是在构造 MVP(最小可行性产品)的时候。

但问题是,有很多模型并没有提供 API,或者提供的 API 并不完全,比如说 OpenAI 的 Whisper,现在官方还只提供 Whisper-large-V2 的 API,但 Whisper-large-V3 已经推出很长时间了,但 OpenAI 并没有提供 API。而且还有很多基于某些特定任务做了微调的大模型,也没有提供 API。也有些模型,只有 Python 的 API,没有提供JavaScript 的API,使用起来也会麻烦一点。

并且,不同的模型,提供的 API 格式可能也不一样,如果产品需要用到多个不同的模型,切换起来会麻烦一点。

而 Hugging Face 就为很多模型提供了 API,只需要在 Hugging Face 找到需要的模型,点击 Deploy—Inference API,即可使用,并且有 Python, JavaScript, cURL 三个版本。而且,要切换不同的模型,只需要更改API链接,比如将meta-llama/Meta-Llama-3-8B-Instruct修改成https://api-inference.huggingface.co/models/mistralai/Mistral-7B-Instruct-v0.3即可。

image-20240604160351720

image-20240604160054753

注意,Inference API 只适合开发环境或者测试,因为比较拥挤,在生产环境是不够用的。在生产环境需要使用 Inference Endpoints。Inference API 是免费的,Inference Endpoints 按小时付费。如果说使用量较大的话,也需要注意成本。

image-20240604161107855

Inference Endpoints 的主要作用,正如它官网所说,是让生产部署更加简单。可以部署任何模型到任何云。

而且如果需要自己训练模型,也可以把模型上传到 Hugging Face Hub ,然后使用 Inference Endpoints 进行部署。

总的来说,Hugging Face 的 Inference API 和 Inference Endpoints 为独立开发者和小型团队提供了一个轻量化的解决方案,帮助他们快速推出和迭代产品。