iT邦幫忙

2025 iThome 鐵人賽

DAY 8
0
生成式 AI

30 天打造你的 AI Agent:LangChain × n8n 實戰系列 第 8

智慧升級!用 Gemini LLM 取代 if/else,打造更加聰明的 Agent

  • 分享至 

  • xImage
  •  

在前幾天,我們完成了 OpenAI 與 Gemini API Key 的註冊與設定。
今天,我們要讓 Agent 不再靠繁瑣的 if/else 判斷,而是用 LLM 來理解指令與決策

這樣做的好處是:

  • 減少硬編碼:不用每個指令都寫 if/elif/else
  • 決策更靈活:Agent 能理解自然語言,根據意圖回應
  • 擴充更容易:新增功能只要調整提示詞,而不必改整個程式邏輯

換句話說,LLM 讓 Agent 的「智慧感」大幅提升 🚀


🔹 核心概念

  1. 替代 if/else 的決策

    • 過去每個指令都靠 if/else 判斷
    • 現在把「判斷邏輯」交給 LLM,用自然語言描述規則
  2. Gemini API 作為智慧核心

    • 使用 chat/completions API 呼叫 Gemini 模型
    • 將使用者輸入與提示詞送給 LLM,取得回覆
  3. 互動循環 (Loop)

    • 使用者輸入自然語言
    • Agent 將輸入傳給 LLM,獲得判斷或回覆
    • 保持對話感與操作感

Python 實作:「LLM 決策型 Agent」

# LLM Agent with Gemini
import google.generativeai as genai

# 設定 Gemini API 金鑰(請使用完整的有效金鑰)
genai.configure(api_key="YOUR_GEMINI_API_KEY")

# 初始化模型
model = genai.GenerativeModel("gemini-1.5-flash")

# 開始對話
chat = model.start_chat(history=[])

def llm_decision_agent(user_input):
    try:
        response = chat.send_message(user_input)
        return response.text
    except Exception as e:
        return f"錯誤:{e}\n請檢查你的 Gemini API 金鑰是否正確。"

def agent_loop():
    print("嗨!我是你的 LLM Agent(Gemini 驅動)。")
    print("輸入 '離開' 結束對話。")

    while True:
        user_input = input("\n請輸入指令: ")
        if user_input.lower() == "離開":
            print("掰掰~祝你今天順利!")
            break
        result = llm_decision_agent(user_input)
        print(result)

# 執行 Agent
agent_loop()

https://ithelp.ithome.com.tw/upload/images/20250919/20168458QsRh6IH2iC.png


✅ 升級重點

  1. 告別 if/else:直接把「決策」交給 LLM
  2. 自然語言互動:輸入「今天有什麼新聞?」或「告訴我一個生態景點」,都能理解
  3. Gemini 模型支援:運用 Google Gemini 的強大能力,讓 Agent 更靈活

💡 小提醒

  • 這個 LLM Agent 仍然可以搭配我們前面學的「規則型 Agent + 外部功能」,
    例如查天氣、計算倒數日、格式化數字。
  • 先練好這個 LLM 決策模式,再整合到 FastAPI 或 LangChain,就能做成更完整的智慧型 Agent 服務。

上一篇
會呼叫天氣的 Agent?
下一篇
認識 LangChain:為什麼開發 LLM Agent 要用它?
系列文
30 天打造你的 AI Agent:LangChain × n8n 實戰10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言