Skip to main content

Azure OpenAI

本笔记本介绍如何使用Langchain与Azure OpenAI

Azure OpenAI API与OpenAI的API兼容。openai Python包使得同时使用OpenAI和Azure OpenAI变得容易。您可以像调用OpenAI一样调用Azure OpenAI,除非有下面所述的例外情况。

API配置

您可以使用环境变量配置openai包以使用Azure OpenAI。以下是bash的配置示例:

# 将此设置为`azure`
export OPENAI_API_TYPE=azure
# 您想要使用的API版本:将其设置为发布版本的`2023-05-15`。
export OPENAI_API_VERSION=2023-05-15
# Azure OpenAI资源的基本URL。您可以在Azure门户中的Azure OpenAI资源下找到此信息。
export OPENAI_API_BASE=https://your-resource-name.openai.azure.com
# Azure OpenAI资源的API密钥。您可以在Azure门户中的Azure OpenAI资源下找到此信息。
export OPENAI_API_KEY=<your Azure OpenAI API key>

或者,您可以在正在运行的Python环境中直接配置API:

import os
os.environ["OPENAI_API_TYPE"] = "azure"
...

部署

使用Azure OpenAI,您可以设置自己的GPT-3和Codex模型的部署。在调用API时,您需要指定要使用的部署。

注意:这些文档适用于Azure文本补全模型。像GPT-4这样的模型是聊天模型。它们具有稍微不同的接口,并且可以通过AzureChatOpenAI类访问。有关Azure聊天的文档,请参阅Azure Chat OpenAI文档

假设您的部署名称是text-davinci-002-prod。在openai Python API中,您可以使用engine参数指定此部署。例如:

import openai

response = openai.Completion.create(
engine="text-davinci-002-prod",
prompt="This is a test",
max_tokens=5
)
pip install openai
import os

os.environ["OPENAI_API_TYPE"] = "azure"
os.environ["OPENAI_API_VERSION"] = "2023-05-15"
os.environ["OPENAI_API_BASE"] = "..."
os.environ["OPENAI_API_KEY"] = "..."
# 导入Azure OpenAI
from langchain.llms import AzureOpenAI
# 创建Azure OpenAI实例
# 将部署名称替换为您自己的
llm = AzureOpenAI(
deployment_name="td2",
model_name="text-davinci-002",
)
# 运行LLM
llm("Tell me a joke")
    "\n\nWhy couldn't the bicycle stand up by itself? Because it was...two tired!"

我们还可以打印LLM并查看其自定义打印。

print(llm)
    AzureOpenAI
Params: {'deployment_name': 'text-davinci-002', 'model_name': 'text-davinci-002', 'temperature': 0.7, 'max_tokens': 256, 'top_p': 1, 'frequency_penalty': 0, 'presence_penalty': 0, 'n': 1, 'best_of': 1}