进阶 lmql.ai 2026-10-11 18:10:44 · 31 阅读

第19章 在 LMQL 中配置 Azure 托管的 OpenAI 模型

Azure 版本的 LMQL 也支持托管在 Azure 平台上的 OpenAI 模型。要使用这些模型,你需要配置 Azure API 凭证。具体有两种方式:通过环境变量配置,或通过 lmql.model 对象配置。

通过环境变量配置

如果你想让整个 LMQL 运行时针对 OpenAI 调用使用某个特定的 Azure 部署模型,可以设置以下环境变量:

```python # 根据你要使用的是补全(completion)还是对话(chat)端点来设置 API 类型 OPENAI_API_TYPE=azure|azure-chat

# 你的 Azure API 基础 URL,例如 'https://.openai.azure.com/' OPENAI_API_BASE=

# 设置你的 API 密钥,也可以针对具体部署名称提供 # 变量名为 OPENAI_API_KEY_{.upper()} OPENAI_API_KEY= ```

使用 Azure 模型时,请确保在查询代码中以 `openai/` 的形式调用它们。如果你需要更精细的控制,或者希望在应用程序的不同部分使用不同的部署、基础 URL 或 API 版本,请参阅下一节内容。

通过 lmql.model 配置

如果需要按查询粒度配置 Azure 凭证,也可以在 lmql.model(...) 对象中直接指定 Azure 访问凭证:

```python python my_azure_model = lmql.model( # 你已部署的模型/引擎名称,例如 'my-model' "openai/", # 对话端点设为 'azure-chat',补全端点设为 'azure' api_type="azure|azure-chat", # 你的 Azure API 基础 URL,例如 'https://.openai.azure.com/' api_base="", # 你的 API 密钥,也可通过环境变量 OPENAI_API_KEY # 或 OPENAI_API_KEY_{.upper()} 提供 [api_key=""] , # API 版本,默认为 '2023-05-15' [api_version="API_VERSION",] # 每次查询时向 stdout 打印完整的端点 URL(也可通过 OPENAI_VERBOSE=1 实现) [verbose=False] ) ```

生成的 my_azure_model 对象现在可以在查询的 from 子句中作为 model=... 参数用于 LMQL 查询函数,或直接用于生成内容。

作为 lmql.model(...) 对象一部分的 Azure 配置参数,其优先级通常高于环境变量。后者仅作为后备方案生效,例如当未以关键字参数形式指定 api_key= 时。

评论 (0)