如何在 Python 中使用 Azure OpenAI API

如何在 Python 中使用 Azure OpenAI API

1. 背景

如果我们使用普通的 OpenAI API,只需要在环境变量里设置 OPENAI_API_KEY 就可以了。

如果直接访问 OpenAI API Endpoint 不通的话,可以通过设置 OPENAI_API_BASE 解决。

但是使用 Azure OpenAI API 时,还需要额外的设置。

import os
import openai

from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv()) # read local .env file
openai.api_key = os.environ['OPENAI_API_KEY']
openai.api_base = os.environ['OPENAI_API_BASE']
def get_completion(prompt, model="gpt-3.5-turbo"):
    messages = [{"role": "user", "content": prompt}]
    response = openai.ChatCompletion.create(
        model=model,
        messages=messages,
        temperature=0,
    )
    return response.choices[0].message["content"]
get_completion("1+1 的结果是?")

输出结果如下,

'2'

2. 使用 Azure OpenAI API

使用 Azure OpenAI API 时,需要的设置如下。

import os
import openai

from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv()) # read local .env file
openai.api_key = os.environ['OPENAI_API_KEY_AZURE']
openai.api_base = os.environ['OPENAI_API_BASE_AZURE']
openai.api_type = 'azure'
openai.api_version = '2023-05-15'
deployment_name=<your_azure_deployment_name> # e.g. deployment_name='gpt-35-turbo'
def get_completion(prompt, model="gpt-3.5-turbo"):
    messages = [{"role": "user", "content": prompt}]
    response = openai.ChatCompletion.create(
        model=model,
        messages=messages,
        temperature=0,
        engine=deployment_name, # add engine
    )
    return response.choices[0].message["content"]
get_completion("1+1 的结果是?")

输出结果如下,

'2'

完结!

猜你喜欢

转载自blog.csdn.net/engchina/article/details/131160040