iT邦幫忙

2025 iThome 鐵人賽

DAY 16
0

昨天,我們成功地在 Google Colab 中,用程式碼喚醒了 AI,這是一個巨大的里程碑。

但你可能會發現,昨天的程式碼是「寫死的 (Hard-coded)」。也就是說,如果你想換一個主題(例如從「個人成長」換成「理財規劃」),你就必須去修改程式碼內部的文字,這非常不方便。

一個好的工具,應該是靈活、可重複使用的。

今天,我們就要來對昨天的程式碼進行「升級改造」,將它從一個一次性的腳本,變成一個可以讓你自由輸入任何主題的、真正的「內容靈感產生器」小工具。

▋程式化的核心:變數 (Variable) 與函式 (Function)

為了完成這次改造,我們需要理解兩個最基礎、也最重要的程式設計概念:

  • 變數 (Variable):你可以把它想像成一個「有名字的空箱子」。你可以把任何東西(例如文字、數字)放進這個箱子裡,之後只要呼叫這個箱子的名字,就能取用裡面的東西。這讓我們的程式碼變得更有彈性。

  • 函式 (Function):你可以把它想像成一個「有名字的 SOP (標準作業流程)」。我們把一連串的固定操作(例如:呼叫 AI、生成內容)打包成一個 SOP,並為它取一個名字。之後,只要呼叫這個名字,電腦就會自動執行完整個 SOP。這讓我們的程式碼變得可重複使用。

▋實戰開始:改造你的 AI 程式碼

打開我們昨天 Day 19 使用的 Google Colab 筆記本。

第一步:保留初始化與認證部分

我們需要保留最開始的安裝、認證和初始化 Vertex AI 的程式碼儲存格,確保我們的「廚房」是準備好的狀態。

#安裝
!pip install --upgrade google-cloud-aiplatform

#認證
from google.colab import auth
auth.authenticate_user()

#初始化
import vertexai
PROJECT_ID = "你的 Google Cloud 專案 ID"
LOCATION = "us-central1"
vertexai.init(project=PROJECT_ID, location=LOCATION)

第二步:將核心邏輯打包成一個「函式」

現在,我們要建立一個新的程式碼儲存格,並定義我們的第一個函式。我們將這個函式命名為 generate_ideas。

這個函式會做一件事:接收一個「主題 (topic)」作為輸入,然後回傳 AI 生成的內容點子。

【在新的程式碼儲存格中輸入】

『from vertexai.generative_models import GenerativeModel

#定義一個名為 generate_ideas 的函式
#它需要一個名為 topic 的輸入
def generate_ideas(topic: str):
"""
這是一個內容靈感產生器函式。
輸入一個主題,它會回傳 AI 生成的內容點子。
"""

#選擇模型
model = GenerativeModel("gemini-1.0-pro")

#設計我們的 Prompt,這次我們用 f-string 的方式將變數 topic 嵌入
prompt = f"""

你是一位頂尖的內容策略師,專精於為創作者腦力激盪出高品質的內容點子。

我的內容主題是:{topic}

請你為這個主題,生成 5 個具體的、有獨特切角的內容點子。
請以條列式呈現。
"""

# 呼叫 AI 並生成內容
response = model.generate_content(
    prompt,
    generation_config={
        "temperature": 0.7,
    }
)

# 將 AI 的回答回傳出去
return response.text』

執行這個儲存格,你會發現什麼事都沒發生。這是正常的!因為我們只是「定義」了這個 SOP,還沒有真正「使用」它。

第三步:呼叫函式,體驗互動的樂趣

現在,最有趣的部分來了。在下一個新的程式碼儲存格中,我們可以開始「呼叫 (Call)」我們剛剛建立的函式。

【在新的程式碼儲存格中輸入】

『#建立一個變數,把我們想查詢的主題放進去
my_topic = "時間管理"

#呼叫我們的函式,並把 my_topic 當作輸入傳進去
#函式會回傳結果,我們用一個新的變數 ideas 來接收它
ideas = generate_ideas(topic=my_topic)

#把結果印出來看看
print(f"--- 關於「{my_topic}」的內容點子 ---")
print(ideas)
點擊執行,你會看到 AI 為「時間管理」這個主題生成的 5 個內容點子。

現在,試著修改 my_topic 這個變數的值,改成任何你感興趣的主題:

my_topic = "如何理財"
#my_topic = "寵物溝通"
#my_topic = "學習 Python"』

每執行一次,你都能得到針對新主題的靈感。你不再需要去修改龐大的 Prompt 模板,只需要修改一個小小的變數即可!

今天,我們成功地將一段「寫死的」腳本,改造成了一個靈活、可重複使用的「AI 小工具」。我們學會了程式設計中最核心的「變數」與「函式」概念,並親身體驗到程式化帶來的巨大便利。

這不僅僅是寫了幾行程式碼,你已經開始具備「產品經理」的思維:思考如何將一個功能,打包成一個可供他人(或未來的自己)輕鬆使用的工具。

明天,我們將挑戰一個更進階、也更酷的程式碼實戰:學習 Gemini 強大的 Function Calling 功能,讓我們的 AI 不再只能「聊天」,而是能真正地與外部世界互動,例如去查詢即時的網路趨勢!


上一篇
Day 19: Hello, Colab! 執行你的第一行 AI 程式碼
系列文
用 Vertex AI 在 30 天內,打造個人 IP 品牌內容20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言