配置语言服务 docker 容器
语言服务为每个容器提供通用配置框架,以便你能够轻松地配置和管理容器的存储、日志记录和遥测以及安全设置。 本文适用于以下容器:
- 情绪分析
- 语言检测
- 关键短语提取
- 运行状况文本分析
- 汇总
- 命名实体识别 (NER)
- 个人身份信息 (PII) 检测
配置设置
此容器具有以下配置设置:
必须 | 设置 | 目的 |
---|---|---|
是 | ApiKey | 跟踪账单信息。 |
否 | ApplicationInsights | 允许向容器添加 Azure Application Insights 遥测支持。 |
是 | Billing | 指定 Azure 上服务资源的终结点 URI。 |
是 | Eula | 表示已接受容器的许可条款。 |
否 | Fluentd | 将日志和(可选)指标数据写入 Fluentd 服务器。 |
否 | HTTP 代理 | 配置 HTTP 代理以发出出站请求。 |
否 | 日志记录 | 为容器提供 ASP.NET Core 日志记录支持。 |
否 | Mounts | 从主计算机读取数据并将其写入到容器,以及从容器读回数据并将其写回到主计算机。 |
ApiKey 配置设置
ApiKey
设置指定用于跟踪容器账单信息的 Azure 资源键。 必须为键指定值,并且该值必须是为 Billing
配置设置指定的语言资源的有效密钥。
ApplicationInsights 设置
此 ApplicationInsights
设置允许向容器添加 Azure Application Insights 遥测支持。 Application Insights 可深入监视容器。 可以轻松监视容器的可用性、性能和使用情况。 还可以快速识别和诊断容器中的错误。
下表描述了 ApplicationInsights
节支持的配置设置。
必须 | 名称 | 数据类型 | 说明 |
---|---|---|---|
否 | InstrumentationKey |
字符串 | 容器遥测数据要发送到的 Application Insights 实例的检测密钥。 有关详细信息,请参阅适用于 ASP.NET Core 的 Application Insights。 例如: InstrumentationKey=123456789 |
Billing 配置设置
Billing
设置指定 Azure 上用于计量容器的账单信息的语言资源的终结点 URI。 必须为此配置设置指定值,并且该值必须是 Azure 上语言资源的有效终结点 URI。 容器约每 10 到 15 分钟报告一次使用情况。
必须 | 名称 | 数据类型 | 说明 |
---|---|---|---|
是 | Billing |
字符串 | 账单终结点 URI。 |
Eula 设置
Eula
设置表示已接受容器的许可条款。 必须为此配置设置指定值,并且该值必须设置为 accept
。
必须 | 名称 | 数据类型 | 说明 |
---|---|---|---|
是 | Eula |
字符串 | 接受许可证 示例: Eula=accept |
Azure AI 服务容器根据管理 Azure 使用的协议获得许可。 如果没有管理 Azure 使用情况的现有协议,则表示你同意管理 Azure 使用情况的协议是 Azure 在线订阅协议,其中包含联机服务条款。 使用容器即表示同意这些条款。
Fluentd 设置
Fluentd 是一个用于统一日志记录的开放源代码数据收集器。 Fluentd
设置管理容器到 Fluentd 服务器的连接。 容器包含一个 Fluentd 日志记录提供程序,使容器可以向 Fluentd 服务器写入日志和(可选)指标数据。
下表描述了 Fluentd
节支持的配置设置。
名称 | 数据类型 | 说明 |
---|---|---|
Host |
字符串 | Fluentd 服务器的 IP 地址或 DNS 主机名。 |
Port |
整数 | Fluentd 服务器的端口。 默认值为 24224。 |
HeartbeatMs |
整数 | 检测信号间隔,以毫秒为单位。 如果在此间隔过期之前未发送事件流量,则将检测信号发送到 Fluentd 服务器。 默认值为 60000 毫秒(1 分钟)。 |
SendBufferSize |
整数 | 为发送操作分配的网络缓冲空间,以字节为单位。 默认值为 32768 字节(32 KB)。 |
TlsConnectionEstablishmentTimeoutMs |
Integer | 与 Fluentd 服务器建立 SSL/TLS 连接的超时值,以毫秒为单位。 默认值为 10000 毫秒(10 秒)。 如果 UseTLS 设置为 false,则会忽略此值。 |
UseTLS |
布尔 | 指示容器是否应使用 SSL/TLS 来与 Fluentd 服务器通信。 默认值为 false。 |
Http 代理凭据设置
如果需要配置 HTTP 代理以发出出站请求,请使用以下两个参数:
名称 | 数据类型 | 说明 |
---|---|---|
HTTP_PROXY | string | 要使用的代理,例如 http://proxy:8888 <proxy-url> |
HTTP_PROXY_CREDS | 字符串 | 对代理进行身份验证所需的任何凭据,例如 username:password 。 此值必须采用小写形式。 |
<proxy-user> |
string | 代理的用户。 |
<proxy-password> |
string | 与代理的 <proxy-user> 关联的密码。 |
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
HTTP_PROXY=<proxy-url> \
HTTP_PROXY_CREDS=<proxy-user>:<proxy-password> \
日志记录设置
Logging
设置管理容器的 ASP.NET Core 日志记录支持。 可对容器使用用于 ASP.NET Core 应用程序的相同配置设置和值。
容器支持以下日志记录提供程序:
提供程序 | 目标 |
---|---|
控制台 | ASP.NET Core Console 日志记录提供程序。 支持此日志记录提供程序的所有 ASP.NET Core 配置设置和默认值。 |
调试 | ASP.NET Core Debug 日志记录提供程序。 支持此日志记录提供程序的所有 ASP.NET Core 配置设置和默认值。 |
Disk | JSON 日志记录提供程序。 此日志记录提供程序将日志数据写入输出装入点。 |
此容器命令以 JSON 格式将日志记录信息存储到输出装入点:
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Disk:Format=json \
Mounts:Output=/output
当容器正在运行时,此容器命令显示调试信息(前缀为 dbug
):
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Console:LogLevel:Default=Debug
Disk 日志记录
Disk
日志记录提供程序支持以下配置设置:
名称 | 数据类型 | 说明 |
---|---|---|
Format |
字符串 | 日志文件的输出格式。 注意:此值必须设置为 json 才能启用日志记录提供程序。 如果指定了此值,但未同时在实例化容器时指定输出装入点,则会发生错误。 |
MaxFileSize |
整数 | 日志文件的最大大小,以 MB 为单位。 如果当前日志文件的大小达到或超过此值,则日志记录提供程序会启动新的日志文件。 如果指定 -1,则日志文件的大小仅受输出装入点的最大文件大小(如果有)的限制。 默认值为 1。 |
有关配置 ASP.NET Core 日志记录支持的详细信息,请参阅设置文件配置。
装载设置
使用绑定装载从容器读取数据并将数据写入容器。 可以通过在 docker run 命令中指定 --mount
选项来指定输入装载或输出装载。
语言服务容器不使用输入或输出装载来存储训练或服务数据。
主机确切语法的安装位置因主机操作系统不同而异。 此外,由于 docker 服务帐户使用的权限与主机安装位置权限之间的冲突,可能无法访问主计算机的装载位置。
可选 | 名称 | 数据类型 | 说明 |
---|---|---|---|
不允许 | Input |
String | 语言服务容器不使用此项。 |
可选 | Output |
String | 输出装入点的目标。 默认值为 /output 。 这是日志的位置。 这包括容器日志。 示例: --mount type=bind,src=c:\output,target=/output |
后续步骤
- 使用更多 Azure AI 容器