Azure上的OpenAI版本与独立的OpenAI在参数和调用上很多方面都不同,而且满世界都是OpenAI的文档和应用方案热火滚烫,Azure OpenAI的文档少得可怜,开发起来举步艰难,简直是用了个寂寞。 当然Azure上也有一个好处,也是唯一的好处,那就是不需要代理,国内可以直接访问API,前提是需要提交申请单批准下来,作为一个企业云资源,居然不是有钱就给用。有关申请的信息,可参考我上一篇关于Azure OpenAI的文章。 Azure OpenAI的模型分类简而言之,两大分类,也可以看为两个版本(目前GPT4已经可以预览,但是要重新单独申请,暂时懒得折腾),如下是信息对比: Model | Version | text-ada-001, text-curie-001, text-davinci-002,text-davinci-003,code-davinci-002等 | 2022-12-01 | gpt-35-turbo | 2023-03-15-preview | Azure OpenAI不同模型调用方法:version为2022-12-01的模型,可以使用如下代码原型:注意其中两个名称都是自己创建时取的名字,不是固定的名称。其中prompt为输入的类型,需要为字符串,即不支持列表。 - import openai
- openai.api_type = "azure"
- openai.api_base = "https://OpenAI资源名称.openai.azure.com/"
- openai.api_version = "2022-12-01"
- openai.api_key = 'yourkey'
- response = openai.Completion.create(
- engine="部署模型的名称",
- prompt="这里输入你的问题",
- temperature=0.3,
- max_tokens=350,
- top_p=1,
- frequency_penalty=0,
- presence_penalty=0,
- best_of=1,
- stop=None)
复制代码
如果想直接调用API,即使用requests直接post来调用,其中API URL为: version为2023-03-15-preview,典型调用代码为:注意其中两个名称都是自己创建时取的名字,不是固定的名称。 messages为输入内容,可以定义助手提示; - import openai
- openai.api_type = "azure"
- openai.api_base = "https://openai资源名称.openai.azure.com/"
- openai.api_version = "2023-03-15-preview"
- openai.api_key = 'yourkey'
- response = openai.ChatCompletion.create(
- engine="部署的模型名称",
- messages = [{"role":"system","content":"You are an AI assistant that helps people find information."},
- {'role':'user','content':'这里输入你的问题'}],
- temperature=0.7,
- max_tokens=800,
- top_p=0.95,
- frequency_penalty=0,
- presence_penalty=0,
- stop=None)
复制代码
调用API URL为:
|