透过 Azure AI Foundry 来部署 LLM 模型和实做程式串接

微软将 Azure AI Studio 以及 Azure Open AI 和其他 Azure AI 的服务整合之后推出了 Azure AI Foundry 这一个服务平台,让我们在使用 Azure AI 服务的时候有同一个入口来管理和使用 Azure AI 的服务,而我们也可以在上面部署各式各样的 LLM 模型,包含 Azure OpanAI 都可以在这边部署并提供一个游乐场让我们可以免写程式来测试部署好的 LLM 模型,后面就来介绍如何部署以及测试,最后也实做程式要来串接部署好的模型。

说明

Azure AI Foundry 的网址 (https://ai.azure.com/) 相当好记,就算不特别加入浏览器我的最爱也不太会忘记,首先连到 Azure AI Foundry 并透过 Azure 帐号登入。

导览

第一次进来的话应该会是类似下面的画面,因为我们要来部署 LLM 模型,所以点选探索模型按钮来察看 Azure AI Foundry 有提供哪些模型可以使用。

就本文撰写的时间点来看目前提供了 1922 个 LLM 模型可以使用,也包含前几天 OpenAI 才推出的 gpt-image-1 这个文字转图片的模型。

这边要特别说明的是筛选条件的帐单类型,这会影响到我们的费用。

  • 按使用次数付费:在这个条件下的模型可以建立起来 Serverless 的模型端点,计费方式是使用次数或是 Token 数量来计费。
  • 布建的输送量 (PTU):这个条件筛选出来的是支援 PTU 计费的模型,PTU 可以想成 AI 的 RI,可以承诺一定的用量,而费用会有较大的折扣,目前支援的模型都是 OpenAI 的模型。
  • 批次:支援批次的模型会是把每次的请求加入排程,会按照序列来处理结果,适合不需要及时回应的情境,通常费用也会较便宜一点,目前支援的也是 OpenAI 的模型。
  • 虚拟机器:就是会建立虚拟机器来部署模型,费用就是虚拟机器的费用,但是通常会建立支援 GPU 的虚拟机器,所以费用也相对的贵。
  • 已最佳化的虚拟机器:最佳化的虚拟机器是 Nvidia 的虚拟机器。

再来介绍一下比较模型这个功能,目前模型一直推陈出新,我们想要知道每个模型的效能、费用等等的比较,就可以点选右边的比较模型来挑选模型来比较。

透过这个功能就可以挑选我们想要测试的模型,可以选择想要比较的座标轴来比较,让我们在挑选的时候有些参考的依据可以来评估要使用的模型。

部署模型

这边我挑选微软推出的 Phi-4 模型,因为它同时支援部署 Serverless 和虚拟机器的方式,后面可以来比较差异,点选左边的部署按钮来部署。

建立专案

首先会需要选取或是建立专案,它可以把我们要部署的 AI 服务关连在一起,比如说我们要针对某个情境来建立许多的 AI 服务,就可以关连在同一个专案里面,未来要删除也会比较方便。

再来会要选择或是建立中枢 (Azure AI Hub),这个服务是可以共用的,它主要作用是可以管理和设定网路、安全性等,就可以让多个专用共用同一组数定,方便 IT 人员管理相关的权限和安全性,比如说限制部署好的 LLM 模型的节点只有特定 IP 可以连线等,其他就保留预设值来建立。

下一步就会列出会建立出来哪些服务出来,到这边所建立出来的服务都还不会产生太多的费用,会有计费的项目就是储存体帐户和金钥保存库,这些都是有用到才会计费的项目。

无伺服器部署

再来就是正式的部署了,因为特别挑选了支援两种模式的模型,左边就是 Serverless 的,右边就是虚拟机器的,部署完之后都可以得到一个 Api 节点让我们可以来呼叫使用,这边先示範 Serverless 的,就选择左边的模式来部署。

下个部署可以选择是否要做内容筛选,建立正式环境一定要选取,才可以避免使用者询问了一些问题导致模型回应一些不安全的内容给使用者。

部署好之后就可以看到节点和金钥,而支援的 Api 路由就类似 OpenAI 的模型的完成等方法可以使用,后面开发上就可以用支援的套件或是同样的程式来呼叫,不同模型只需要换掉节点和金钥就可以了,右边也会有程式码範例可以参考,目前支援的程式语言包含了常见的 Python、Javascript、Rest、Java、C# 等。

虚拟机器部署

再来示範部署虚拟机器的类型,点选模型+端点来部署模型。

一样选择 Phi-4 模型,就会在出现前面的选项可以选择,这次我们选右边的选项。

因为我的订阅没有 GPU 系列的虚拟机器的核心数额度,但是我们可以把下面的选项打勾,就可以建立共用资源的虚拟机器来建立节点,而这个模式要注意的是测试完毕记得删掉,不然就会一直计费,而这个模式在建立上也会比较花时间。

部署好之后就会看到列表有两种不同类型的节点可以使用。

点进节点一样可以取得节点位置跟金钥,后面要用程式串接的时候就可以使用。

游乐场测试

不管是哪种部署模式我们都可以透过游乐场来测试部署好的模型,因为我们建立的是一般的聊天模型,所以选择聊天游乐场,如果建立的是产生图片的模型就选择相对应的游乐场来测试。

再来就看到熟悉的游乐场可以测试了,这边也有常见了可以新增自己的资料来做 RAG 或是设定模型的温度等参数。

程式实做

最后就是透过程式来呼叫节点使用,如果是 Serverless 的模式,就可以用底下的程式码来呼叫使用,底下程式码使用的套件是微软开发的 Azure.AI.Inference。这边要注意的是需虚拟机器的节点记得去掉后面的 /score 才会是正确的。

using Azure.AI.Inference;

void Main()
{
	var endpoint = new Uri("[Your Endpoint]");
	var credential = new AzureKeyCredential("{Your Key}");
	var model = "{Your Model Name}";

	var client = new ChatCompletionsClient(
		endpoint,
		credential,
		new ChatCompletionsClientOptions());

	var requestOptions = new ChatCompletionsOptions()
	{
		Messages =
		{
			new ChatRequestUserMessage("C# 井字游戏範例")
		},
		 
		MaxTokens = 2048,
		Temperature = 0.8f,
		PresencePenalty = 0.0f,
		FrequencyPenalty = 0.0f,
		Model = model
	};

	Response<ChatCompletions> response = client.Complete(requestOptions);
	System.Console.WriteLine(response.Value.Choices[0].Message.Content);
}

执行程式之后就可以得到如下的回应了。

结论

现在各种 LLM 模型推陈出新,虽然可以在本机部署来测试和开发,但是就会需要有一定配置的硬体才可以跑得起来 LLM 模型,有些参数较大的模型也会需要更多的运算资源和储存空间,如果单纯要测试或是开发,透过微软的 Azure AI Foundry 来部署,不仅快速又方便,未来更可以搭配 Azure 上面的服务来做 RAG,在开发上也可以用一致的套件来开发,程式码也不需要做大幅度的调整,部署出来的节点支援标準的 AI 方法,包含 OpenAI 也都可以透过这样的方式来部署跟测试,而且新的模型微软也都很快就上架了,想测试的时候就可以上去点点选选就可以了。

参考资料

  • Azure AI Foundry documentation

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章

5 点赞(415) 阅读(67)