由于之前公司就有使用Azure的Luis项目经验,此次ChatGPT发布后,就计划使用Azure Open AI来优化提升服务。以下为申请的经历及简单调试的代码分享: 申请经历点击创建,会提示需要提交申请才能使用。这个申请为一个大概有25+问题的表单,其中有几个问题需要关注下:
这个问题很莫名,前面几个选项感觉都不太符合,当时申请的时候脑子发热选的是MSP(实际上我们是制造业,只是在使用微软解决方案而已),这也导致后面产生了波折,后面会提到。建议可以根据实际情况填写,不适合也许应该填写在other项。
这两个问题就是要提供微软的联系人,可选项,但建议填写,也许会有帮助。问过微软国内对接的销售,他们对这个申请审批的规则也不了解,只能建议填写。 提交以后,在第三天收到邮件告知申请被拒了,而且理由是我这个账号不是微软管理的合作伙伴之类的,当时就莫名,我这个账号是公司账号,用Luis服务已经几年了。咨询微软国内销售以及微软对接的技术人员,都说不出原因来,都告知现在被拒是正常的。 本来以为这样正常申请就没办法通过,正在想其他办法的时候,接近两周之后,突然收到邮件,告知恭喜申请通过了,突然发现人生偶尔还是有惊喜的。 创建模型及初步调试重新登录Azure portal,找到Azure OpenAI,按照提示步骤创建,其中有一步为创建标识,可保持空白不用填写。 创建资源完成后,还需要模型部署(由于没有经验,不知道还要进行这一步,导致我调试程序的时候,始终无法调用成功,满世界按照报错查找原因),这个时候就需要选择使用的模型,主要有如下:
比较出名的是davinci类型,价格也是最贵的,按照交互的token数量收费,相关价格参考如下:
创建好资源以及部署好模型之后,那么就可以写个简单脚本看看效果: - import openai # 需要pip安装
- import prompt_toolkit # 需要额外安装这个库,用于命令行交互
- openai.api_type = "azure"
- openai.api_base = "https://yourapi.openai.azure.com/" # 这里需要根据自己的资源进行更改
- openai.api_version = "2022-12-01"
- # 配置OpenAI API密钥
- openai.api_key='your OpenAI KEY' # 这里根据自己的API KEY更改
- # 设定OpenAI的模型和引擎
- model_engine = "your model name" # 这里就是创建的模型名称更改
- prompt_prefix = "我: "
- response_prefix = "AI: "
- # 定义一个函数,用于向OpenAI API发送请求并返回结果
- def generate_response(prompt):
- response = openai.Completion.create(
- engine=model_engine,
- prompt=prompt,
- max_tokens=1024,
- n=1,
- stop=None,
- temperature=0.7,
- )
- message = response.choices[0].text
- return message.strip()
- # 通过Prompt Toolkit库来实现命令行交互
- def prompt_user():
- while True:
- try:
- # 读取用户输入的信息
- user_input = prompt_toolkit.prompt(prompt_prefix)
- # 将用户输入发送给OpenAI API,并返回结果
- response = generate_response(user_input)
- # 打印OpenAI API返回的结果
- print(response_prefix + response)
- except KeyboardInterrupt:
- # 如果用户按下Ctrl-C,则退出程序
- print("\n再见!")
- break
- # 运行程序
- if __name__ == "__main__":
- prompt_user()
复制代码
|