iT邦幫忙

2026 iThome 鐵人賽

0

昨天認識了 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 根據食材真正產生料理建議!


上一篇
API到底是什麼?
下一篇
讓 AI 根據食材產生食譜
系列文
AI Recipe — AI 智慧食譜推薦系統 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言