顯示具有 AI 標籤的文章。 顯示所有文章
顯示具有 AI 標籤的文章。 顯示所有文章

2025年8月27日 星期三

[AI] 適合科技資訊教育的AI課程(AI&IT Education Programming)

傳統程式教育加上AI會產生什麼火花呢?以下內容也許是一個可以參考的方向!

教學目的:利用AI製作網頁遊戲,進而熟悉使用AI模型及程式語法。

步驟一:利用 ChatGPTClaudeCanva AI 輸入敘述(prompt)

遊戲敘述範例:

一、設計一個有趣的打地鼠遊戲!包含計分、計時和可愛的地鼠動畫。

二、寫一個黑白棋的網頁程式(英語:Reversi),又稱翻轉棋、蘋果棋或奧賽羅棋(Othello),是一種雙人對弈的棋類遊戲。

三、製作一個網頁版的太空射擊隕石遊戲

    1. 隕石各種不同大小及形狀,從外飛來
    2. 我們駕駛的是太空飛機
    3. 可以發射雷射來擊碎隕石
    4. 有分數及關卡的功能
    5. 分數達到一定程度可過關
    6. 過關畫面是到一顆美麗的星球

步驟二:下載 HTML網頁格式檔案 或線上進行修改 HTML檔案

可修改網頁程式內容,修改簡單的生命值或武器,增加更多遊戲趣味。

底下遊戲網址及畫面供參考。


打地鼠遊戲(whack mole javascript game)_V1


2025年7月17日 星期四

[AI] 利用 AI 將PDF表格轉成可供方便查詢的網頁(以宜蘭縣冬山鄉免費巴士時刻表為例)

 在網路上經常看到這樣的 PDF檔案連結,尤其是行政機關及學校單位... 

https://www.dongshan.gov.tw/uploads/WebNewsFile/0000003066.pdf


閱讀網頁內容常感到麻煩,不僅需要點開頁面,還得用手指滑動操作,實在頗為不便。然而,公務機關往往認為只要將資料上傳至網路即可,卻鮮少思考如何提供更友善的呈現方式。

既然AI技術可供運用,我們便嘗試將PDF檔案上傳至不同語言模型,測試其轉換網頁資料的效率。結果顯示,Claude模型表現最佳,能一次性完成所有轉換工作,生成正確的網頁資料。相較之下,其他模型僅能完成部分轉換,無法完全由AI獨立完成。然而,Claude生成的程式碼量也超出預期。


不論是用手機或電腦瀏覽都非常不錯,AI 的確可以提高工作效率,公務員應該都來學一下才對。

時刻表如下:

冬山鄉冬山線免費巴士時刻表
冬山鄉大進線免費巴士時刻表


2025年6月15日 星期日

[AI] 如何快速擷取圖片上的文字,並利用AI來幫助閱讀及分析內容?

✅ 一、電腦端工具(Windows / macOS)

1. 使用 Google Keep(免費,跨平台)

  • 上傳圖片到 Google Keep 筆記。

  • 點擊圖片,選單中選「擷取圖片中的文字」。

  • Keep 會自動將圖片文字辨識出來放在文字區。

2. 使用 OneNote(Windows 內建或 Office 軟體)

  • 將圖片貼進 OneNote。

  • 右鍵點選圖片 → 選擇「複製圖片中的文字」。

3. 使用 Snipaste + OCR(Windows 推薦工具)

  • 安裝 Snipaste

  • 搭配 Tesseract OCR 模組,就能對截圖立即進行文字辨識。

4. macOS 內建「即時文字」(macOS Monterey 以上)

  • 開啟圖片,用預覽或照片 app。

  • 將滑鼠移至圖片上有文字的區域,出現游標即可複製文字。
    (也可用 Command+C 複製貼上)


✅ 二、手機端方法(Android / iPhone)

1. Google Lens(Android 與 iOS 通用)

  • 開啟 Google 相簿或 Google Lens app。

  • 選圖片 → 點「文字」 → 可選取並複製圖片文字。

2. iOS「即時文字」功能(iOS 15 以上)

  • 打開照片 App,點圖片。

  • 手指長按圖片上的文字 → 即可選取與複製。

3. 第三方 App:Text Scanner OCR、Microsoft Lens、Adobe Scan

  • 支援中文、英文等多語辨識,並可直接轉為文字檔、Word 或 PDF。


✅ 三、線上工具(免安裝,適合偶爾使用)

操作方式大致為:

  1. 上傳圖片。

  2. 選擇語言(中文 / 英文)。

  3. 按「開始辨識」。

  4. 下載或複製結果。


2025年6月10日 星期二

[AI] 目前熱門語言模型介紹與簡易分析(chatgpt、gemini、deepseek、grok、claude、llama)


以下為目前主流的語言模型。這些模型在自然語言處理(NLP)、多模態任務及其他應用場景中表現突出,各有其獨特優勢與局限性。


1. DeepSeek(DeepSeek-AI)https://www.deepseek.com/

介紹:DeepSeek 是由中國公司 DeepSeek-AI 開發的開源大型語言模型(LLM)。DeepSeek 以高效、低成本和高性能為目標,支援多語言(英語、漢語等)、程式碼生成、數學推理及多模態任務。其開源性質使其在研究與商業應用中備受關注,尤其在醫療、災害應對等領域展現潛力。

優點

  • 高效能與低成本:DeepSeek V3 訓練成本較同規模模型低,推理速度提升,適合資源受限環境。
  • 開源與靈活性:支援研究者與企業進行微調與本地部署,適合醫療等對隱私敏感的場景。
  • 多領域表現:在數學、程式碼生成及醫療任務中表現出色,接近或超越 GPT-4 和 LLaMA。
  • 多模態與多語言:DeepSeek-VL 支援圖像與文本處理,訓練數據包含 60% 英語、30% 漢語,適合多語言場景。
  • 創新架構:採用多標記預測、強化學習與知識蒸餾技術,提升推理能力與模型效率,在無監督推理任務中表現突出。

缺點

  • 推理延遲:儘管優化了效率,DeepSeek 的推理延遲仍高於小型密集模型,可能影響實時應用。
  • 資料品質問題:部分用戶報告 DeepSeek 在接入某些網絡數據後,生成內容可能帶有偏見或不準確,顯示出資料污染風險。
  • 語言自然性:相較於 Claude 或 Grok 3,DeepSeek 的對話有時缺乏人性化表達,可能顯得較為機械化。
  • 非前沿模型:DeepSeek R1 在某些任務(如醫療影像報告總結)上表現不如 ChatGPT-o1,顯示其在特定領域的局限性。

適用場景:醫療診斷、程式碼生成、數學推理、災害應對、開源研究項目。


2. Grok 3(xAI)https://grok.com/

介紹:Grok 3 是 xAI 開發的多模態語言模型,強調科學推理與實時資訊檢索。支援文本、圖像處理,並提供免費版本。

優點

  • 實時搜索:DeepSearch 整合網絡與 X 平台資料,提供最新資訊。
  • 多模態:支援圖像與文本,應用範圍廣。
  • 科學推理:在學術與研究問題上表現優異。
  • 免費存取:降低使用門檻。

缺點

  • 額度限制:免費版功能受限,高階功能未公開。
  • 語言覆蓋:非英語語言表現可能不如專注特定語言的模型。
  • 透明度:模型架構細節公開較少。

適用場景:學術研究、即時資訊查詢、多模態任務。


3. ChatGPT(OpenAI)https://chatgpt.com/

介紹:基於 GPT-4 系列的模型,支援對話、內容生成、程式碼撰寫等多模態任務,廣泛應用於個人與企業場景。

優點

  • 通用性:在對話、翻譯、程式碼生成等任務中表現出色。
  • 上下文理解:長對話保持連貫性。
  • 生態系統:與 OpenAI API 及 DALL·E 整合良好。

缺點

  • 成本高:高級功能需付費。
  • 時效性:缺乏實時搜索功能。
  • 偏見風險:可能生成不準確或帶偏見內容。

適用場景:內容生成、程式碼撰寫、通用對話。


4. Claude(Anthropic)https://claude.ai/

介紹:Claude 3.5 由 Anthropic 開發,注重安全性與道德標準,適合教育與企業應用,支援長文本處理。

優點

  • 安全性:避免生成有害內容,適合敏感場景。
  • 語言流暢:生成自然、連貫的文本。
  • 長文本處理:適合複雜文件分析。

缺點

  • 多模態弱:圖像生成等功能不如 ChatGPT。
  • 可用性:主要透過 API 提供,公開渠道有限。
  • 成本:高級功能需付費。

適用場景:教育、企業對話、安全敏感應用。


5. LLaMA 系列(Meta AI)https://www.llama.com/

介紹:LLaMA 3 是 Meta AI 的開源模型,專為研究設計,支援多語言與高效能推理。

優點

  • 高效能:同參數規模下表現優異。
  • 開源:支援微調與自定義。
  • 多語言:非英語語言表現較好。

缺點

  • 僅限研究:不允許商業用途。
  • 部署複雜:需技術能力支持。
  • 倫理風險:開源模型可能被濫用。

適用場景:研究、模型微調、開源項目。


6. Gemini(Google)http://gemini.google.com/

介紹:Google 的 Gemini 系列整合搜索與多模態技術,支援文本、圖像、音頻處理,適合企業應用。

優點

  • 搜索整合:提供高時效性資訊。
  • 多模態:支援圖像、音頻與文本。
  • 企業支援:Google 雲端部署能力強。

缺點

  • 隱私問題:數據收集引發擔憂。
  • 透明度:模型細節公開有限。
  • 競爭力:對話流暢性有時不如 Claude。

適用場景:資訊檢索、企業應用、多模態任務。


7. Microsoft Copilot https://copilot.microsoft.com/

介紹:Microsoft Copilot 是微軟基於 OpenAI 的 GPT 技術開發的 AI 助手,深度整合於 Microsoft 365、Windows、Edge 瀏覽器及 Bing 搜索等產品中。Copilot 專注於提升生產力,支援文本生成、程式碼輔助、數據分析及多模態任務(如圖像處理與文件解析)。

優點

  • 生態整合:無縫嵌入 Microsoft 365(Word、Excel、Teams 等),提升辦公效率。
  • 多模態能力:支援文本、圖像與文件處理,適合工作場景。
  • 搜索功能:透過 Bing 提供實時資訊檢索,時效性較強。
  • 程式碼輔助:在 Visual Studio Code 等環境中表現出色,支援多語言程式設計。

缺點

  • 依賴訂閱:高級功能需 Microsoft 365 訂閱,成本較高。
  • 隱私問題:作為微軟產品,數據處理可能引發隱私顧慮。
  • 創新有限:依賴 OpenAI 技術,自身模型創新性不足。
  • 語言表現:在非英語語言的自然性上可能不如 Claude 或 DeepSeek。

適用場景:辦公自動化、程式碼輔助、企業數據分析。


總結與建議

  • DeepSeek:以低成本與開源優勢脫穎而出,特別適合醫療、數學推理與程式碼生成等專業場景,但需注意資料品質與語言自然性問題。
  • Grok 3:適合需要實時資訊與科學推理的用戶,但免費版額度限制可能影響體驗。
  • ChatGPT:通用性強,適合多數場景,但成本較高。
  • Claude:在安全性與流暢性上表現優異,適合敏感應用。
  • LLaMA:研究者的首選,但商業應用受限。
  • Gemini:適合企業與多模態任務,但隱私問題需關注。
  • Microsoft Copilot:適合需要深度整合 Microsoft 生態的用戶,特別在辦公與程式碼輔助場景表現出色,但成本與隱私問題需考慮。

根據您的需求,若重視成本效益與開源靈活性,DeepSeek 是極佳選擇;若需實時資訊,Grok 3 或 Gemini 更適合;若追求安全性與流暢性,Claude 是首選。

2024年6月15日 星期六

[ChatGPT] 使用 ChatGPT 產生複利現值表 (Compound Interest Table)

 ME:
生成一個可以嵌入網頁的程式,包含4個欄位及一個產生表格的按鈕,

初始金額(本金)

利率開始(%)

利率結束(%)

時間(年或月)使用下拉式選單

按下產生表格之後,就可以顯示複利終值表的表格

並增加表格顏色,增加易讀性。

產生程式如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>複利終值表</title>
    <style>
        body {
            font-family: Arial, sans-serif;
        }
        table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 20px;
        }
        table, th, td {
            border: 1px solid black;
        }
        th, td {
            padding: 10px;
            text-align: center;
        }
        th {
            background-color: #4CAF50;
            color: white;
        }
        tr:nth-child(odd) {
            background-color: #f2f2f2;
        }
        tr:nth-child(even) {
            background-color: #ffffff;
        }
        .input-container {
            margin-bottom: 20px;
        }
        .input-container label {
            margin-right: 10px;
        }
        button {
            margin-top: 10px;
            padding: 10px 20px;
            background-color: #4CAF50;
            color: white;
            border: none;
            cursor: pointer;
        }
        button:hover {
            background-color: #45a049;
        }
    </style>
</head>
<body>
    <h1>複利終值表</h1>
    <div class="input-container">
        <label for="principal">初始金額(本金):</label>
        <input type="number" id="principal" value="1000"><br>
        <label for="rateStart">利率範圍開始(%):</label>
        <input type="number" id="rateStart" value="5" step="0.01"><br>
        <label for="rateEnd">利率範圍結束(%):</label>
        <input type="number" id="rateEnd" value="15" step="0.01"><br>
        <label for="time">時間:</label>
        <input type="number" id="time" value="10"><br>
        <label for="frequency">計算頻率:</label>
        <select id="frequency">
            <option value="year"></option>
            <option value="month"></option>
        </select><br>
        <button onclick="generateTable()">產生表格</button>
    </div>
    <table id="fvTable">
        <thead>
            <tr id="tableHeader">
                <th>期數</th>
            </tr>
        </thead>
        <tbody>
        </tbody>
    </table>

    <script>
        function generateTable() {
            const principal = parseFloat(document.getElementById('principal').value);
            const rateStart = parseFloat(document.getElementById('rateStart').value) / 100;
            const rateEnd = parseFloat(document.getElementById('rateEnd').value) / 100;
            const time = parseInt(document.getElementById('time').value);
            const frequency = document.getElementById('frequency').value;

            const table = document.getElementById('fvTable');
            const thead = table.querySelector('thead tr');
            const tbody = table.querySelector('tbody');
            tbody.innerHTML = '';

            // 清除之前的表頭
            while (thead.firstChild) {
                thead.removeChild(thead.firstChild);
            }

            // 生成新的表頭
            const thPeriod = document.createElement('th');
            thPeriod.textContent = '期數';
            thead.appendChild(thPeriod);

            const rateRange = [];
            for (let rate = rateStart; rate <= rateEnd; rate += 0.01) {
                rateRange.push(rate);
                const th = document.createElement('th');
                th.textContent = `${(rate * 100).toFixed(2)}%`;
                thead.appendChild(th);
            }

            let periods;
            let compoundRate;
            if (frequency === 'year') {
                periods = time;
                compoundRate = 1;
            } else {
                periods = time * 12;
                compoundRate = 12;
            }

            // 生成表格內容
            for (let n = 1; n <= periods; n++) {
                const tr = document.createElement('tr');
                const tdPeriod = document.createElement('td');
                tdPeriod.textContent = n;
                tr.appendChild(tdPeriod);

                rateRange.forEach(rate => {
                    const td = document.createElement('td');
                    const fv = principal * Math.pow(1 + rate / compoundRate, n * compoundRate);
                    td.textContent = fv.toFixed(2);
                    tr.appendChild(td);
                });

                tbody.appendChild(tr);
            }
        }
    </script>
</body>
</html>



複利終值表






期數

熱門文章