iT邦幫忙

2026 iThome 鐵人賽

DAY 11
0

前言

上一篇了解了 LLM API 、 Prompt、確認 AI 需要哪些任務資料以及規劃 JSON 回傳格式。

今天先制定一個小目標:

先讓 Flask 成功叫到 LLM,並拿到 AI 的回覆。

今天要做到什麼?

現在的流程是:

MySQL
 ↓
Flask
 ↓
/tasks/ai-data

今天要變成:

MySQL
 ↓
Flask
 ↓
取得任務
 ↓
組成 Prompt
 ↓
LLM API
 ↓
拿到 AI 回覆

也就是:讓後端第一次真的跟 AI 說話。

決定用哪一個 LLM,並安裝相關套件

想先用比較容易取得 API Key 的模型服務,所以我選擇使用 Google 的 Gemini API。

一方面是因為 Gemini 有提供 API,可以直接從 Python 程式呼叫;另一方面也有 Python SDK,對我現在這種 Flask 專案比較方便。

Google 官方目前提供 google-genai Python SDK,也建議把 API Key 放在環境變數中使用。

接著就是安裝 Gemini 套件到目前的虛擬環境。(確認虛擬環境(.venv)有啟動)

pip install -U google-genai
如果看到:

Successfully installed google-genai

就成功。
可以順便確認:

python -m pip show google-genai

有顯示版本號就表示安裝成功。

建立 Gemini API

首先進到 Google AI Studio。

建立 API 的時候,Google 會把 API Key 跟專案綁定,之後我的 Python 程式就可以透過這個 Key 驗證 API 請求。

接著建立 API Key,API Key 不是普通的密碼,但也不能隨便貼出來。

修改 app.py

引入Gemini

from google import genai
import os

genai 就是 Google 提供的 Gemini Python SDK。

建立 Gemini Client

client = genai.Client(
    api_key=os.getenv("GEMINI_API_KEY")
)

設到環境理才不用每次關閉後都要重設

app.py

from dotenv import load_dotenv

load_dotenv()

在task-planner資料夾下增.env跟.gitignore文件

.env

GEMINI_API_KEY = "輸入自己的GEMINI_API_KEY"

.gitignore

.env

建立一個測試 Gemini 的 api

@app.route("/ai/test", methods=["POST"])
def ai_test():
    data = request.json
    message = data.get("message", "")

    response = client.models.generate_content(
        model="gemini-3.5-flash-lite",
        contents=message
    )

    return {
        "message": response.text
    }

image


今天完成的其實只是第一步,先讓 AI 進得來。
下一篇才是開始教 AI 要怎麼幫我安排這些事情。


上一篇
Day 10|AI 會回答還不夠,我要讓 Flask 看得懂
系列文
如果 AI 幫我安排每日的任務?——讓待辦清單不只是清單:LLM × Flask × MySQL 打造動態任務規劃系統 共 11 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言