PageSourceSearch

https://docs.penfield.ai/assets/js/51b83657.c5bbac2f.js

js penfield.ai collected 2026-10-03 19:56:32 UTC 8,676 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7528],{6203:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var s=t(4848),i=t(8453);const r={sidebar_position:4,id:"azure-openai",title:"Azure OpenAI",description:"Create Azure OpenAI"},a="Create Azure OpenAI Instance",o={id:"infra-deployment/azure-openai",title:"Azure OpenAI",description:"Create Azure OpenAI",source:"@site/docs/03-infra-deployment/04-azure-openai.md",sourceDirName:"03-infra-deployment",slug:"/infra-deployment/azure-openai",permalink:"/docs/infra-deployment/azure-openai",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4,id:"azure-openai",title:"Azure OpenAI",description:"Create Azure OpenAI"},sidebar:"tutorialSidebar",previous:{title:"Azure Marketplace",permalink:"/docs/infra-deployment/azure-marketplace"},next:{title:"Azure Anthropic",permalink:"/docs/infra-deployment/azure-anthropic"}},l={},c=[{value:"Create using Script",id:"create-using-script",level:2},{value:"Create Manually",id:"create-manually",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"create-azure-openai-instance",children:"Create Azure OpenAI Instance"})}),"\n",(0,s.jsx)(n.p,{children:"You can create Azure OpenAI Instance either using script (ARM or Bicep templates) or manually."}),"\n",(0,s.jsxs)(n.admonition,{type:"note",children:[(0,s.jsx)(n.p,{children:"Required OpenAI is available in the following regions:"}),(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Canada East"}),"\n",(0,s.jsx)(n.li,{children:"East US"}),"\n"]})]}),"\n",(0,s.jsx)(n.h2,{id:"create-using-script",children:"Create using Script"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Download the script (ARM or Bicep) from this ",(0,s.jsx)(n.a,{href:"https://gitlab.com/penfieldai-public/infra/azure/-/tree/main/scripts/openai",children:(0,s.jsx)(n.strong,{children:"repo"})}),"."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Authenticate to azure CLI using ",(0,s.jsx)(n.code,{children:"az login"})]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["[Optional] ",(0,s.jsx)(n.strong,{children:"Skip this step if Kubernetes Cluster is already deployed in Azure."})," If OpenAI needs to be created in new Resource Group create the resource group using below command, Replace ",(0,s.jsx)(n.code,{children:"RESOURCE_GROUP_NAME"})," and ",(0,s.jsx)(n.code,{children:"REGION"})," with correct values."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'az group create \\\n--name "RESOURCE_GROUP_NAME" \\\n--location "REGION"\n'})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Create OpenAI instance using below command, Replace ",(0,s.jsx)(n.code,{children:"RESOURCE_GROUP_NAME"})," and ",(0,s.jsx)(n.code,{children:"NAME_OF_OPEN_AI_INSTANCE"})," with correct values. Use the same Managed resource group name that is used while deploying via marketplace."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'az deployment group create \\\n--name "Penfield-App-OpenAI" \\\n--resource-group "RESOURCE_GROUP_NAME" \\\n--template-file mainTemplate.json \\\n--parameters accountName=NAME_OF_OPEN_AI_INSTANCE\n'})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Retrieve the output and share it with Penfield securely, Replace ",(0,s.jsx)(n.code,{children:"RESOURCE_GROUP_NAME"})," with correct value."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'az deployment group show \\\n    --name "Penfield-App-OpenAI" \\\n    --resource-group "RESOURCE_GROUP_NAME" \\\n    --query "properties.outputs"\n'})}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"create-manually",children:"Create Manually"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Go to Azure AI service >> Azure OpenAI ",(0,s.jsx)("br",{})]}),"\n",(0,s.jsxs)(n.li,{children:["Click ",(0,s.jsx)(n.code,{children:"Create"})," and configure the details including region of the instance (where your ML model deployment is hosted).","\n",(0,s.jsx)("img",{src:t(9212).A}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["After an instance is created, go to the instance by clicking it on the list e.g. in the screenshot click \u201cca-inst\u201d.","\n",(0,s.jsx)("img",{src:t(573).A}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Click manage deployment on the left sidebar and click the \u201cManage Deployment\u201d button.","\n",(0,s.jsx)("img",{src:t(4151).A}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Click \u201cCreate new deployment\u201d to select a model. You need to create two deployments for ",(0,s.jsx)(n.code,{children:"text-embedding-ada-002"})," and ",(0,s.jsx)(n.code,{children:"gpt-35-turbo"})," models. ",(0,s.jsx)(n.strong,{children:"Use the settings as per the screenshot."})," You can any name for the deployment but this is needed later on when we will c
1onfigure the app.","\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"text-embedding-ada-002"}),": Use ",(0,s.jsx)(n.em,{children:"model name:"})," ",(0,s.jsx)(n.code,{children:"text-embedding-ada-002"})," , ",(0,s.jsx)(n.em,{children:"model version:"})," ",(0,s.jsx)(n.code,{children:"2"})," and ",(0,s.jsx)(n.em,{children:"Deployment type:"})," ",(0,s.jsx)(n.code,{children:"Standard"}),". Rate limit can be set to default value, should be atleast ",(0,s.jsx)(n.strong,{children:"350K TPM"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"gpt-4o"}),": Use ",(0,s.jsx)(n.em,{children:"model name:"})," ",(0,s.jsx)(n.code,{children:"gpt-4o"}),", ",(0,s.jsx)(n.em,{children:"model version:"})," ",(0,s.jsx)(n.code,{children:"2024-05-13"})," and ",(0,s.jsx)(n.em,{children:"Deployment type:"})," ",(0,s.jsx)(n.code,{children:"GlobalStandard"}),". Rate limit can be set to default value, should be atleast ",(0,s.jsx)(n.strong,{children:"200K TPM"}),".",(0,s.jsx)("br",{})]}),"\n"]}),"\n",(0,s.jsx)(n.strong,{children:"Note:"})," The availability of models varies based on the region and subscription.","\n",(0,s.jsx)("img",{src:t(5221).A}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Once a model deployment is created (like the 2 deployments on the screenshot above), you will be able to access the model from an endpoint. Go back to the instance created in step 2 and 3. Click \u201ckeys and Endpoint\u201d on the side panel to get the API access.","\n",(0,s.jsx)("img",{src:t(7519).A}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Keep the following information handy for the deployment in the next steps:","\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"AZURE_OPENAI_ENDPOINT: Endpoint URL from step 6."}),"\n",(0,s.jsx)(n.li,{children:"AZURE_OPENAI_DEPLOYMENT: Deployment name of gpt-35-turbo model from step 5."}),"\n",(0,s.jsx)(n.li,{children:"AZURE_OPENAI_MODEL: Deployment model like gpt-35-turbo from step 5."}),"\n",(0,s.jsx)(n.li,{children:"AZURE_OPENAI_API_KEY: Key from step 6, Only one key is needed."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"All the required infrastructure components will be deployed at this stage, please proceed to deploy the application"})]})}function p(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},573:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/azure-openai-instance-df5e70bc24fe597c866e333f687c7ade.png"},9212:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/create-azure-openai-573f1b2d4dce5a1db958d9ab5503ae87.png"},5221:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/deployments-cbb62bad5fa905781dbcd657688068fb.png"},7519:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/keys-endpoint-97531b655a68932a77994acd0f91465d.png"},4151:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/manage-deployments-8e63a0575373b2f1c9219516c61402a0.png"},8453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var s=t(6540);const i={},r=s.createContext(i);function a(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.