跳至主要內容

里程碑

活網仔小精靈:死線戰士的聊天好姐妹

ronawaaaaaaa @gina_0119發布於 已編輯

死線戰士迷迷糊糊趕出來了 XD(真的要死了已盡力 下次繼續優化 版上好多大神瑟瑟發抖)

所以這次想先做一個輕鬆的小東西(聊天小工具),叫「活網仔小精靈」。

我是一個什麼東西都看的人,不管是娛樂性的、知識性的,看到冷知識、冷笑話或一些爛梗,都會覺得蠻有趣的。所以想說...無聊的時候可不可以亂丟給它,就有個東西像姐妹一樣跟我亂聊一下。

然後就是 AI 短劇現在超紅(超毒),一看成主顧意猶未盡,所以就寫了一個推薦的功能

如果今天可能想看復仇戲,明天又想看無限流,然後想再看個詭異

希望它可以幫我推薦然後直接給連結,我就可以自己點開看看,再跟我聊聊XD

你先說,我再看看你說了什麼

我目前的工作流:(請看下面)

左邊開始是 Webhook → HTTP Request1 → AI Agent → HTTP Request。

AI 底下接 OpenAI Chat Model 和 Simple Memory;
左下角停用的 Message a model,是跟著課程做留下來的,現在不在主線裡面。

總之過程是我從 LINE 官方帳號傳訊息

  • LINE 就把資料送進最左邊的 Webhook。
  • 這裡用的是 POST,除了收到我打的那句話,也會收到 userId 和這次回覆要用的 replyToken。
  • 旁邊第一個 HTTP Request1,是先送出 LINE 的等待動畫。

因為 AI 有時候會想一下,先讓我知道它有在處理,不然真的會以為它又沒反應了。
這個節點呼叫 LINE 的 loading/start,chatId 用收到的 userId。

  • 中間的 AI Agent 負責回話的地方。User Message 接的是 Webhook 裡的 body.events[0].message.text,也就是我這次傳的文字;

System Message 則放我希望它做什麼、怎麼講話。
模型用 OpenAI Chat Model 的 GPT-5-mini,找劇時另加 Web Search,圖上沒有另外拉一顆搜尋節點。

  • 底下的 Simple Memory 用 userId 當 Key,記憶長度設 10。

這樣我換一句話,它才有前面的聊天內容可以參考。
目前有先測過跟它說名字和喜好,再問一次它目前有記得,沒有老番癲。

  • 最後那顆 HTTP Request,才是把 AI 的答案送回 LINE。它用 POST 呼叫 LINE 的 /v2/bot/message/reply,把 Webhook 的 replyToken 和 AI Agent 的 output 一起送回去。我後來才比較理解,前面那包是「LINE 傳給我什麼」,最後這包才是「我要回 LINE 什麼」。

正式使用的時候,還要把流程 Publish,LINE Developers 裡也要換成 Production URL。
測試網址要先按聆聽,不能一直當正式網址使用。

本來只是想要個姐妹,結果得到三八阿花
課程版叫小花,會用很多 Emoji,有時候還會寫詩。

經過一番挫折我成功收到回覆,也確認有記憶,但回話就覺得蠻生硬的,姐妹聊天可不能這樣

所以後來改成我自己的版本:繁體中文、短一點、像姐妹聊天。

可以有點吐槽、無厘頭,有點已讀亂回的感覺。不要沒事一直問東問西。

因此現在主線:冷笑話、諧音梗/爛梗、AI 短劇推薦。

冷知識也有保留,我有問再給一則就好。
指令裡有特別寫,一次給一個笑話或一個梗;推薦短劇也只給一部,不要一次丟一大串。

實際聊起來是這樣,這裡把姓名和帳號稱呼拿掉了:

我:講一個冷笑話

它:為什麼數學書很憂鬱?

因為它有太多問題。

我:拿珍珠奶茶接一個諧音爛梗

它:珍珠奶茶?「真煮奶茶」,喝了才知道是不是真心煮的。

接著我換了一個內容:

我:我想看復仇題材的 AI 短劇,或者現在熱門的。

它:推薦《拳拳AI意》,並附上紅果詳情連結。

節點分開拉得出來,接起來又是另一件事

這真的是我做的時候最煩躁的地方。那些節點我分別都拉得出來,但把它串起來,就會想說為什麼東西又跑不動。尤其已經很累的時候,就會更煩躁。

這次有卡在回覆節點。原本 Webhook 直接接 HTTP Request 的時候,後面可以直接拿前面的資料;中間放了 AI 之後,前一顆就不是 Webhook 了。replyToken 得改成明確引用 Webhook,回答文字則接 AI Agent 的 output,不能繼續沿用鸚鵡回聲版的欄位。

AI 的回答如果有換行,也會影響 JSON,所以回傳文字用了 JSON.stringify($json.output)。另外還有一次回覆公式混進舊內容,LINE 就沒回,後來清掉重填,再傳新訊息測。

對我來說:有把線接上,跟資料真的接對,原來還是兩件事。
然後接得動之後,還要再看它的回答到底是不是我要的,像這次 AI 短劇就又是一個例子。

**死線戰士會復活:其實更想把東西整理起來
**
因為我就是一個什麼東西都看的人,娛樂性的、知識性的內容都會看,所以之後很希望可以做到清楚的整理,而不是看完就不知道放哪裡了。

在板上有看到有人做 Notion 的整理,但我自己更常用 Google 家的工具,所以會想往 Google 的工具去做。把看到的連結、主題和重點整理起來,以後比較找得到。要用 Google Sheets、Google Docs,還是搭配 Drive,另外也看到有人用 Apps Script,覺得蠻感興趣的,之後會想試試看。這次就先從這隻可以亂聊一下的小精靈開始,慢慢把課程裡那些東西接起來。

流程圖與作品紀錄:github.com/Immataipeithing/active-net-line-sprite(在新分頁開啟)

0 個愛心0 則留言

登入並驗證手機後就能留言。登入