AI時代的網站與手機App建置與開發Part32 - 使用Azure OpenAI的文字生成功能
l 摘要
文字生成或聊天生成功能可以用來生成企畫書, 例如生成[關稅壓力下的汽車或二手車的行銷企畫], 生成[日本全區包含乘車資訊的30天旅遊計畫], 或是[冰島賞極光之旅携帶物品與藥品清單建議]等等, 都是文字生成的實用範例, 協助生成汽車或二手車銷隻員的行銷企畫, 協助旅遊企畫員生成實用旅遊企畫, 甚至生成指定專案類型的程式碼.
圖: 文字生成範例
l 使用Azure OpenAI服務
欲使用Azure OpenAI資源實踐文字生成, 首先要登入Microsoft Azure Portal(網址: https://portal.azure.com), 登入成功後您會看到如圖1的畫面:
圖1: Microsoft Azure Portal建立資源的畫面點選圖1中的[建立資源], 螢幕就會出現如圖2的畫面
圖2: 建立Azure OpenAI資源的畫面
點選圖2畫面左方的[AI應用程式與代理程式], 再點選右邊的[Azure OpenAI], 您將會看到如圖3的畫面::
圖3: 輸入Azure OpenAI資源的基本資訊
請於圖3畫面建立新的或選擇資源群組或選擇現有的資源群組, 選擇建立群組的區域, 收費層級, 然後點選[下一頁]鍵, 您將會看到圖4的畫面:
請於圖4畫面中選擇[所有網路], 點選[下一頁], 您就會看到設定分類標籤的畫面, 如圖5所示:
請點選[建立]鍵執行建立Azure OpenAI資源, 建立完成後請瀏覽至建立妥的Azure
OpenAI資源, 您將會看到如圖7的畫面
點選[探索Azure AI Foundry入口網站], 您將會看到如圖8的畫面:
點選[建立新部署|來自基底模型]功能, 您會看到如圖9的畫面:
圖9: 選擇部署文字生成模型的畫面, 請點選左方欲使用的文字生成模型(例如gpt-4.1), 再按下[確認]鍵, 螢幕上就會出現文字生成模型的相關使用資料, 如圖10所示:
按下圖10畫面中的[部署]鍵進行部署, 部署完成後就會出現體驗文字生成功能的體驗畫面, 如圖11所示:
點選圖11畫面中的[檢視程式碼], 可以看到叫用文字生成功能的範例程式碼, 如圖12所示:
以下就是使用JavaScript叫用Azure OpenAI文字生成功能的網頁程式
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH"
crossorigin="anonymous">
</head>
<body>
<div class="container"
style="width:40%">
<h3 class="mb-3 text-center">文字生成</h3>
<div class="form-floating mb-3">
<input id="prompt"
class="form-control" placeholder="" value="雪山劍俠傳楔子"/>
<label class="form-label">文字生成提示</label>
</div>
<div class="mb-3">
<button class="btn btn-success"
onclick="suggest()">建議</button>
</div>
<div class="mb-3">
<textarea id="result"
rows="200" cols="50" class="form-control"></textarea>
</div>
</div>
<script>
async function suggest() {
//取得使用者輸入的提示
const prompt =
document.getElementById("prompt").value;
//取得用來顯示文字生成結果的HTML元素
const output =
document.getElementById("result");
const endpoint = "Azure OpenAI資源端點";
const deployment = "gpt-4.1";
const apiVersion =
"2025-01-01-preview";
const apiKey = "Azure OpenAI資源金鑰";
try {
//依據使用者輸入的提示要求文字生成
const response = await fetch(
`${endpoint}/openai/deployments/${deployment}/chat/completions?api-version=${apiVersion}`,
{
method:
"POST",
headers: {
"Content-Type": "application/json",
"api-key": apiKey
},
body: JSON.stringify({
messages: [{
role: "user", content: prompt }],
max_tokens: 1000
})
}
);
if (response.ok){
//如果文字生成成功
const data = await
response.json(); //取得文字生成內容
//顯示文字生成內容
output.textContent =
data.choices[0].message.content;
}
} catch (err) {
//捕捉文字生成失敗的錯誤
output.textContent = "Error:
" + err.messae; //顯示錯誤訊息
}
}
</script>
</body>
</html>
程式碼範例下載網址: https://github.com/CraigIII/AzureOpenAITextGeneration.git













留言
張貼留言