简介:本文为开发者提供从OpenAI迁移到Azure OpenAI的详细步骤,包括资源创建、秘钥管理、模型部署及JS语言版LangChain的兼容方法,帮助读者轻松实现平台转换。
在人工智能快速发展的今天,OpenAI和Azure OpenAI作为两大主流平台,各自拥有独特的优势和用户群体。对于希望在国内合规使用ChatGPT或寻求更稳定服务的开发者来说,从OpenAI迁移到Azure OpenAI无疑是一个明智的选择。本文将为您提供一份详尽的迁移指南,帮助您轻松实现从OpenAI到Azure OpenAI的无缝迁移。
首先,您需要拥有一个Azure账号。访问Azure官网,点击“开始使用”并按照提示完成账号注册。如果您是企业用户,建议使用企业身份进行注册,以便享受更全面的服务和支持。
在迁移之前,了解Azure OpenAI的服务内容和优势是非常必要的。Azure OpenAI提供了与OpenAI相似的API能力,但更加合规、稳定,并且支持企业用户在国内开发票。此外,Azure OpenAI还提供了丰富的模型选择,如gpt-35-turbo、text-davinci-003等,以满足不同场景下的需求。
登录Azure门户后,在搜索栏中输入“Azure OpenAI”,然后点击“新建”以创建新的OpenAI资源。在创建过程中,您需要指定资源组的名称和位置,以及OpenAI资源的名称。这个名称将成为调用API地址的域名之一,因此请务必记录好。
创建成功后,您将看到API地址(End Point)和两个秘钥(Key)。这两个秘钥是等价的,但Azure OpenAI建议定期更换秘钥以提高安全性。请务必将这些信息记录下来,因为您将在后续的API调用中使用它们。
转到Azure OpenAI Studio,点击“新建部署”以创建自己的OpenAI模型。在部署过程中,您需要选择适合您需求的模型,如gpt-35-turbo等。同时,您还需要为部署指定一个名称,这个名称将在后续的API调用中用到。
如果您正在使用JS语言版的LangChain,并希望将其迁移到Azure OpenAI,以下是一些建议:
确保您的LangChain库是最新版本(>= 0.0.81),因为旧版本可能不支持Azure OpenAI的调用。
在LangChain中,您需要修改相关的配置参数以适配Azure OpenAI。这些参数包括:
azureOpenAIApiKey:Azure OpenAI的秘钥。azureOpenAIApiInstanceName:Azure OpenAI资源的名称。azureOpenAIApiDeploymentName:您部署的模型名称。azureOpenAIApiVersion:API的版本号,目前支持2023-03-15-preview、2022-12-01、2023-05-15等。
import { OpenAIChat } from "langchain/llms/openai";import './utils/dotenv.js'const model = new OpenAIChat({temperature: 0.9,azureOpenAIApiKey: process.env.AZURE_OPENAI_API_KEY,azureOpenAIApiInstanceName: process.env.AZURE_OPENAI_API_INSTANCE_NAME,azureOpenAIApiDeploymentName: process.env.AZURE_OPENAI_API_DEPLOYMENT_NAME,azureOpenAIApiVersion: process.env.AZURE_OPENAI_API_VERSION,});const res = await model.call("What would be a good company name for a company that makes colorful socks?");console.log({ res });
完成迁移后,请务必进行充分的测试和验证,以确保您的应用或服务能够正常运行。您可以通过编写测试用例或使用现有的测试数据来模拟不同的场景,并观察API调用的结果是否符合预期。
从OpenAI迁移到Azure OpenAI是一个相对简单