昨天認識了 API,也了解網站可以透過 API 和 AI 服務溝通。
今天要開始準備實際的 AI 串接環境。我選擇使用 Dify 作為 AI 應用平台,先建立一個能夠接收食材需求並產生食譜的應用。
一、建立 AI 應用
進入 Dify 後,建立一個對話型應用,並設定它的用途:
「根據使用者提供的食材,推薦適合的料理,並提供料理名稱、食材、步驟、時間與難度。」
接著發布應用,並到 API 存取頁面取得 API 基本資訊。
二、建立後端環境
因為 API 金鑰不能直接放在前端,所以這次先使用 Node.js 和 Express 建立一個簡單的後端。
建立專案資料夾後,在終端機執行:
npm init -y
npm install express dotenv
建立 server.js:
const express = require("express");
require("dotenv").config();
const app = express();
app.use(express.json());
app.post("/api/recipe", async (req, res) => {
try {
const { ingredients } = req.body;
const response = await fetch(
"https://api.dify.ai/v1/chat-messages",
{
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.DIFY_API_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
inputs: {},
query: `請使用這些食材推薦料理:${ingredients}`,
response_mode: "blocking",
user: "ai-recipe-user"
})
}
);
const data = await response.json();
if (!response.ok) {
return res.status(500).json({
error: "AI 服務暫時無法使用"
});
}
res.json({ answer: data.answer });
} catch (error) {
res.status(500).json({
error: "伺服器發生錯誤"
});
}
});
app.listen(3000, () => {
console.log("Server running on port 3000");
});
三、設定環境變數
在專案根目錄建立 .env:
DIFY_API_KEY=你的Dify應用金鑰
這裡的金鑰只放在後端環境中,不要貼到公開文章或上傳到 GitHub。
四、今天的成果
今天完成了 Dify 應用準備,也建立了後端 API 的基本架構。
目前網站前端還沒有呼叫這個後端,但已經準備好一條安全性較好的溝通管道。
下一篇就要讓 AI 根據食材真正產生料理建議!