跳到主要內容

← 作品

個人專案 2026 年 7 月至 9 月

591 租屋推薦 LINE Bot

每天自動找新的租屋物件,用 AI 看照片、打分數,再推到我的 LINE。

角色
獨立設計與開發
技術
PythonFastAPIPostgreSQLLINE Messaging API/LIFFCLIPQwen2.5-VLDocker

為什麼做

找房子最花時間的是看照片。條件一改就得重新篩一遍,照片拍得好不好又會影響判斷。所以我想要一個每天先幫我看過一輪的助手:哪幾間值得點進去,為什麼。

它每天做的事

  1. 1

    爬取新物件

    依縣市抓回新刊登的物件,存進資料庫,並記錄每一天物件還在不在。

  2. 2

    依我的條件篩選、算分

    區域、預算、坪數、關鍵字都在資料庫裡用 SQL 篩,再用規則算出分數。條件是在 LINE 裡用 LIFF 表單設定的。

    LINE 內的 LIFF 表單:設定區域、預算、坪數與關鍵字
    在 LINE 裡設定區域、預算、坪數和關鍵字
  3. 3

    AI 看照片

    先用 CLIP 把照片分成室內、平面圖、外觀等。通過條件的約 20 到 30 間,再交給視覺語言模型逐間評分,寫出理由和需要注意的地方。

  4. 4

    推到 LINE

    推薦的物件會變成 LINE 聊天室裡的卡片,附上照片、租金、坪數和 AI 寫的重點。我在卡片上按「喜歡」「普通」「不喜歡」,這些回饋都會存下來,成為我的偏好資料。

    LINE 聊天室裡的租屋推薦卡片,下方有喜歡、普通、不喜歡三個按鈕
    LINE 聊天室裡收到的推薦卡片

花最多心思的三件事

讓 AI 的評分和我自己對得上

我先自己評一批照片,再和模型的結果逐項比對,找到四類落差:「家具」指的東西不一樣;牆上的彩繪被當成污漬;夜間拍的照片該怎麼算採光;還有 0 分到底代表什麼。我把每一項的定義、要排除的情況,以及「看不出來就填 NA」都寫進提示詞,重測之後多項分數完全一致,其餘差距在 1 到 2 分以內。

爬粗一點,篩細一點

爬蟲只依縣市抓,條件全在本地篩。條件改了不用重爬,過去的資料也能重新套用。每天記錄物件還在不在,下架的速度就成了不需要人工標註的熱度指標。

缺資料就不要硬算

591 的欄位常常不全。缺的項目不給分也不扣分,把權重分給有資料的項目,否則資料完整的物件會一直贏過資料殘缺的。分數也會附上明細,才看得出為什麼這間排第一。

遇到的問題和解法

有一次待評分的物件一口氣累積到一千多筆,加上模型長時間執行後變慢,單一排程跑了超過 24 小時,隔天早上的爬蟲因此被跳過。後來我把爬蟲和照片評分拆成兩個獨立的排程。

做出來的東西

校準後 AI 與我的評分差距,多項完全一致
≤ 2 分
模型費用,CLIP 與視覺語言模型都在本地跑
0 元
AI 看照片評分:裝潢、採光、清潔、家具、照片品質
5 項