<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Google on IT 空間</title><link>https://blog.jiatool.com/tags/Google/</link><description>Recent content in Google on IT 空間</description><generator>Hugo -- gohugo.io</generator><language>zh</language><managingEditor>jia@jiatool.com (Jia)</managingEditor><webMaster>jia@jiatool.com (Jia)</webMaster><copyright>&amp;copy;{year}, Jia All Rights Reserved</copyright><lastBuildDate>Fri, 03 Apr 2026 10:50:00 +0800</lastBuildDate><atom:link href="https://blog.jiatool.com/tags/Google/index.xml" rel="self" type="application/rss+xml"/><item><title>Google 推出新一代開源模型 Gemma 4！</title><link>https://blog.jiatool.com/posts/gemma-4/</link><pubDate>Fri, 03 Apr 2026 10:50:00 +0800</pubDate><author>jia@jiatool.com (Jia)</author><atom:modified>Fri, 03 Apr 2026 10:50:00 +0800</atom:modified><guid>https://blog.jiatool.com/posts/gemma-4/</guid><description>前言 時隔一年，Google 終於再度推出新一代開源模型~ 支援文字和影像輸入(E4B、E2B 多支援音訊)，並首次引入 MoE 架構，而且 license 改成商業上較為</description><content:encoded>&lt;h2 id="前言">前言&lt;/h2>
&lt;p>時隔一年，Google 終於再度推出新一代開源模型~&lt;/p>
&lt;p>支援文字和影像輸入(E4B、E2B 多支援音訊)，並首次引入 MoE 架構，而且 license 改成商業上較為寬鬆的 Apache 2.0 授權，&lt;/p>
&lt;p>在 Arena AI 文本排行榜(開源模型)上，31B 排全球第三、26B 排全球第六。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemma4/gemma4.jpg" alt="Gemma 4 開源模型" data-caption="Gemma 4 開源模型" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='750px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:750px;height:;"/>
&lt;figcaption style="text-align: center;">
Gemma 4 開源模型
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;h2 id="重點介紹">重點介紹&lt;/h2>
&lt;p>✨ Agent 能力：原生支援 function-calling、結構化 JSON 輸出、system 角色，對於現今最流行的自主 Agent 能更好支援。&lt;br />
✨ 影像和音訊：所有模型都原生支援「影像和視訊」輸入，支援多種分辨率 (對於 OCR、圖表識別 任務更出色)。E2B 和 E4B 型號還具備原生音訊輸入。&lt;br />
✨ 推理能力：能夠進行多步驟規劃和深度邏輯推理，因此在數學和指令遵循基準測試中顯著進步，並且可調整思考模式。&lt;br />
✨ Coding 能力：在 Coding 基準測試取得了顯著改進。&lt;br />
✨ 增大 Context Length：31B 和 26B 為 256K；E4B 和 E2B 為 128K。&lt;br />
✨ 140 多種語言：原生支援 140 多種語言。&lt;br />
✨ Apache 2.0 授權&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemma4/arena_score.jpg" alt="Gemma 4 基準測試結果" data-caption="Gemma 4 基準測試結果" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='950px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:950px;height:;"/>
&lt;figcaption style="text-align: center;">
Gemma 4 基準測試結果
&lt;/figcaption>
&lt;/figure>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemma4/elo_score.jpg" alt="Arena.ai 聊天競技場上的開放模型表現與規模對比" data-caption="Arena.ai 聊天競技場上的開放模型表現與規模對比" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='800px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:800px;height:;"/>
&lt;figcaption style="text-align: center;">
Arena.ai 聊天競技場上的開放模型表現與規模對比
&lt;/figcaption>
&lt;/figure>
&lt;br>
&lt;p>[31B 和 26B 模型]&lt;/p>
&lt;ul>
&lt;li>參數量：30.7B (Dense) 和 25.2B (MoE 架構，4B active)
&lt;ul>
&lt;li>26B 的 Expert 數量：8 active / 128 total and 1 shared&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>輸入類型：文字、圖像&lt;/li>
&lt;li>Context Length：256K tokens&lt;/li>
&lt;/ul>
&lt;br>
&lt;p>[E4B 和 E2B 模型]&lt;br />
針對邊緣設備最佳化，例如在行動裝置或筆記型電腦上運行。&lt;/p>
&lt;ul>
&lt;li>參數量：4.5B effective (8B with embeddings) 和 2.3B effective (5.1B with embeddings)&lt;/li>
&lt;li>輸入類型：文字、圖像、音訊&lt;/li>
&lt;li>Context Length：128K tokens&lt;/li>
&lt;/ul>
&lt;br>
&lt;!--adsense-->
&lt;br/>
&lt;h2 id="結語">結語&lt;/h2>
&lt;p>趕緊來試試看~&lt;/p>
&lt;br/>
&lt;p>對生成式 AI 感興趣的讀者，記得追蹤 FB 粉專『&lt;a href="https://www.facebook.com/jiatool" target="_blank" rel="noopener">
IT空間
&lt;/a>』，以免錯過最新的發文通知呦~🔔&lt;/p>
&lt;br/>
&lt;br/>
&lt;hr />
&lt;p>參考：&lt;br />
&lt;a href="hhttps://blog.google/innovation-and-ai/technology/developers-tools/gemma-4/" target="_blank" rel="noopener">
Google 官方部落格介紹
&lt;/a>&lt;br />
&lt;a href="https://ollama.com/library/gemma4" target="_blank" rel="noopener">
Ollama
&lt;/a>&lt;br />
&lt;a href="https://huggingface.co/collections/google/gemma-4" target="_blank" rel="noopener">
Hugging Face
&lt;/a>&lt;br />
&lt;a href="https://huggingface.co/blog/gemma4" target="_blank" rel="noopener">
Hugging Face 的測試文章
&lt;/a>&lt;/p>
&lt;br/>
&lt;blockquote>
&lt;p>在你沒有成功之前，沒有任何人會理解你。&lt;/p>
&lt;p align="right">—— 比爾·蓋茲&lt;/p>
&lt;/blockquote></content:encoded><dc:creator>Jia</dc:creator><media:content url="https://blog.jiatool.comimages/cover/gemma4.jpg" medium="image"><media:title type="html">featured image</media:title></media:content><media:content url="https://blog.jiatool.comimages/posts/gemma4_meta.jpg" medium="image"><media:title type="html">meta image</media:title></media:content><category>Gemma</category><category>Google</category><category>LLM</category><category>AI</category><category>人工智慧</category><category>分享</category></item><item><title>Gemini Diffusion 模型開放試玩，速度快 5 倍！</title><link>https://blog.jiatool.com/posts/try_gemini_diffusion/</link><pubDate>Sat, 07 Jun 2025 17:50:00 +0800</pubDate><author>jia@jiatool.com (Jia)</author><atom:modified>Sat, 07 Jun 2025 17:50:00 +0800</atom:modified><guid>https://blog.jiatool.com/posts/try_gemini_diffusion/</guid><description>前言 Google 的 Gemini Diffusion 模型開放試玩了！✨ 它跟現在常見的文字生成模型不同，不是一個一個字逐字生成，而是像生成圖片的 Diffusion 模型，從一開始雜訊慢慢變成清晰的圖片</description><content:encoded>&lt;h2 id="前言">前言&lt;/h2>
&lt;p>Google 的 Gemini Diffusion 模型開放試玩了！✨&lt;/p>
&lt;br>
&lt;p>它跟現在常見的文字生成模型不同，不是一個一個字逐字生成，而是像生成圖片的 Diffusion 模型，從一開始雜訊慢慢變成清晰的圖片。&lt;/p>
&lt;p>Gemini Diffusion 也是，從一開始不連貫的文字，迭代逐漸變通順 (但因為太快了，也看不清楚🤣)，蠻奇特的感覺。&lt;/p>
&lt;p>而且速度快好幾倍，我實測平均每秒大概 700～800 tokens (也有到 1100 tokens)，生成長度越長、平均速度應該越快。&lt;/p>
&lt;br>
&lt;ul>
&lt;li>試玩網站 (可能要有加入候補名單)：&lt;br />
&lt;a href="https://deepmind.google.com/frontiers/gemini-diffusion">https://deepmind.google.com/frontiers/gemini-diffusion&lt;/a>&lt;/li>
&lt;/ul>
&lt;br>
&lt;ul>
&lt;li>Gemini Diffusion 官網：&lt;a href="https://deepmind.google/models/gemini-diffusion/">https://deepmind.google/models/gemini-diffusion/&lt;/a>&lt;/li>
&lt;li>官方介紹：&lt;a href="https://blog.google/technology/google-deepmind/gemini-diffusion/">https://blog.google/technology/google-deepmind/gemini-diffusion/&lt;/a>&lt;/li>
&lt;/ul>
&lt;br>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/try_gemini_diffusion/gemini_diffusion_website.jpg" alt="Gemini Diffusion 網站" data-caption="Gemini Diffusion 網站" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='700px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:700px;height:;"/>
&lt;figcaption style="text-align: center;">
Gemini Diffusion 網站
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;!--adsense-->
&lt;h2 id="gemini-diffusion-簡介">Gemini Diffusion 簡介&lt;/h2>
&lt;p>Gemini Diffusion 與目前一般主流的 LLM 模型架構，在生成方式、訓練方式上有很大的不同。&lt;/p>
&lt;p>Autoregressive Language Model (自回歸模型，例如 GPT、Gemini 系列) 是以序列的方式生成資料，一次只能生成一個 token，也因此難以並行處理。&lt;/p>
&lt;p>而 Diffusion Model (擴散模型) 是從隨機雜訊逐漸「去噪」回清晰的資料，目前主力在圖片生成方面 (例如 DALL·E、Stable Diffusion)，但 Diffusion 模型最初是為連續數據 (如圖片) 設計的，文字是離散的數據，因此 Diffusion 模型在文字生成方面效果、成熟度還不如自回歸模型。&lt;/p>
&lt;br/>
&lt;p>Google 號稱跟 Gemini 2.0 Flash-Lite 相比，可以提升到 5 倍速度。&lt;/p>
&lt;p>官方展示影片：&lt;br />
&lt;video controls muted loop width="1920" height="1080" autoplay>&lt;br />
&lt;source src="https://deepmind.google/api/blob/website/media/gemini-diffusion__example-1.mp4" type="video/mp4">&lt;br />
&lt;/video>&lt;/p>
&lt;br/>
&lt;p>但相比主流的自回歸模型，Diffusion 模型用在文字生成方面，表現還是略微遜色。&lt;/p>
&lt;p>目前 Gemini Diffusion 大約同等於 Gemini 2.0 Flash-Lite 的分數：&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/try_gemini_diffusion/gemini_diffusion_benchmark.jpg" alt="Playground - Benchmark" data-caption="Playground - Benchmark" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='450px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:450px;height:;"/>
&lt;figcaption style="text-align: center;">
Playground - Benchmark
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;h2 id="試玩網站">試玩網站&lt;/h2>
&lt;p>Gemini Diffusion 試玩網站提供兩種介面 (頁面右上角)：&lt;/p>
&lt;ul>
&lt;li>Playground&lt;/li>
&lt;li>Instant edit&lt;/li>
&lt;/ul>
&lt;br/>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/try_gemini_diffusion/gemini_diffusion_playground.jpg" alt="Gemini Diffusion 試玩網站" data-caption="Gemini Diffusion 試玩網站" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='800px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:800px;height:;"/>
&lt;figcaption style="text-align: center;">
Gemini Diffusion 試玩網站
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;h3 id="playground-介面">Playground 介面&lt;/h3>
&lt;p>就像常見的聊天介面，一問一答的方式：&lt;/p>
&lt;blockquote>
&lt;p>prompt：給我五種台灣五天自由行的詳細規劃&lt;/p>
&lt;/blockquote>
&lt;p>(3216 tokens / 3.992s = 806 tokens/s)&lt;/p>
&lt;p>完成後下方會顯示 token 總數與耗時。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/try_gemini_diffusion/playground_travel.jpg" alt="Playground - 行程規劃" data-caption="Playground - 行程規劃" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:1000px;height:;"/>
&lt;figcaption style="text-align: center;">
Playground - 行程規劃
&lt;/figcaption>
&lt;/figure>
&lt;p>* 我也使用 Gemini 2.0 Flash-Lite 輸入一樣的 prompt，生成速度為 158 tokens/s (總共 2722 tokens)，差不多 Gemini Diffusion 就是它的 5.1 倍！&lt;br />
* 不過我不知道兩者背後的主機硬體是否相同，所以不確定這樣比較速度是否準確。&lt;/p>
&lt;br>
&lt;p>並且像是網頁的程式碼，也可以直接預覽和查看程式碼：&lt;/p>
&lt;blockquote>
&lt;p>prompt：生成一個 todo list 前端網頁&lt;/p>
&lt;/blockquote>
&lt;p>(1791 tokens / 2.522s = 711 tokens/s)&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/try_gemini_diffusion/playground_html.jpg" alt="Playground - 前端網頁" data-caption="Playground - 前端網頁" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:1000px;height:;"/>
&lt;figcaption style="text-align: center;">
Playground - 前端網頁
&lt;/figcaption>
&lt;/figure>
&lt;p>* 使用 Gemini 2.0 Flash-Lite 輸入一樣的 prompt，生成速度為 182 tokens/s (總共 2243 tokens)，是 Gemini Diffusion 的 3.9 倍。&lt;/p>
&lt;br>
&lt;p>測試寫 Python、C#、JavaScript 程式碼：&lt;/p>
&lt;blockquote>
&lt;p>prompt：使用 Python 判斷網址是否為正確格式，不要使用正則表達式，並添加至少 5 個測試案例，然後將其翻譯為 C# 與 JS。解釋其時間複雜度。&lt;/p>
&lt;/blockquote>
&lt;p>(4131 tokens / 3.646s = 1134 tokens/s)&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/try_gemini_diffusion/playground_code.jpg" alt="Playground - Python、C#、JavaScript 程式碼" data-caption="Playground - Python、C#、JavaScript 程式碼" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:1000px;height:;"/>
&lt;figcaption style="text-align: center;">
Playground - Python、C#、JavaScript 程式碼
&lt;/figcaption>
&lt;/figure>
&lt;p>* 使用 Gemini 2.0 Flash-Lite 輸入一樣的 prompt，生成速度為 164 tokens/s (總共 1608 tokens)，是 Gemini Diffusion 的 6.9 倍！&lt;/p>
&lt;br>
&lt;h3 id="instant-edit-介面">Instant edit 介面&lt;/h3>
&lt;p>有點類似很基礎的 ChatGPT Canvas 或 Gemini Canvas，可以幫你針對文章、程式碼去優化/簡化文字、更改格式、修復程式碼 bug，主要應該是 UI 上的不同。&lt;/p>
&lt;p>針對有變更的部分，它會標示出來。&lt;/p>
&lt;blockquote>
&lt;p>prompt：優化以上文章&lt;/p>
&lt;/blockquote>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/try_gemini_diffusion/instant_edit_optimization.jpg" alt="Instant edit - 優化文章" data-caption="Instant edit - 優化文章" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:1000px;height:;"/>
&lt;figcaption style="text-align: center;">
Instant edit - 優化文章
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;!--adsense-->
&lt;h2 id="結語">結語&lt;/h2>
&lt;p>因為它是一次生成大範圍的文字，所以假如只是簡短的輸出，那平均速度就很慢了：&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/try_gemini_diffusion/diffusion_short_output.jpg" alt="Gemini Diffusion 簡短的輸出" data-caption="Gemini Diffusion 簡短的輸出" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='750px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:750px;height:;"/>
&lt;figcaption style="text-align: center;">
Gemini Diffusion 簡短的輸出
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;br/>
&lt;p>另外，&lt;br />
目前文字生成的擴散模型，商業用途開放的除了 Gemini Diffusion，應該只有 &lt;a href="https://www.inceptionlabs.ai/introducing-mercury" target="_blank" rel="noopener">
Inception 的 Mercury
&lt;/a>，在 &lt;a href="https://chat.inceptionlabs.ai/" target="_blank" rel="noopener">
Mercury Coder Playground
&lt;/a> 登入就可以玩了。&lt;/p>
&lt;p>所以假如你還沒辦法使用 Gemini Diffusion，也可以到 Mercury Coder 體驗一下 Diffusion Model 有趣的生成的效果。&lt;/p>
&lt;br/>
&lt;br/>
&lt;p>如果對於 生成式 AI 有興趣的讀者，記得追蹤『&lt;a href="https://www.facebook.com/jiatool" target="_blank" rel="noopener">
IT空間
&lt;/a>』FB 粉專，才不會錯過最新的發文通知呦~🔔&lt;/p>
&lt;br/>
&lt;br/>
&lt;hr />
&lt;p>參考：&lt;br />
&lt;a href="https://deepmind.google/models/gemini-diffusion/" target="_blank" rel="noopener">
Gemini Diffusion 官網
&lt;/a>&lt;br />
&lt;a href="https://blog.google/technology/google-deepmind/gemini-diffusion/" target="_blank" rel="noopener">
Gemini Diffusion is our new experimental research model
&lt;/a>&lt;br />
&lt;a href="https://deepmind.google.com/frontiers/gemini-diffusion" target="_blank" rel="noopener">
Gemini Diffusion 試玩網站
&lt;/a>&lt;/p>
&lt;br/>
&lt;blockquote>
&lt;p>Smart people focus on the right things.&lt;br />
有智慧的人懂得專注於對的事情。&lt;/p>
&lt;p align="right">—— 黃仁勳 (NVIDIA 共同創辦人暨執行長)&lt;/p>
&lt;/blockquote></content:encoded><dc:creator>Jia</dc:creator><media:content url="https://blog.jiatool.comimages/cover/try_gemini_diffusion.jpg" medium="image"><media:title type="html">featured image</media:title></media:content><media:content url="https://blog.jiatool.comimages/posts/try_gemini_diffusion_meta.jpg" medium="image"><media:title type="html">meta image</media:title></media:content><category>Diffusion</category><category>Gemini</category><category>Google</category><category>LLM</category><category>生成式AI</category><category>AI</category><category>人工智慧</category><category>分享</category></item><item><title>透過 Gemini 原生音訊，自動生成 Podcast 對話 (使用 Google AI Studio)</title><link>https://blog.jiatool.com/posts/gemini_podcast_speech/</link><pubDate>Sun, 25 May 2025 21:15:00 +0800</pubDate><author>jia@jiatool.com (Jia)</author><atom:modified>Fri, 30 May 2025 17:05:00 +0800</atom:modified><guid>https://blog.jiatool.com/posts/gemini_podcast_speech/</guid><description>前言 這次 Google I/O 2025 公布了支援原生音訊輸出文字轉語音 (TTS) 的 Gemini 2.5 Pro 和 Flash，可以指定語音的風格、口音、速度和音調等等，而且還可以一次生成單一發言者</description><content:encoded>&lt;h2 id="前言">前言&lt;/h2>
&lt;p>這次 Google I/O 2025 公布了支援原生音訊輸出文字轉語音 (TTS) 的 Gemini 2.5 Pro 和 Flash，可以指定語音的風格、口音、速度和音調等等，而且還可以一次生成單一發言者或多位發言者。&lt;/p>
&lt;p>同步，Google AI Studio 也加入 &lt;a href="https://aistudio.google.com/generate-speech" target="_blank" rel="noopener">
Gemini speech generation
&lt;/a> 介面，方便我們透過網頁 UI 直接試玩。&lt;/p>
&lt;p>延伸閱讀：&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://blog.jiatool.com/posts/google_io_2025/" target="_blank" rel="noopener">
Google I/O 2025 條列 AI 重點 (包含官方文章連結)
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://developers.googleblog.com/en/google-ai-studio-native-code-generation-agentic-tools-upgrade/" target="_blank" rel="noopener">
An upgraded dev experience in Google AI Studio
&lt;/a>&lt;/li>
&lt;/ul>
&lt;br>
&lt;br>
&lt;p>我就想到 Google 的 NotebookLM，它透過 AI 自動從多篇文章整理並生成出一段通順、自然的語音摘要功能 (Audio Overview)，是由兩位虛擬主持人對話的 Podcast 語音，非常的厲害，讓我很想一玩再玩。&lt;/p>
&lt;p>那既然這次 Google 公布了原生音訊輸出文字轉語音 (TTS) ，就想說感覺應該可以自己來試試，不管是逐字稿，還是對話語音，都由 Gemini 來生成 (&lt;del>我只要坐在旁邊看就好&lt;/del>)。&lt;/p>
&lt;p>相比 NotebookLM，透過此方法可以有更高的自由度、主控權，例如調整每一句要講什麼內容、Podcast 整體長度、細節語氣變化&amp;hellip;等等。&lt;/p>
&lt;br>
&lt;p>成品效果會像這樣：&lt;/p>
&lt;p>&lt;audio controls preload="metadata" src="https://blog.jiatool.com/audio/podcast_introduce_gemini(achernar_rasalgethi).wav">&lt;/audio>&lt;/p>
&lt;br>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_podcast_speech/gemini_speech_generation.jpg" alt="Google AI Studio &amp;gt; Gemini speech generation" data-caption="Google AI Studio &amp;gt; Gemini speech generation" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='700px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:700px;height:;"/>
&lt;figcaption style="text-align: center;">
Google AI Studio &amp;gt; Gemini speech generation
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;div class="alert alert-info" role="alert" data-dir="ltr">[小廣告] 我製作了一款可愛的「&lt;a href="https://blog.jiatool.com/posts/penguin_wizard_sticker">企鵝魔法師&lt;/a>」貼圖~&lt;br />
歡迎下載：&lt;a href="https://line.me/S/sticker/31703222">LINE 貼圖&lt;/a>、&lt;a href="https://t.me/addstickers/penguin_wizard">Telegram 貼圖 (免費)&lt;/a>&lt;/p>
&lt;img src="https://res.cloudinary.com/jiablog/penguin_wizard_sticker/show.png" caption="企鵝魔法師" width="600px" position="center">&lt;/div>
&lt;br/>
&lt;h2 id="gemini-speech-generation-介面">Gemini speech generation 介面&lt;/h2>
&lt;p>先來了解一下 Google AI Studio 的 &lt;a href="https://aistudio.google.com/generate-speech" target="_blank" rel="noopener">
Gemini speech generation
&lt;/a> 操作介面，在 Generate Media &amp;gt; Gemini speech generation。&lt;/p>
&lt;br>
&lt;br>
&lt;p>直接先看右側的面板。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_podcast_speech/ui_settings.jpg" alt="介面右側 - 語音設定" data-caption="介面右側 - 語音設定" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='240px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:240px;height:;"/>
&lt;figcaption style="text-align: center;">
介面右側 - 語音設定
&lt;/figcaption>
&lt;/figure>
&lt;p>可以選擇生成語音的模型，目前有兩個模型可以選擇：&lt;/p>
&lt;ul>
&lt;li>Gemini 2.5 Pro Preview TTS&lt;/li>
&lt;li>Gemini 2.5 Flash Preview TTS&lt;/li>
&lt;/ul>
&lt;p>建議優先使用「Gemini 2.5 Pro Preview TTS」模型，我測試起來效果還是比較好的。&lt;/p>
&lt;br>
&lt;p>再來選擇要單一發言者或多位發言者(目前最多兩位)：&lt;/p>
&lt;ul>
&lt;li>Single-speaker audio&lt;/li>
&lt;li>Multi-speaker audio&lt;/li>
&lt;/ul>
&lt;br>
&lt;p>最後 &amp;quot;Voice settings &amp;quot; 個別設定他們的名字與語音風格。&lt;br />
語音風格每個都可以點擊播放鍵試聽，目前&lt;a href="https://ai.google.dev/gemini-api/docs/speech-generation?hl=zh-tw#voices" target="_blank" rel="noopener">
共有 30 種語音風格
&lt;/a>可以選擇。&lt;/p>
&lt;p>* 雖然官方文件內寫&lt;a href="https://ai.google.dev/gemini-api/docs/speech-generation?hl=zh-tw#languages" target="_blank" rel="noopener">
目前支援的語言沒有中文
&lt;/a>，但我測試中文結果還是不錯的。&lt;/p>
&lt;br>
&lt;br>
&lt;p>看回中間的部分，設定文字腳本 (也就是我們希望它念的內容)，分成左右兩邊 &amp;quot;Raw structure&amp;quot; 和 &amp;quot;Script builder&amp;quot;，其實他們是一樣的內容，修改其中一邊，另一邊也會跟著同步。&lt;/p>
&lt;p>之後我們生成的逐字稿內容，可以直接一次貼在左邊的 &amp;quot;Raw structure&amp;quot;，較方便。&lt;br />
右邊的 &amp;quot;Script builder&amp;quot; 只是為了讓我們在 UI 上操作，並確認格式有沒有跑掉。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_podcast_speech/ui_script.jpg" alt="介面中間 - 文字腳本" data-caption="介面中間 - 文字腳本" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='750px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:750px;height:;"/>
&lt;figcaption style="text-align: center;">
介面中間 - 文字腳本
&lt;/figcaption>
&lt;/figure>
&lt;br>
&lt;h2 id="從文章生成-podcast-語音">從文章生成 Podcast 語音&lt;/h2>
&lt;p>這次我們最主要的目的，是想要「從文章去生成出一段 Podcast 風格的對話語音」。&lt;/p>
&lt;p>我的基礎概念很簡單，就是先由 Gemini 模型將一篇(或多篇)文章整理成 Podcast 逐字稿，再交由 Gemini TTS 模型去生成出 Podcast 語音檔案。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_podcast_speech/flow.png" alt="從文章生成 Podcast 語音" data-caption="從文章生成 Podcast 語音" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
從文章生成 Podcast 語音
&lt;/figcaption>
&lt;/figure>
&lt;p>接下來，一起來實際看看該怎麼操作吧~🚀&lt;/p>
&lt;br>
&lt;h3 id="生成-podcast-逐字稿">生成 Podcast 逐字稿&lt;/h3>
&lt;p>首先，我們後續想透過 Gemini TTS 模型生成語音，就要先來了解它支援的腳本架構。&lt;/p>
&lt;p>* 因為我想要的是兩人的 Podcast 風格，因此我是選擇 &amp;quot;Multi-speaker audio&amp;quot; (兩位發言者)。&lt;/p>
&lt;br>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_podcast_speech/ui_script.jpg" alt="介面中間 - 文字腳本 (&amp;#34;Multi-speaker audio&amp;#34;)" data-caption="介面中間 - 文字腳本 (&amp;#34;Multi-speaker audio&amp;#34;)" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
介面中間 - 文字腳本 (&amp;#34;Multi-speaker audio&amp;#34;)
&lt;/figcaption>
&lt;/figure>
&lt;br>
&lt;p>它的開頭是 &amp;quot;Style instructions&amp;quot;，可以針對風格、口音、速度、音調&amp;hellip;等等去描述。&lt;/p>
&lt;br>
&lt;p>再來就是每位發言者說的內容，前面使用 &lt;code>Speaker 1:&lt;/code> 和 &lt;code>Speaker 2:&lt;/code> 來標示 (這兩個名字可以換，記得要去右測面板 &amp;quot;Voice settings&amp;quot; 設定)&lt;/p>
&lt;p>我測試發現，有關說話的語氣、情緒也可以寫在內容裡，不過要做點標示讓 AI 能懂，它才不會以為是逐字稿而唸出來，像我是使用 &lt;code>{{}}&lt;/code> 符號來跟一般內容區隔。這部分官方沒有說明，用別的符號也可以，但不要用單個小括號 &lt;code>()&lt;/code>，我測試過它有時候會不小心說出來 XD&lt;/p>
&lt;p>* 如果不指定語氣、情緒，模型也會自動根據文字內容產生符合的，但這就像是通訊軟體內的文字訊息，同樣一句話，但不同人看，可能會有不同的理解與感受。因此明確標註語氣或情緒，能幫助模型生成更準確符合我們的預期。&lt;/p>
&lt;br>
&lt;br>
&lt;hr>
&lt;p>了解腳本架構後，我們來到 &amp;quot;&lt;a href="https://aistudio.google.com/prompts/new_chat" target="_blank" rel="noopener">
Google AI Studio &amp;gt; Chat
&lt;/a>&amp;quot;。&lt;/p>
&lt;br>
&lt;p>我這邊是使用 Gemini 2.5 Pro Preview 模型，比較聰明，效果應該會更好。&lt;/p>
&lt;br>
&lt;p>[2025/05/30 補充]&lt;/p>
&lt;p>目前我有想到三種文章來源的方法：&lt;/p>
&lt;ol>
&lt;li>自己手動複製文章內容&lt;/li>
&lt;li>透過「網址」- URL context&lt;/li>
&lt;li>透過「Google 搜尋」- Grounding with Google Search&lt;/li>
&lt;/ol>
&lt;h4 id="自己手動複製文章內容">自己手動複製文章內容&lt;/h4>
&lt;p>這是最直覺的方法，也就是去網路上找到文章，然後手動複製文章內容到 prompt 裡面，相對來說較麻煩一些，但是可以自己刪減、微調文章內容。&lt;/p>
&lt;p>以下是我自己想出來的 prompt，各位可以直接複製來用，並依照自己的需求修改：&lt;/p>
&lt;pre>&lt;code>根據以下文章內容，整理出雙人 Podcast 逐字稿，遵循以下規則：
- 逐字稿使用繁體中文。
- 逐字稿總長度約 1000 字。
- 分別有 主持人 &amp;quot;Speaker 1&amp;quot; 與 主持人 &amp;quot;Speaker 2&amp;quot;，&amp;quot;Speaker 1&amp;quot; 為台灣人年輕女性、&amp;quot;Speaker 2&amp;quot; 為台灣人年輕男性。
- 如果有必要，主持人互相使用 &amp;quot;你&amp;quot; 稱呼。
- 皆使用台灣用語、台灣連接詞，可以適時使用台灣狀聲詞。
- 如果有需要描述語氣、情緒，使用 &amp;quot;{{}}&amp;quot;，例如 &amp;quot;{{哈哈大笑}}&amp;quot; 或 &amp;quot;{{難過情緒}}&amp;quot;。
- 只需要輸出逐字稿，不需要其他說明。
- &amp;lt;其他要求，例如流程、架構、著重特定聽者&amp;gt;
逐字稿範例：
```
Speaker 1: {{驚嘆}} 哇塞！各位聽眾朋友，你們知道嗎？
Speaker 2: {{疑問語氣}} 最近有什麼有趣的新聞嗎？
Speaker 1: NotebookLM 最近加入一個「Audio Overviews」新功能。
Speaker 2: {{小小的疑問}} 你是說 Google 推出的 NotebookLM 嗎？
Speaker 1: 沒錯！它最近有個新功能，可以把 PDF、影片、圖檔這些資料，直接做成精美的簡報，而且還有圖片跟流暢的旁白喔！據說它可能用了那個很威的影片生成模型 Veo2。
Speaker 2: {{語氣轉折、好奇}} 不過咧，講到這裡，可能有些台灣朋友會想說：「{{疑問語氣}} 那中文版可以用嗎？」
Speaker 1: {{微微嘆氣}} 欸，很可惜，目前中文版的 NotebookLM 還沒看到這個 Video Overviews 的功能...
```
文章內容：
```
&amp;lt;文章內容貼這裡&amp;gt;
```
&lt;/code>&lt;/pre>&lt;br>
&lt;p>例如我餵給它這篇文章：&lt;a href="https://blog.google/technology/google-deepmind/google-gemini-updates-io-2025/" target="_blank" rel="noopener">
Gemini 2.5: Our most intelligent models are getting even better
&lt;/a>&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_podcast_speech/generate_transcript.jpg" alt="生成 Podcast 逐字稿" data-caption="生成 Podcast 逐字稿" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:1000px;height:;"/>
&lt;figcaption style="text-align: center;">
生成 Podcast 逐字稿
&lt;/figcaption>
&lt;/figure>
&lt;br>
&lt;p>可以看到有依照我們的指令，生成較符合台灣人的用語、語助詞，這樣可以讓後續結果更人性化、自然~&lt;/p>
&lt;p>(&amp;quot;發摟&amp;quot;、&amp;quot;哇塞&amp;quot;、&amp;quot;很威欸&amp;quot;、&amp;quot;最屌的&amp;quot; 🤣🤣🤣)&lt;/p>
&lt;div class="expand">
&lt;button type="button" class="expand__button" aria-label="Expand Button">
&lt;span class="expand-icon expand-icon__right">
&lt;svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">&lt;path fill="currentColor" d="M9.29 15.88L13.17 12 9.29 8.12c-.39-.39-.39-1.02 0-1.41.39-.39 1.02-.39 1.41 0l4.59 4.59c.39.39.39 1.02 0 1.41L10.7 17.3c-.39.39-1.02.39-1.41 0-.38-.39-.39-1.03 0-1.42z"/>&lt;/svg>
&lt;/span>
生成逐字稿結果 範例
&lt;/button>
&lt;div class="expand__content">
&lt;p>Speaker 1: {{興奮}} 欸欸欸！各位聽眾朋友，你們最近有沒有發摟到 Google AI 的最新動態啊？他們家最近可是動作頻頻耶！&lt;/p>
&lt;p>Speaker 2: {{好奇}} 喔？Google AI 嗎？他們那個 Gemini 不是才剛推出 2.5 Pro 沒多久？又有新東西啦？感覺他們最近火力全開耶！&lt;/p>
&lt;p>Speaker 1: 對啊！就是那個 Gemini 2.5 模型系列，這次又有超～多～更新！我跟你說，首先就是那個 Gemini 2.5 Pro，聽說現在更猛了！&lt;/p>
&lt;p>Speaker 2: {{挑眉}} 更猛？它之前在學術評測上不是就已經很強了嗎？這次又進化到什麼程度啊？&lt;/p>
&lt;p>Speaker 1: 不只學術評測厲害喔！它現在在那個 WebDev Arena 跟 LMArena 的排行榜上，都是第一名耶！這兩個排行榜可是很看重實際應用跟使用者偏好的，能拿第一很不簡單。&lt;/p>
&lt;p>Speaker 2: {{驚訝}} 哇塞！那表示它不只是會考試，實際用起來也很罩欸！那還有什麼特別的？&lt;/p>
&lt;p>Speaker 1: 還有啊，它那個一百萬 token 的超長上下文視窗，聽說在理解長篇內容跟影片方面，根本是頂尖高手！而且，他們還整合了 LearnLM，就是那個跟教育專家一起打造的模型家族，所以 2.5 Pro 現在在「學習」這塊也變成領導者了！&lt;/p>
&lt;p>Speaker 2: LearnLM？所以是說，如果我要用 AI 來學習新東西，Gemini 2.5 Pro 會是首選囉？{{思考中}}&lt;/p>
&lt;p>Speaker 1: {{點頭}} 沒錯！很多教育專家跟老師都說，在教學效果跟教學方法上，Gemini 2.5 Pro 比其他模型更讚，幾乎在所有學習科學的原則評估上都拿第一！&lt;/p>
&lt;p>Speaker 2: 聽起來很威欸！那除了 Pro 版，這次更新還有什麼亮點啊？&lt;/p>
&lt;p>Speaker 1: 多了咧！這次 2.5 Pro 跟 2.5 Flash 都加了一些超酷的新功能！有一個我個人超期待的，就是「原生音訊輸出」！&lt;/p>
&lt;p>Speaker 2: {{小小疑問}} 原生音訊輸出？那是什麼意思？是說它可以直接講話，而且聲音聽起來更自然、更有感情嗎？&lt;/p>
&lt;p>Speaker 1: {{雀躍}} 完全正確！就是讓 Gemini 講話更像真人，更有表達力。你還可以指定它的語氣、口音，甚至是說話風格耶！比如說，叫它用很戲劇化的聲音講故事！&lt;/p>
&lt;p>Speaker 2: {{眼睛一亮}} 欸！那不是很酷！以後跟 AI 聊天，搞不好真的會分不出來對方是真人還是機器耶！&lt;/p>
&lt;p>Speaker 1: {{竊笑}} 很有可能喔！而且它還有「情感對話」功能，可以偵測你講話的語氣跟情緒，然後做出適當的回應。還有「主動音訊」，它會聰明到忽略背景的雜音，知道什麼時候該接話，什麼時候該閉嘴。&lt;/p>
&lt;p>Speaker 2: 哇，這個「主動音訊」聽起來很貼心耶！不怕講到一半被隔壁的聲音打斷了。那文字轉語音 (TTS) 的部分呢？有沒有一起升級？&lt;/p>
&lt;p>Speaker 1: 當然有！文字轉語音現在也有新的預覽版，而且最屌的是，它支援「多個說話者」！意思就是，它可以同時用兩種不同的聲音念同一段文字，而且是原生的音訊輸出喔！&lt;/p>
&lt;p>Speaker 2: {{興奮}} 真的假的？！那這樣以後我們做 Podcast，是不是可以請 Gemini 來當嘉賓，直接生成雙人對話了？{{開玩笑語氣}}&lt;/p>
&lt;p>Speaker 1: {{哈哈大笑}} 搞不好喔！而且它可以呈現那種很細微的語氣，像是悄悄話那樣，還支援超過 24 種語言，切換自如！&lt;/p>
&lt;p>Speaker 2: 太強了吧！那除了聲音之外，還有什麼新花樣嗎？&lt;/p>
&lt;p>Speaker 1: 還有一個叫做「Project Mariner」的電腦使用能力，也整合到 Gemini API 跟 Vertex AI 裡面了。簡單來說，就是讓 AI 更能理解和操作電腦上的應用程式，有點像讓它有了一雙可以在電腦上操作的手。&lt;/p>
&lt;p>Speaker 2: {{恍然大悟}} 喔～這個聽起來對提升工作效率、做一些自動化流程會很有幫助耶！那安全性呢？AI 越來越強，大家也會擔心資安問題吧？&lt;/p>
&lt;p>Speaker 1: 嗯嗯，這點 Google 也有想到。他們說這次有特別強化針對像是「間接提示注入」這種安全威脅的防護。聽說 Gemini 2.5 是目前他們家最安全的模型家族了。&lt;/p>
&lt;p>Speaker 2: 這很重要！不然 AI 越聰明，萬一被壞人利用就糟了。&lt;/p>
&lt;p>Speaker 1: 對了對了，還有一個超酷的實驗性功能，叫做「Deep Think」！這是 2.5 Pro 的一個強化推理模式。&lt;/p>
&lt;p>Speaker 2: {{好奇}} Deep Think？聽起來就很深奧。它特別在哪裡啊？&lt;/p>
&lt;p>Speaker 1: 它在回答問題之前，會先考慮多種假設，對於那種超～級～複雜的數學和程式設計問題特別有效。聽說它在 2025 年美國數學奧林匹亞那種超難的數學基準測試，還有程式競賽的 LiveCodeBench 上面，都拿到了很驚人的分數！&lt;/p>
&lt;p>Speaker 2: {{讚嘆}} 哇！連奧林匹亞等級的數學題目都能解？那真的是很「Deep」的「Think」欸！不過你說是實驗中？&lt;/p>
&lt;p>Speaker 1: {{語氣稍微認真}} 對啊，因為這個功能實在太前沿了，所以他們需要更多時間進行安全評估，還會先開放給一些信任的測試人員，收集回饋之後才會更廣泛地推出。&lt;/p>
&lt;p>Speaker 2: 這樣比較保險啦。那剛剛講了很多 Pro 版的，Flash 版呢？它不是主打快速跟低成本嗎？這次有變更強嗎？&lt;/p>
&lt;p>Speaker 1: 有喔！2.5 Flash 這次也全面升級了！在推理、多模態能力、程式碼理解和長文本處理方面都有進步，而且還更有效率，評估下來 token 的用量少了大概 20% 到 30% 耶！&lt;/p>
&lt;p>Speaker 2: {{眼睛一亮}} 欸，那很不錯耶！又快又省，CP 值更高了！那… 我們現在用得到這個新的 2.5 Flash 了嗎？&lt;/p>
&lt;p>Speaker 1: {{開心}} 用得到！新的 2.5 Flash 現在已經在 Gemini App 裡面開放給大家使用了！開發者可以在 Google AI Studio 預覽，企業用戶則是在 Vertex AI。而且聽說六月初就會正式上線，到時候大家就可以用到飽啦！2.5 Pro 也會在之後跟進。&lt;/p>
&lt;p>Speaker 2: 太棒了！那針對我們這種（偽）開發者，這次有沒有什麼貼心的更新啊？{{開玩笑語氣}}&lt;/p>
&lt;p>Speaker 1: {{輕笑}} 有啦！這次針對開發者體驗也有不少提升。像是「思考摘要」，模型在思考過程中的一些想法，會用更清楚、更有條理的格式呈現出來，方便開發者理解模型是怎麼想的，也更容易除錯。&lt;/p>
&lt;p>Speaker 2: 這個好！有時候真的搞不懂 AI 到底在想什麼。還有嗎？&lt;/p>
&lt;p>Speaker 1: 還有「思考預算」。之前 2.5 Flash 就有了，現在 2.5 Pro 也加入了這個功能。開發者可以控制模型在回應前，要用多少 token 來進行思考，甚至可以把思考能力關掉，這樣就能更好地去平衡回應速度、品質跟成本。&lt;/p>
&lt;p>Speaker 2: {{恍然大悟}} 哦～我懂了！就是可以自己調整，看是要讓 AI「深思熟慮」一點，還是要「快問快答」嘛！&lt;/p>
&lt;p>Speaker 1: {{點頭}} 差不多是這個意思！另外，Gemini API 和 SDK 現在也原生支援 MCP 工具定義，這樣要整合一些開源工具就會更方便了。&lt;/p>
&lt;p>Speaker 2: 哇～今天聽下來，Gemini 2.5 這次的更新真的是誠意滿滿耶！從模型本身的能力提升，到更自然的互動方式，再到對開發者的友善設計，感覺 Google 真的是卯足全力在拚 AI 這塊。&lt;/p>
&lt;p>Speaker 1: 對啊！可以感覺到他們一直在創新，也在聽取使用者的回饋。好期待這些新功能之後實際應用在我們的生活中，一定會讓我們的生活更方便、更有趣！&lt;/p>
&lt;p>Speaker 2: 沒錯！那今天我們就先聊到這邊。各位聽眾朋友如果對 Gemini 的新功能有什麼想法，或是已經開始玩新的 2.5 Flash 了，都歡迎留言跟我們分享喔！&lt;/p>
&lt;p>Speaker 1: {{愉快}} 掰掰～下次見囉！&lt;/p>
&lt;p>Speaker 2: 掰掰！&lt;/p>
&lt;/div>
&lt;/div>
&lt;p>迷之音：&lt;code>那這樣以後我們做 Podcast，是不是可以請 Gemini 來當嘉賓，直接生成雙人對話了？{{開玩笑語氣}}&lt;/code> -&amp;gt; 現在就是了 😆&lt;/p>
&lt;br>
&lt;br>
&lt;h4 id="透過網址--url-context">透過「網址」- URL context&lt;/h4>
&lt;p>&lt;a href="https://ai.google.dev/gemini-api/docs/url-context" target="_blank" rel="noopener">
URL context
&lt;/a> 也是這次 Google I/O 公布的工具，在右側設定欄開啟後，模型可以從 URL 中檢索內容，並使用該內容來回應，這樣我們就不用手動複製文章了。&lt;/p>
&lt;p>範例 prompt 如下：&lt;/p>
&lt;pre>&lt;code>根據以下文章連結，整理出雙人 Podcast 逐字稿：
- https://blog.google/technology/ai/generative-media-models-io-2025/
- https://cloud.google.com/blog/products/ai-machine-learning/announcing-veo-3-imagen-4-and-lyria-2-on-vertex-ai
遵循以下規則：
- 逐字稿使用繁體中文。
- 逐字稿總長度約 1000 字。
- 分別有 主持人 &amp;quot;Speaker 1&amp;quot; 與 主持人 &amp;quot;Speaker 2&amp;quot;，&amp;quot;Speaker 1&amp;quot; 為台灣人年輕女性、&amp;quot;Speaker 2&amp;quot; 為台灣人年輕男性。
- 如果有必要，主持人互相使用 &amp;quot;你&amp;quot; 稱呼。
- 皆使用台灣用語、台灣連接詞，可以適時使用台灣狀聲詞。
- 如果有需要描述語氣、情緒，使用 &amp;quot;{{}}&amp;quot;，例如 &amp;quot;{{哈哈大笑}}&amp;quot; 或 &amp;quot;{{難過情緒}}&amp;quot;。
- 只需要輸出逐字稿，不需要其他說明。
- &amp;lt;其他要求，例如流程、架構、著重特定聽者&amp;gt;
逐字稿格式範例：
```
&amp;lt;逐字稿範例貼這裡，參考上小節範例&amp;gt;
```
&lt;/code>&lt;/pre>&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_podcast_speech/generate_transcript_url_context.jpg" alt="透過「網址」生成 Podcast 逐字稿" data-caption="透過「網址」生成 Podcast 逐字稿" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:1000px;height:;"/>
&lt;figcaption style="text-align: center;">
透過「網址」生成 Podcast 逐字稿
&lt;/figcaption>
&lt;/figure>
&lt;br>
&lt;h4 id="透過google-搜尋--grounding-with-google-search">透過「Google 搜尋」- Grounding with Google Search&lt;/h4>
&lt;p>這是再更方便(懶人)的方法，連自己找文章都不用了，直接請模型自己 Google 搜尋 (記得右側要開啟 &lt;a href="https://ai.google.dev/gemini-api/docs/grounding" target="_blank" rel="noopener">
Grounding with Google Search
&lt;/a> 工具)，我們只要給他主題方向就好。&lt;/p>
&lt;p>範例 prompt 如下：&lt;/p>
&lt;pre>&lt;code>透過 Google 搜尋尋找相關文章，整理出雙人 Podcast 逐字稿，主題是「傳奇人物—王建民」。
遵循以下規則：
- 逐字稿使用繁體中文。
- 逐字稿總長度約 1000 字。
- 分別有 主持人 &amp;quot;Speaker 1&amp;quot; 與 主持人 &amp;quot;Speaker 2&amp;quot;，&amp;quot;Speaker 1&amp;quot; 為台灣人年輕女性、&amp;quot;Speaker 2&amp;quot; 為台灣人年輕男性。
- 如果有必要，主持人互相使用 &amp;quot;你&amp;quot; 稱呼。
- 皆使用台灣用語、台灣連接詞，可以適時使用台灣狀聲詞。
- 如果有需要描述語氣、情緒，使用 &amp;quot;{{}}&amp;quot;，例如 &amp;quot;{{哈哈大笑}}&amp;quot; 或 &amp;quot;{{難過情緒}}&amp;quot;。
- 只需要輸出逐字稿，不需要其他說明。
- &amp;lt;其他要求，例如流程、架構、著重特定聽者&amp;gt;
逐字稿格式範例：
```
&amp;lt;逐字稿範例貼這裡，參考上小節範例&amp;gt;
```
&lt;/code>&lt;/pre>&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_podcast_speech/generate_transcript_google_search.jpg" alt="透過「Google 搜尋」生成 Podcast 逐字稿" data-caption="透過「Google 搜尋」生成 Podcast 逐字稿" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:1000px;height:;"/>
&lt;figcaption style="text-align: center;">
透過「Google 搜尋」生成 Podcast 逐字稿
&lt;/figcaption>
&lt;/figure>
&lt;p>* 懷念的王建民那段時光 &amp;gt;&amp;lt;&lt;/p>
&lt;br>
&lt;h3 id="生成-podcast-語音">生成 Podcast 語音&lt;/h3>
&lt;p>來到 &amp;quot;&lt;a href="https://aistudio.google.com/generate-speech" target="_blank" rel="noopener">
Google AI Studio &amp;gt; Gemini speech generation
&lt;/a>&amp;quot; 介面。&lt;/p>
&lt;p>將剛剛生成的逐字稿貼到 &amp;quot;Raw structure&amp;quot; 區塊後，可以在開頭設定 &amp;quot;Style instructions&amp;quot;，使其產生的語音更符合我們的情境或要求，例如跟它說這是 Podcast 對話、主持人是台灣人、提醒它 &lt;code>{{}}&lt;/code> 內容為風格、語氣或情感描述，不要唸出來&amp;hellip;等等。&lt;/p>
&lt;p>* 中文也可以，只是我想說它英文應該更能了解，就使用英文 prompt 了。&lt;/p>
&lt;br/>
&lt;p>以下是我加上的 Style instructions：&lt;/p>
&lt;pre>&lt;code>The following in a podcast interview style.
The speakers all use Taiwanese Chinese accents.
`{{}}` is a description of style, tone, or emotion and should not be pronounced aloud.
&lt;/code>&lt;/pre>&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_podcast_speech/generate_speech.jpg" alt="生成 Podcast 語音" data-caption="生成 Podcast 語音" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:1000px;height:;"/>
&lt;figcaption style="text-align: center;">
生成 Podcast 語音
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>依據逐字稿長度不同，稍等幾分鐘，完成後會顯示在左下角，可以點擊聆聽或下載。&lt;/p>
&lt;p>* 以上個小節的 &amp;quot;生成逐字稿結果 範例&amp;quot; 的逐字稿長度，它生成的中文總語音長度約為 8 分鐘。&lt;/p>
&lt;h2 id="成果範例">成果範例&lt;/h2>
&lt;p>我試了幾種語言，各位可以自己試聽看看~&lt;/p>
&lt;br/>
&lt;p>🎙️&lt;strong>中文 Podcast&lt;/strong> (非官方支援語言，以上教學示範的成果)&lt;/p>
&lt;p>* 語音風格選的是 Achernar 和 Rasalgethi。&lt;/p>
&lt;p>&lt;audio controls preload="metadata" src="https://blog.jiatool.com/audio/podcast_introduce_gemini(achernar_rasalgethi).wav">&lt;/audio>&lt;/p>
&lt;br/>
&lt;p>🎙️&lt;strong>英文 Podcast&lt;/strong> (官方支援語言)&lt;/p>
&lt;p>* 語音風格選的是 Sulafat 和 Lapetus&lt;/p>
&lt;p>&lt;audio controls preload="metadata" src="https://blog.jiatool.com/audio/podcast_english(sulafat_lapetus).wav">&lt;/audio>&lt;/p>
&lt;br/>
&lt;p>🎙️&lt;strong>日文 Podcast&lt;/strong> (官方支援語言)&lt;/p>
&lt;p>* 語音風格選的是 Zephyr 和 Puck。&lt;/p>
&lt;p>&lt;audio controls preload="metadata" src="https://blog.jiatool.com/audio/podcast_japanese(zephyr_puck).wav">&lt;/audio>&lt;/p>
&lt;br/>
&lt;p>🎙️&lt;strong>韓文 Podcast&lt;/strong> (官方支援語言)&lt;/p>
&lt;p>* 語音風格選的是 Aoede 和 Achird。&lt;/p>
&lt;p>&lt;audio controls preload="metadata" src="https://blog.jiatool.com/audio/podcast_korean(aoede_achird).wav">&lt;/audio>&lt;/p>
&lt;br/>
&lt;!--adsense-->
&lt;h2 id="結語">結語&lt;/h2>
&lt;p>可惜中文聽起來跟 NotebookLM 還有點差距，感覺以上的 prompt 還可以再做調整，而且官方寫目前還沒支援中文，可能就是中文的效果還沒到很理想 (有時候還會有老外講中文的口音 XD)，另外目前也還是 Preview 版本，正式上線後應該會再更好。&lt;/p>
&lt;p>但相比 NotebookLM，此方法可以有更高的自由度、主控權，例如調整每一句要講什麼內容、Podcast 整體長度、細節語氣變化、口音、速度&amp;hellip;等等。&lt;br />
而且能達成的成果也算不錯了，跟以前死板的機器人語音有很大的不同~&lt;/p>
&lt;br/>
&lt;p>有關更多介紹與 API 的使用，可參考官方文章：&lt;a href="https://ai.google.dev/gemini-api/docs/speech-generation?hl=zh-tw" target="_blank" rel="noopener">
Gemini API docs - Speech generation (Text-to-speech)
&lt;/a>&lt;/p>
&lt;br/>
&lt;p>迷之音：未來被 AI 統治，會不會人類被 AI 反過來強迫錄製 Podcast (誤&lt;/p>
&lt;br/>
&lt;br/>
&lt;p>如果對於 生成式 AI 有興趣的讀者，記得追蹤『&lt;a href="https://www.facebook.com/jiatool" target="_blank" rel="noopener">
IT空間
&lt;/a>』FB 粉專，才不會錯過最新的發文通知呦~🔔&lt;/p>
&lt;br/>
&lt;br/>
&lt;hr />
&lt;p>參考：&lt;br />
&lt;a href="https://developers.googleblog.com/en/google-ai-studio-native-code-generation-agentic-tools-upgrade/" target="_blank" rel="noopener">
An upgraded dev experience in Google AI Studio
&lt;/a>&lt;br />
&lt;a href="https://ai.google.dev/gemini-api/docs/speech-generation?hl=zh-tw" target="_blank" rel="noopener">
Gemini API docs - Speech generation (Text-to-speech)
&lt;/a>&lt;/p>
&lt;br/>
&lt;blockquote>
&lt;p>要是我不打起精神的話，誰都不會為我的人生負責啊！&lt;/p>
&lt;p align="right">—— IU (李知恩)&lt;/p>
&lt;/blockquote></content:encoded><dc:creator>Jia</dc:creator><media:content url="https://blog.jiatool.comimages/cover/gemini_podcast_speech.jpg" medium="image"><media:title type="html">featured image</media:title></media:content><media:content url="https://blog.jiatool.comimages/posts/gemini_podcast_speech_meta.jpg" medium="image"><media:title type="html">meta image</media:title></media:content><category>GoogleAIStudio</category><category>Gemini</category><category>Google</category><category>LLM</category><category>生成式AI</category><category>AI</category><category>人工智慧</category><category>分享</category></item><item><title>Google I/O 2025 條列 AI 重點 (包含官方文章連結)</title><link>https://blog.jiatool.com/posts/google_io_2025/</link><pubDate>Thu, 22 May 2025 22:40:00 +0800</pubDate><author>jia@jiatool.com (Jia)</author><atom:modified>Sat, 24 May 2025 11:30:00 +0800</atom:modified><guid>https://blog.jiatool.com/posts/google_io_2025/</guid><description>前言 前兩天是 Google I/O 2025，一年一度的網路開發者年會。 這次 Google 開大絕，公布了超多東西 (真的很多)，光是跟 AI 有相關的，快有 50 項了吧！ 以下我整理並條</description><content:encoded>&lt;h2 id="前言">前言&lt;/h2>
&lt;p>前兩天是 Google I/O 2025，一年一度的網路開發者年會。&lt;/p>
&lt;p>這次 Google 開大絕，公布了超多東西 (真的很多)，光是跟 AI 有相關的，快有 50 項了吧！&lt;/p>
&lt;p>以下我整理並條列出簡短說明，以及附上官方介紹文章連結，讓有興趣的可以連過去看個仔細。&lt;/p>
&lt;figure >
&lt;img data-src="https://storage.googleapis.com/gweb-uniblog-publish-prod/images/IO25_hero.max-1440x450.format-webp.webp" alt="Google I/O 2025" data-caption="Google I/O 2025" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:1000px;height:;"/>
&lt;figcaption style="text-align: center;">
Google I/O 2025
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;h2 id="google-io-條列重點">Google I/O 條列重點&lt;/h2>
&lt;ul>
&lt;li>Veo 3：新一代影片生成模型，具備 &amp;ldquo;聲音&amp;rdquo; 輸出，可生成背景音效和口白 (角色對話、動物叫聲等)&lt;/li>
&lt;li>Imagen 4：新一代影像生成模型，注重圖像細節 (高達 2K 解析度)、文字和排版，之後將推出快速版本，其速度比 Imagen 3 快 10 倍&lt;/li>
&lt;li>Lyria 2：音樂生成模型，將整合至 YouTube Shorts、Vertex AI、Music AI Sandbox 平台&lt;/li>
&lt;li>Lyria RealTime：互動式音樂生成模型，可讓任何人以即時互動方式創作、控制和演奏音樂&lt;br />
🏷️&lt;a href="https://blog.google/technology/ai/generative-media-models-io-2025/" target="_blank" rel="noopener">
Fuel your creativity with new generative media models and tools
&lt;/a>&lt;br />
🏷️&lt;a href="https://cloud.google.com/blog/products/ai-machine-learning/announcing-veo-3-imagen-4-and-lyria-2-on-vertex-ai" target="_blank" rel="noopener">
Expanding Vertex AI with the next wave of generative AI media models
&lt;/a>&lt;/li>
&lt;li>Flow：結合 Veo、Imagen、Gemini 功能，整合在一起的 AI 電影製作工具&lt;br />
🏷️&lt;a href="https://blog.google/technology/ai/google-flow-veo-ai-filmmaking-tool/" target="_blank" rel="noopener">
Meet Flow: AI-powered filmmaking with Veo 3
&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>✨&lt;/p>
&lt;ul>
&lt;li>持續將 AI 引入 Workspace，包括 Gmail、Meet、Vids、Docs 中的新功能&lt;br />
🏷️&lt;a href="https://workspace.google.com/blog/product-announcements/new-ways-to-do-your-best-work" target="_blank" rel="noopener">
New ways Workspace with Gemini helps you do your best work — every day
&lt;/a>
&lt;ul>
&lt;li>Gmail 個人化智慧回覆&lt;/li>
&lt;li>Google Meet 加入即時語音翻譯，並保留您的聲音、語調和表情&lt;/li>
&lt;li>Google Vids 將現有的 Google 幻燈片轉換為引人入勝的影片，與自動轉錄修剪&lt;/li>
&lt;li>Google Docs 引入「以資料來源為基礎」的寫作協助功能&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>✨&lt;/p>
&lt;ul>
&lt;li>Gemini 代理模式 (Agent Mode)：賦予執行任務與操作網頁&lt;/li>
&lt;li>Deep Research：可以加入自己上傳的 PDF 和圖像，研究報告就可以結合公共資訊和您提供的詳細資訊&lt;/li>
&lt;li>Canvas：更加直覺和強大，建立互動式網頁、資訊圖表、測驗、Podcast 風格的音訊概覽&lt;/li>
&lt;li>Chrome 整合進 Gemini&lt;br />
🏷️&lt;a href="https://blog.google/products/gemini/gemini-app-updates-io-2025/" target="_blank" rel="noopener">
Gemini gets more personal, proactive and powerful
&lt;/a> (&lt;a href="https://blog.google/intl/zh-tw/products/explore-get-answers/gemini-app-updates-io-2025/" target="_blank" rel="noopener">
中文版
&lt;/a>)&lt;/li>
&lt;/ul>
&lt;p>✨&lt;/p>
&lt;ul>
&lt;li>Gemini 2.5 Pro 和 2.5 Flash 增加「原生音訊輸出」新功能&lt;/li>
&lt;li>開始測試「Deep Think」的增強推理模式，分數提高不少&lt;/li>
&lt;li>更新 Gemini 2.5 Flash，幾乎在各面向都有提升，而且更加高效&lt;/li>
&lt;li>本機 SDK 支援 MCP 協定&lt;/li>
&lt;li>Gemini API 的 Native Audio Output &amp;amp; Live API：加入主動視訊、主動音訊、情感對話&lt;/li>
&lt;li>Gemini API 加入 原生音訊對話：使用新 Gemini 2.5 Flash 和 2.5 Pro 文字轉語音 (TTS) 功能&lt;/li>
&lt;li>Gemini API 加入 URL context：模型可從網址擷取內容&lt;/li>
&lt;li>Gemini API 加入 Music generation：使用 Lyria RealTime 生成音樂&lt;/li>
&lt;li>Gemini API 加入 Asynchronous Function Calling：允許在背景呼叫運行時間較長的函數或工具，而不會阻塞主對話流&lt;/li>
&lt;li>Computer Use API：瀏覽網頁或使用其他軟體工具&lt;br />
🏷️&lt;a href="https://blog.google/technology/google-deepmind/google-gemini-updates-io-2025/" target="_blank" rel="noopener">
Gemini 2.5: Our most intelligent models are getting even better
&lt;/a>&lt;br />
🏷️&lt;a href="https://blog.google/technology/developers/google-ai-developer-updates-io-2025/" target="_blank" rel="noopener">
Building with AI: highlights for developers at Google I/O
&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>✨&lt;/p>
&lt;ul>
&lt;li>Google AI Studio 升級：加入 Gemini speech generation、Lyria RealTime&lt;br />
🏷️&lt;a href="https://developers.googleblog.com/en/google-ai-studio-native-code-generation-agentic-tools-upgrade/" target="_blank" rel="noopener">
An upgraded dev experience in Google AI Studio
&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>✨&lt;/p>
&lt;ul>
&lt;li>AI Overviews：已在 200 多個國家(包含台灣)提供，支援 40 多種語言(包含中文)&lt;br />
🏷️&lt;a href="https://blog.google/products/search/ai-overview-expansion-may-2025-update/" target="_blank" rel="noopener">
AI Overviews are now available in over 200 countries and territories, and more than 40 languages.
&lt;/a>&lt;br />
🏷️&lt;a href="https://blog.google/products/search/generative-ai-google-search-may-2024/" target="_blank" rel="noopener">
Generative AI in Search: Let Google do the searching for you
&lt;/a>&lt;/li>
&lt;li>AI Mode 搜尋功能：在美國全面推出&lt;br />
🏷️&lt;a href="https://blog.google/products/search/google-search-ai-mode-update/" target="_blank" rel="noopener">
AI in Search: Going beyond information to intelligence
&lt;/a> (&lt;a href="https://blog.google/intl/zh-tw/products/explore-get-answers/google-search-ai-mode-update/" target="_blank" rel="noopener">
中文版
&lt;/a>)&lt;/li>
&lt;li>透過 AI Mode 尋找想要的商品，並追蹤價格&lt;/li>
&lt;li>新的「試穿」功能&lt;br />
🏷️&lt;a href="https://blog.google/products/shopping/google-shopping-ai-mode-virtual-try-on-update/" target="_blank" rel="noopener">
Shop with AI Mode, use AI to buy and try clothes on yourself virtually
&lt;/a> (&lt;a href="https://blog.google/intl/zh-tw/products/explore-get-answers/google-shopping-ai-mode-virtual-try-on-update/" target="_blank" rel="noopener">
中文版
&lt;/a>)&lt;br />
🏷️&lt;a href="https://blog.google/products/shopping/how-to-use-google-shopping-try-it-on/" target="_blank" rel="noopener">
Here’s how to use Google’s new “try it on” feature.
&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>✨&lt;/p>
&lt;ul>
&lt;li>NotebookLM 加入 Video Overviews：生成包含圖片、插圖、文字說明的簡報影片，搭配自然流暢的人聲旁白&lt;br />
🏷️&lt;a href="https://blog.google/feed/notebooklm-google-io-2025/" target="_blank" rel="noopener">
Understand all the I/O news with NotebookLM.
&lt;/a>&lt;/li>
&lt;li>Gemini Live 融入 Project Astra 的技術，透過視覺互動進行提問互動，可在 Android 和 iOS 上免費使用&lt;/li>
&lt;li>升級 Project Mariner：AI agent，可同時處理 10 項不同的任務&lt;br />
🏷️&lt;a href="https://blog.google/technology/google-deepmind/gemini-universal-ai-assistant/" target="_blank" rel="noopener">
Our vision for building a universal AI assistant
&lt;/a> (&lt;a href="https://blog.google/intl/zh-tw/products/explore-get-answers/gemini-universal-ai-assistant/" target="_blank" rel="noopener">
中文版
&lt;/a>)&lt;/li>
&lt;/ul>
&lt;p>✨&lt;/p>
&lt;ul>
&lt;li>「Google AI Ultra」高階方案：每月 249.99 美元&lt;/li>
&lt;li>「Google AI Pro」方案：每月 19.99 美元，就是現有的「AI Premium」更名&lt;br />
🏷️&lt;a href="https://blog.google/products/google-one/google-ai-ultra/" target="_blank" rel="noopener">
Introducing Google AI Ultra: The best of Google AI in one subscription
&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>✨&lt;/p>
&lt;ul>
&lt;li>全新 Gemma 3n 模型，採用新架構，可輸入 文字、影像、音訊，行動裝置優先&lt;br />
🏷️&lt;a href="https://developers.googleblog.com/en/introducing-gemma-3n/" target="_blank" rel="noopener">
Announcing Gemma 3n preview: powerful, efficient, mobile-first AI
&lt;/a>&lt;br />
🏷️&lt;a href="https://ai.google.dev/gemma/docs/gemma-3n" target="_blank" rel="noopener">
Gemma 3n model overview
&lt;/a>&lt;/li>
&lt;li>Gemini Diffusion 文字擴散模型：聲稱性能與 Gemini 2.0 Flash-Lite 相似，但速度快五倍 (當前商業的文字擴散模型應該只有 &lt;a href="https://www.inceptionlabs.ai/introducing-mercury" target="_blank" rel="noopener">
Inception Mercury
&lt;/a>)&lt;br />
🏷️&lt;a href="https://blog.google/technology/google-deepmind/gemini-diffusion/" target="_blank" rel="noopener">
Gemini Diffusion is our new experimental research model.
&lt;/a>&lt;/li>
&lt;li>LearnLM 融入 Gemini 2.5：專屬任務模型，針對教學用途進行訓練&lt;br />
🏷️&lt;a href="https://blog.google/outreach-initiatives/education/google-gemini-learnlm-update/" target="_blank" rel="noopener">
Learn in newer, deeper ways with Gemini
&lt;/a>&lt;/li>
&lt;li>SignGemma 手語模型：將手語翻譯成口語文本的模型&lt;/li>
&lt;li>MedGemma 醫學模型：針對醫學文字和圖像理解的開放模型&lt;br />
🏷️&lt;a href="https://developers.googleblog.com/en/google-io-2025-developer-keynote-recap/" target="_blank" rel="noopener">
What you should know from the Google I/O 2025 Developer keynote
&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>✨&lt;/p>
&lt;ul>
&lt;li>個人版和 GitHub 版 Gemini Code Assist 已全面上市&lt;br />
🏷️&lt;a href="https://blog.google/technology/developers/gemini-code-assist-updates-google-io-2025/" target="_blank" rel="noopener">
Coding with Gemini just got easier
&lt;/a>&lt;/li>
&lt;li>Jules：非同步、代理程式編碼助手，與現有的儲存庫整合，進入公測階段，向所有人開放&lt;br />
🏷️&lt;a href="https://blog.google/technology/google-labs/jules/" target="_blank" rel="noopener">
Build with Jules, your asynchronous coding agent
&lt;/a>&lt;/li>
&lt;li>Stitch：透過自然語言和圖像，產生 UI 設計和前端程式碼&lt;br />
🏷️&lt;a href="https://developers.googleblog.com/en/stitch-a-new-way-to-design-uis/" target="_blank" rel="noopener">
From idea to app: Introducing Stitch, a new way to design UIs
&lt;/a>&lt;/li>
&lt;li>Colab：全新、重新構想的 AI-first Google Colab&lt;br />
🏷️&lt;a href="https://developers.googleblog.com/en/fully-reimagined-ai-first-google-colab/" target="_blank" rel="noopener">
Fully Reimagined: AI-First Google Colab
&lt;/a>&lt;/li>
&lt;li>Google Beam (原名 Project Starline)：突破性 3D 視訊通訊平台，將 2D 影片串流轉換為逼真的 3D 體驗&lt;br />
🏷️&lt;a href="https://blog.google/technology/research/project-starline-google-beam-update/" target="_blank" rel="noopener">
Google Beam: Our AI-first 3D video communication platform
&lt;/a>&lt;/li>
&lt;li>Sparkify：將問題轉換成簡短的動畫影片&lt;/li>
&lt;/ul>
&lt;p>✨&lt;/p>
&lt;ul>
&lt;li>SynthID Detector：協助確定使用 Google AI 建立的 圖像、音軌、影片、文字 是否包含 SynthID 浮水印，甚至只是影像中的一個區塊&lt;br />
🏷️&lt;a href="https://blog.google/technology/ai/google-synthid-ai-content-detector/" target="_blank" rel="noopener">
SynthID Detector — a new portal to help identify AI-generated content
&lt;/a> (&lt;a href="https://blog.google/intl/zh-tw/company-news/technology/google-synthid-ai-content-detector/" target="_blank" rel="noopener">
中文版
&lt;/a>)&lt;/li>
&lt;/ul>
&lt;p>✨&lt;/p>
&lt;ul>
&lt;li>Android XR 系統：以 Gemini 為核心，結合沉浸式 AI 應用&lt;br />
🏷️&lt;a href="https://blog.google/products/android/android-xr-gemini-glasses-headsets/" target="_blank" rel="noopener">
A new look at how Android XR will bring Gemini to glasses and headsets
&lt;/a> (&lt;a href="https://blog.google/intl/zh-tw/products/android-chrome-play/android-xr-gemini-glasses-headsets/" target="_blank" rel="noopener">
中文版
&lt;/a>)&lt;/li>
&lt;/ul>
&lt;br/>
&lt;!--adsense-->
&lt;h2 id="結語">結語&lt;/h2>
&lt;p>這次 Google 真的一次公布&amp;amp;推出非常多新產品與功能，除了以上連結，還可參考這篇官方文章：&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://blog.google/technology/ai/google-io-2025-all-our-announcements/" target="_blank" rel="noopener">
100 things we announced at I/O
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.google/technology/developers/google-io-2025-collection/" target="_blank" rel="noopener">
Google I/O 2025 官方部落格
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://developers.googleblog.com/en/search/" target="_blank" rel="noopener">
Google for Developers Blog
&lt;/a>&lt;/li>
&lt;/ul>
&lt;br/>
&lt;br/>
&lt;p>如果對於 生成式 AI 有興趣的讀者，記得追蹤『&lt;a href="https://www.facebook.com/jiatool" target="_blank" rel="noopener">
IT空間
&lt;/a>』FB 粉專，才不會錯過最新的發文通知呦~🔔&lt;/p>
&lt;br/>
&lt;br/>
&lt;hr />
&lt;p>參考：&lt;br />
&lt;a href="https://blog.google/technology/developers/google-io-2025-collection/" target="_blank" rel="noopener">
Google I/O 2025 官方部落格
&lt;/a>&lt;br />
&lt;a href="https://blog.google/technology/ai/google-io-2025-all-our-announcements/" target="_blank" rel="noopener">
100 things we announced at I/O
&lt;/a>&lt;br />
&lt;a href="https://developers.googleblog.com/en/search/" target="_blank" rel="noopener">
Google for Developers Blog
&lt;/a>&lt;/p></content:encoded><dc:creator>Jia</dc:creator><media:content url="https://blog.jiatool.comimages/cover/google_io_2025.jpg" medium="image"><media:title type="html">featured image</media:title></media:content><media:content url="https://blog.jiatool.comimages/posts/google_io_2025_meta.jpg" medium="image"><media:title type="html">meta image</media:title></media:content><category>Google</category><category>LLM</category><category>生成式AI</category><category>AI</category><category>人工智慧</category></item><item><title>Little Language Lessons：Google 用 AI 打造專屬你的語言學習</title><link>https://blog.jiatool.com/posts/little_language_lessons/</link><pubDate>Thu, 01 May 2025 21:00:00 +0800</pubDate><author>jia@jiatool.com (Jia)</author><atom:modified>Thu, 01 May 2025 21:00:00 +0800</atom:modified><guid>https://blog.jiatool.com/posts/little_language_lessons/</guid><description>前言 Google 最近公開「Little Language Lessons」實驗性產品，幫助我們學習語言。 Little Language Lessons 官網：https://labs.google/lll/en</description><content:encoded>&lt;h2 id="前言">前言&lt;/h2>
&lt;p>Google 最近公開「Little Language Lessons」實驗性產品，幫助我們學習語言。&lt;/p>
&lt;ul>
&lt;li>Little Language Lessons 官網：&lt;a href="https://labs.google/lll/en">https://labs.google/lll/en&lt;/a>&lt;/li>
&lt;li>官方介紹文章：&lt;a href="https://blog.google/outreach-initiatives/education/little-language-lessons/">https://blog.google/outreach-initiatives/education/little-language-lessons/&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>主打使用生成式 AI (Gemini 模型) 來打造自己「個人化」的語言學習，與傳統的學習工具不同，AI 可以適應學習者的環境，以更自然、個人化、輕量化的方式幫助我們練習語言。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/little_language_lessons/little_language_lessons.jpg" alt="Little Language Lessons 官網" data-caption="Little Language Lessons 官網" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='600px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:600px;height:;"/>
&lt;figcaption style="text-align: center;">
Little Language Lessons 官網
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;!--adsense-->
&lt;h2 id="三大項功能">三大項功能&lt;/h2>
&lt;div class="alert alert-info" role="alert" data-dir="ltr">Little Language Lessons 官網：&lt;a href="https://labs.google/lll/en">https://labs.google/lll/en&lt;/a>&lt;/div>
&lt;p>目前 Little Language Lessons 網頁介面支援 英文、法語、西班牙語、葡萄牙文(巴西) 四種語言。&lt;br />
(可惜還沒有中文，但我們也可以透過英文去學習其他語言)&lt;/p>
&lt;p>可以學習的語言就有蠻多可以選擇，例如中文(台灣、香港、中國)、日文、韓文、美式英文、英式英文、法文、德文&amp;hellip;&amp;hellip;&lt;/p>
&lt;br/>
&lt;p>有三項實驗性功能可以玩：&lt;/p>
&lt;ul>
&lt;li>Tiny Lesson：輸入情境生成單字、片語和文法技巧。&lt;/li>
&lt;li>Slang Hang：產生真實的對話來學習表達和俚語。&lt;/li>
&lt;li>Word Cam：使用相機學習周圍物品的單字。&lt;/li>
&lt;/ul>
&lt;br/>
&lt;p>不論在手機或電腦都可以使用，只是 &amp;ldquo;Word Cam&amp;rdquo; 用手機鏡頭比較適合，可以到處走到處學習 😆&lt;/p>
&lt;br/>
&lt;p>因為網頁介面沒有中文，我就先來測試使用英文來學習繁體中文吧~&lt;/p>
&lt;br/>
&lt;h3 id="tiny-lesson">Tiny Lesson&lt;/h3>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/little_language_lessons/tiny_lesson.jpg" alt="Tiny Lesson" data-caption="Tiny Lesson" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='500px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:500px;height:;"/>
&lt;figcaption style="text-align: center;">
Tiny Lesson
&lt;/figcaption>
&lt;/figure>
&lt;p>選擇你想學習的語言，並輸入一個主題情境或目的，什麼都可以，包括教科書上不太可能出現的主題，例如「餐廳點餐」、「發現外星人(?)」、「購買魔法帽(???)」，然後 AI 就會隨機生成對應的相關單字、片語和文法。&lt;/p>
&lt;p>* 我發現太複雜的描述好像不行，例如「在地下城的違法市集討價還價」(什麼鬼？)&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/little_language_lessons/tiny_lesson_input_theme.jpg" alt="Tiny Lesson - 選擇語言，輸入主題情境" data-caption="Tiny Lesson - 選擇語言，輸入主題情境" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='450px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:450px;height:;"/>
&lt;figcaption style="text-align: center;">
Tiny Lesson - 選擇語言，輸入主題情境
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>生成相關單字&lt;br />
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/little_language_lessons/tiny_lesson_vocabulary.jpg" alt="Tiny Lesson - 生成相關單字" data-caption="Tiny Lesson - 生成相關單字" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='750px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:750px;height:;"/>
&lt;figcaption style="text-align: center;">
Tiny Lesson - 生成相關單字
&lt;/figcaption>
&lt;/figure>&lt;/p>
&lt;p>生成相關片語&lt;br />
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/little_language_lessons/tiny_lesson_phrases.jpg" alt="Tiny Lesson - 生成相關片語" data-caption="Tiny Lesson - 生成相關片語" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='750px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:750px;height:;"/>
&lt;figcaption style="text-align: center;">
Tiny Lesson - 生成相關片語
&lt;/figcaption>
&lt;/figure>&lt;/p>
&lt;p>生成相關文法&lt;br />
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/little_language_lessons/tiny_lesson_tips.jpg" alt="Tiny Lesson - 生成相關文法" data-caption="Tiny Lesson - 生成相關文法" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='750px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:750px;height:;"/>
&lt;figcaption style="text-align: center;">
Tiny Lesson - 生成相關文法
&lt;/figcaption>
&lt;/figure>&lt;/p>
&lt;br/>
&lt;p>每個範例單字和句子都可以點擊發音。&lt;/p>
&lt;br/>
&lt;h3 id="slang-hang">Slang Hang&lt;/h3>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/little_language_lessons/slang_hang.jpg" alt="Slang Hang" data-caption="Slang Hang" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='500px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:500px;height:;"/>
&lt;figcaption style="text-align: center;">
Slang Hang
&lt;/figcaption>
&lt;/figure>
&lt;p>Slang Hang 是選擇想學習的語言後，它就會自動生成一個情境，點擊對話會一句一句展開下去。&lt;br />
有些教科書的內容就會太正式，不像一般人會在日常說出來的句子。而這個 AI 生成的就會比較貼近現實母語者的用語。&lt;/p>
&lt;p>* 情境還出現 &amp;quot;花蓮火車站&amp;quot;，有符合我想學習的語言國家 XD&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/little_language_lessons/slang_hang_conversation_1.jpg" alt="Slang Hang - 生成情境" data-caption="Slang Hang - 生成情境" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
Slang Hang - 生成情境
&lt;/figcaption>
&lt;/figure>
&lt;p>有底線的單字，指到它還會出現意思說明；右邊點開會顯示句子翻譯；當然一樣有語音可聽。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/little_language_lessons/slang_hang_conversation_2.jpg" alt="Slang Hang - 每個句子都有發音和翻譯，有些單字還有說明" data-caption="Slang Hang - 每個句子都有發音和翻譯，有些單字還有說明" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='800px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:800px;height:;"/>
&lt;figcaption style="text-align: center;">
Slang Hang - 每個句子都有發音和翻譯，有些單字還有說明
&lt;/figcaption>
&lt;/figure>
&lt;p>點擊網頁最下方，對話會一句一句展開下去。&lt;/p>
&lt;p>* &amp;quot;多謝多謝&amp;quot; 這是台語吧 🤣🤣🤣&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/little_language_lessons/slang_hang_conversation_3.jpg" alt="Slang Hang - 對話一句一句展開下去" data-caption="Slang Hang - 對話一句一句展開下去" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
Slang Hang - 對話一句一句展開下去
&lt;/figcaption>
&lt;/figure>
&lt;p>而且這都是獨一無二的對話內容與情境，你點擊上方重新生成，又可生成一組新的情境與對話。&lt;/p>
&lt;br/>
&lt;h3 id="word-cam">Word Cam&lt;/h3>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/little_language_lessons/word_cam.jpg" alt="Word Cam" data-caption="Word Cam" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='500px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:500px;height:;"/>
&lt;figcaption style="text-align: center;">
Word Cam
&lt;/figcaption>
&lt;/figure>
&lt;blockquote>
&lt;p>因為這功能用手機比較方便透過鏡頭拍照，所以我改用手機畫面來展示。&lt;/p>
&lt;/blockquote>
&lt;p>拍攝一張照片，Word Cam 會自動偵測物體，並用選定的語言標記它們。&lt;/p>
&lt;p>這用到了 Gemini 多模態的視覺能力，請它辨識物體並提供該物體的邊界框座標。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/little_language_lessons/word_cam_camera.jpg" alt="Word Cam - 相機拍照後會自動標示" data-caption="Word Cam - 相機拍照後會自動標示" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='400px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:400px;height:;"/>
&lt;figcaption style="text-align: center;">
Word Cam - 相機拍照後會自動標示
&lt;/figcaption>
&lt;/figure>
&lt;p>而且你點選後，還會進一步展開一個頁面，列出單字的相關形容詞，並給一個例句，讓你知道這個單字該怎麼用。&lt;/p>
&lt;p>* AI 是不是在偷臭我鍵盤很髒&amp;hellip; 🤔&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/little_language_lessons/word_cam_extend.jpg" alt="Word Cam - 延伸相關形容詞與造句" data-caption="Word Cam - 延伸相關形容詞與造句" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='400px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:400px;height:;"/>
&lt;figcaption style="text-align: center;">
Word Cam - 延伸相關形容詞與造句
&lt;/figcaption>
&lt;/figure>
&lt;p>* 你看那個例句，根本就是！！XDDD&lt;/p>
&lt;br/>
&lt;h2 id="備註">備註&lt;/h2>
&lt;p>以上單字、句子底下也都有附上英文羅馬拼音。&lt;/p>
&lt;p>而頁面內的發音 (文字轉語音技術)，他們是使用 Google 自家的 Cloud Text-to-Speech API，&lt;/p>
&lt;p>對於他們怎麼發想這些功能、使用哪些技術、如何下 prompt 有興趣的網友，可以參考官方這篇介紹來一探究竟：&lt;br />
&lt;a href="https://developers.googleblog.com/en/how-its-made-little-language-lessons-to-personalize-learning/">https://developers.googleblog.com/en/how-its-made-little-language-lessons-to-personalize-learning/&lt;/a>&lt;/p>
&lt;br/>
&lt;!--adsense-->
&lt;h2 id="結語">結語&lt;/h2>
&lt;p>透過 Little Language Lessons 讓我們從生活周遭、更個人化的學習。&lt;br />
我自己玩起來是真的蠻有趣的~&lt;/p>
&lt;p>它有補充，這些功能不是要取代傳統學習，而是擴充，幫助人們養成習慣，並將學習融入日常生活。&lt;/p>
&lt;br/>
&lt;p>要提醒這還只是實驗性產品，生成內容可能會有部分錯誤或不準確，需要自行留意。&lt;br />
而且它不會儲存紀錄，每次打開網頁之前生成的內容會消失。&lt;/p>
&lt;br/>
&lt;br/>
&lt;p>如果對於 生成式 AI 有興趣的讀者，記得追蹤『&lt;a href="https://www.facebook.com/jiatool" target="_blank" rel="noopener">
IT空間
&lt;/a>』FB 粉專，才不會錯過最新的發文通知呦~🔔&lt;/p>
&lt;br/>
&lt;br/>
&lt;hr />
&lt;p>參考：&lt;br />
&lt;a href="https://labs.google/lll/en" target="_blank" rel="noopener">
Little Language Lessons 官網
&lt;/a>&lt;br />
&lt;a href="https://blog.google/outreach-initiatives/education/little-language-lessons/" target="_blank" rel="noopener">
官方介紹文章
&lt;/a>&lt;br />
&lt;a href="https://developers.googleblog.com/en/how-its-made-little-language-lessons-to-personalize-learning/" target="_blank" rel="noopener">
背後用到的技術與 prompt
&lt;/a>&lt;/p>
&lt;br/>
&lt;blockquote>
&lt;p>在創造偉大事物的過程裡，構想是最不重要的成分，&lt;br />
必須要有對的點子和好的品味，但執行與完成才是關鍵。&lt;/p>
&lt;p align="right">—— 謝爾蓋·布林 (Google 共同創辦人)&lt;/p>
&lt;/blockquote></content:encoded><dc:creator>Jia</dc:creator><media:content url="https://blog.jiatool.comimages/cover/little_language_lessons.jpg" medium="image"><media:title type="html">featured image</media:title></media:content><media:content url="https://blog.jiatool.comimages/posts/little_language_lessons_meta.jpg" medium="image"><media:title type="html">meta image</media:title></media:content><category>Google</category><category>LLM</category><category>生成式AI</category><category>AI</category><category>人工智慧</category><category>分享</category></item><item><title>Gemini 2.0 Flash 免費玩，實時視訊語音、圖片理解，體驗 AI 的強大</title><link>https://blog.jiatool.com/posts/gemini_2_flash/</link><pubDate>Fri, 13 Dec 2024 15:30:00 +0800</pubDate><author>jia@jiatool.com (Jia)</author><atom:modified>Sat, 14 Dec 2024 14:30:00 +0800</atom:modified><guid>https://blog.jiatool.com/posts/gemini_2_flash/</guid><description>前言 前天 (12/11) Google 宣布 Gemini 2.0，說是專為代理時代打造的全新模型✨，並且首先推出「Gemini 2.0 Flash (Experimental)」模型。 為了展示 Gemini 2.0 的</description><content:encoded>&lt;h2 id="前言">前言&lt;/h2>
&lt;p>前天 (12/11) Google 宣布 Gemini 2.0，說是專為代理時代打造的全新模型✨，並且首先推出「Gemini 2.0 Flash (Experimental)」模型。&lt;/p>
&lt;br/>
&lt;p>為了展示 Gemini 2.0 的新功能，Google 在 &lt;a href="https://aistudio.google.com/" target="_blank" rel="noopener">
Google AI Studio
&lt;/a> 有介面可以讓我們嘗鮮玩玩。&lt;/p>
&lt;p>除了有類似之前 Demo 的 Project Astra 可以實時視訊+語音互動的強大功能之外，還有圖片空間理解、分析影片、串接地圖顯示&amp;hellip;等等，&lt;br />
就來快速帶大家來體驗一下吧~&lt;/p>
&lt;br/>
&lt;p>* 題外話 1：結果隔一天，OpenAI 的高級語音模式就推出一樣的實時視訊功能了 (包含螢幕分享)。火藥味濃厚XD&lt;br />
* 題外話 2：Google 還有發表 &lt;a href="https://www.ithome.com.tw/news/166493" target="_blank" rel="noopener">
Deep Research 工具
&lt;/a>，代替使用者上網搜尋(而且可能蒐集超過百篇來源)、分析，並整理成研究報告。&lt;/p>
&lt;br/>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_2_flash/gemini2.0.jpg" alt="Gemini 2.0 登場" data-caption="Gemini 2.0 登場" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='650px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:650px;height:;"/>
&lt;figcaption style="text-align: center;">
Gemini 2.0 登場
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;!--adsense-->
&lt;br/>
&lt;h2 id="gemini-20">Gemini 2.0&lt;/h2>
&lt;p>Gemini 2.0 Flash 在關鍵基準測試中的表現超越 1.5 Pro，甚至速度達到 1.5 Pro 的兩倍。除了 文字、圖像、影片、音訊 輸入外，還能原生圖像、音訊輸出！&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_2_flash/gemini_benchmarks.jpg" alt="Gemini 2.0 Flash 與 1.5 Pro、1.5 Flash 比較" data-caption="Gemini 2.0 Flash 與 1.5 Pro、1.5 Flash 比較" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='650px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:650px;height:;"/>
&lt;figcaption style="text-align: center;">
Gemini 2.0 Flash 與 1.5 Pro、1.5 Flash 比較
&lt;/figcaption>
&lt;/figure>
&lt;p>Gemini 2.0 Flash 現已在 Google AI Studio 和 Vertex AI 中開放，全球的 Gemini 使用者也可在桌面與行動網頁選擇 2.0 Flash，也即將在 Gemini 行動 APP 上線～&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_2_flash/gemini_select.jpg" alt="Gemini 聊天可以選擇模型" data-caption="Gemini 聊天可以選擇模型" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='450px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:450px;height:;"/>
&lt;figcaption style="text-align: center;">
Gemini 聊天可以選擇模型
&lt;/figcaption>
&lt;/figure>
&lt;ul>
&lt;li>&lt;a href="https://blog.google/technology/google-deepmind/google-gemini-ai-update-december-2024/" target="_blank" rel="noopener">
Google 官方 Gemini 2.0 簡介
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://developers.googleblog.com/en/the-next-chapter-of-the-gemini-era-for-developers/" target="_blank" rel="noopener">
Google 官方 Gemini 2.0 Flash 新功能介紹
&lt;/a>&lt;/li>
&lt;/ul>
&lt;br/>
&lt;h2 id="google-ai-studio">Google AI Studio&lt;/h2>
&lt;h3 id="stream-realtime">Stream Realtime&lt;/h3>
&lt;p>&lt;a href="https://aistudio.google.com/live" target="_blank" rel="noopener">
Stream Realtime | Google AI Studio
&lt;/a>&lt;/p>
&lt;p>在這邊可以使用「鏡頭+麥克風」來跟 Gemini 實時互動，有點類似之前 Demo 展示的 Project Astra 那樣 (只是還沒這麼厲害😅)。&lt;/p>
&lt;p>例如拿著手機到處走，問它這是什麼、那是什麼，或者也可以用螢幕分享給它，問它如何操作之類的，可以應用的範圍很廣。&lt;br />
而且因為 Gemini 2.0 原生多模態就可以語音輸入輸出，因此它還會因為情境變換不同語氣、語速等等，甚至還可以中途打斷它。&lt;/p>
&lt;p>在文章用文字不好展示，各位可以自己實際去玩玩看~&lt;/p>
&lt;p>* 不過可惜的是目前好像不支援中文語音輸出，但你還是可以用中文語音問它，請它用英文回覆 (或設定文字回覆，就可以用中文了)。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_2_flash/gemini_stream_realtime.jpg" alt="Gemini 2.0 Stream Realtime" data-caption="Gemini 2.0 Stream Realtime" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
Gemini 2.0 Stream Realtime
&lt;/figcaption>
&lt;/figure>
&lt;iframe width="672" height="378" src="https://www.youtube.com/embed/9hE5-98ZeCg?si=7Q4qOkwc4A8VS5DI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen>&lt;/iframe>
&lt;br/>
&lt;h3 id="starter-apps">Starter Apps&lt;/h3>
&lt;p>&lt;a href="https://aistudio.google.com/starter-apps" target="_blank" rel="noopener">
Starter Apps | Google AI Studio
&lt;/a>&lt;/p>
&lt;p>在這頁 Google 製作了三種 App，讓你體驗 Gemini 2.0 在圖片空間理解、影片分析、串接地圖的應用。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_2_flash/gemini_starter_apps.jpg" alt="Gemini 2.0 Starter Apps" data-caption="Gemini 2.0 Starter Apps" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
Gemini 2.0 Starter Apps
&lt;/figcaption>
&lt;/figure>
&lt;p>* 如果你是程式開發者，想自己手動寫程式碼互動，可以參考官方的 &lt;a href="https://github.com/google-gemini/starter-applets" target="_blank" rel="noopener">
GitHub 專案範例
&lt;/a>&lt;/p>
&lt;br/>
&lt;h4 id="spatial-understanding">Spatial Understanding&lt;/h4>
&lt;p>Spatial Understanding (空間理解) 除了基本的找出圖片中的物品，例如請它從圖片中找出魔法棒：&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_2_flash/spatial_understanding_01.jpg" alt="找出魔法棒 - Spatial Understanding" data-caption="找出魔法棒 - Spatial Understanding" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='800px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:800px;height:;"/>
&lt;figcaption style="text-align: center;">
找出魔法棒 - Spatial Understanding
&lt;/figcaption>
&lt;/figure>
&lt;p>還可以當日文菜單看不懂，請它找出來標記並翻譯成中文：&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_2_flash/spatial_understanding_02.jpg" alt="標記食物順便翻譯 - Spatial Understanding" data-caption="標記食物順便翻譯 - Spatial Understanding" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
標記食物順便翻譯 - Spatial Understanding
&lt;/figcaption>
&lt;/figure>
&lt;p>或者找出汙漬並教我如何清理：&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_2_flash/spatial_understanding_03.jpg" alt="找出汙漬並如何清理 - Spatial Understanding" data-caption="找出汙漬並如何清理 - Spatial Understanding" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
找出汙漬並如何清理 - Spatial Understanding
&lt;/figcaption>
&lt;/figure>
&lt;p>官方展示影片：&lt;a href="https://www.youtube.com/watch?v=-XmoDzDMqj4">https://www.youtube.com/watch?v=-XmoDzDMqj4&lt;/a>&lt;/p>
&lt;p>* 官方有寫 &amp;ldquo;Points 和 3D bounding boxes 還只是初步模型的功能，使用 2D bounding boxes 可以獲得更高的精準度。&amp;rdquo;&lt;/p>
&lt;br/>
&lt;h4 id="video-analyzer">Video Analyzer&lt;/h4>
&lt;p>Video Analyzer (影片分析器) 可以分析影片的場景、總結、擷取文字、搜尋物件等等。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_2_flash/video_analyzer_01.jpg" alt="總結影片並加上時間戳記 - Video Analyzer" data-caption="總結影片並加上時間戳記 - Video Analyzer" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
總結影片並加上時間戳記 - Video Analyzer
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;h4 id="map-explorer">Map Explorer&lt;/h4>
&lt;p>Map Explorer (地圖瀏覽器) 可以問國家、景點、地理之類的問題，它會在 Google 地圖上自動定位到答案提及的地點，讓你輕鬆探索世界各地~&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_2_flash/map_explorer_01.jpg" alt="詢問台灣最高的山 - Map Explorer" data-caption="詢問台灣最高的山 - Map Explorer" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
詢問台灣最高的山 - Map Explorer
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;h3 id="其他測試">其他測試&lt;/h3>
&lt;h4 id="辨識歌曲歌詞">辨識歌曲歌詞&lt;/h4>
&lt;p>來試試 Gemini 2.0 Flash 讀取音檔辨識歌詞的能力，給它歌曲的音檔，請它辨識並整理出歌詞 (LRC 格式)。&lt;/p>
&lt;p>我這邊使用 周杰倫 的 &amp;quot;等你下課&amp;quot;，挑戰稍微有點咬字不清 XD，看看模型辨識的效果如何：&lt;/p>
&lt;p>(Temperature 設定 0.5)&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_2_flash/lyric_gemini_2.0_flash_experimental.jpg" alt="Gemini 2.0 Flash Experimental 歌詞辨識結果" data-caption="Gemini 2.0 Flash Experimental 歌詞辨識結果" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
Gemini 2.0 Flash Experimental 歌詞辨識結果
&lt;/figcaption>
&lt;/figure>
&lt;p>也順便拿 Gemini 1.5 Pro 模型來比較：&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_2_flash/lyric_gemini_1.5_pro.jpg" alt="Gemini 1.5 Pro 歌詞辨識結果" data-caption="Gemini 1.5 Pro 歌詞辨識結果" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
Gemini 1.5 Pro 歌詞辨識結果
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>跟原歌詞做對照，&lt;br />
雖然都有小部分辨識錯誤，但明顯 2.0 Flash Experimental 優於 1.5 Pro，而且 1.5 Pro 後面還給我錯誤變成簡體中文&amp;hellip;&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_2_flash/lyrics_comparison.jpg" alt="比較歌詞辨識結果" data-caption="比較歌詞辨識結果" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
比較歌詞辨識結果
&lt;/figcaption>
&lt;/figure>
&lt;p>雖然拿 Flash 跟 Pro 模型比較有點不公平，但這也能看出 Gemini 2.0 進步了不少。&lt;/p>
&lt;p>不過不知道為什麼輸出歌詞沒有完全，大概只到一半，看起來應該還沒超過 Output length 限制 8192 tokens 才對。&lt;/p>
&lt;br/>
&lt;h4 id="原生使用工具">原生使用工具&lt;/h4>
&lt;p>Gemini 2.0 原生支援使用工具，像是可以執行程式碼或者 Google 搜尋，跟它做即時的互動與反饋。&lt;/p>
&lt;br/>
&lt;p>使用 Google 搜尋可以更確保回答的真實性，可以從多個來源查找相關資料，並組合起來使回答更全面。&lt;br />
(官方還有提到這樣也可以 &amp;quot;增加提供者網站的流量&amp;quot; 😆)&lt;/p>
&lt;p>例如我直接問它「2024世界棒球12強冠軍是哪一隊？」，它會說比賽還沒開始或不知道：&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_2_flash/gemini_grounding_unenabled.jpg" alt="尚未開啟 Google 搜尋" data-caption="尚未開啟 Google 搜尋" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
尚未開啟 Google 搜尋
&lt;/figcaption>
&lt;/figure>
&lt;p>但當打開 Google 搜尋 (Grounding) 功能後，它會先去網路搜尋資料，從而得到即時&amp;amp;正確的回答：&lt;/p>
&lt;p>* 程式使用方法可以參考官方文件，不需要再另外串搜尋 API 了：&lt;a href="https://ai.google.dev/gemini-api/docs/grounding?hl=zh-tw" target="_blank" rel="noopener">
以 Google 搜尋建立基準
&lt;/a>&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_2_flash/gemini_grounding_enabled.jpg" alt="開啟 Google 搜尋後回答正確" data-caption="開啟 Google 搜尋後回答正確" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
開啟 Google 搜尋後回答正確
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>官方展示與執行程式碼繪製圖表，可以看這部影片：&lt;/p>
&lt;iframe width="672" height="378" src="https://www.youtube.com/embed/EVzeutiojWs?si=3hdws4HsnkLkVraO" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen>&lt;/iframe>
&lt;br/>
&lt;br/>
&lt;h4 id="圖片生成編輯">圖片生成、編輯&lt;/h4>
&lt;p>還有很強大的圖片生成、圖片編輯，它可以精確地修改指定區域，不會改動到其他部分，而且下的指令更口語化。或者組合兩張圖片，甚至推理可能的畫面。&lt;br />
這部分感覺很厲害，會讓 AI 圖片編輯更實用！&lt;/p>
&lt;p>目前這部分好像尚未開放給一般大眾，所以可以先從官方展示影片一窺究竟：&lt;/p>
&lt;iframe width="672" height="378" src="https://www.youtube.com/embed/7RqFLp0TqV0?si=eg8p_AzHp1VSsZLH" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen>&lt;/iframe>
&lt;br/>
&lt;br/>
&lt;h3 id="官方範例程式碼">官方範例程式碼&lt;/h3>
&lt;p>針對開發者，Google 也有提供一些各功能入門範例程式碼，給大家參考：&lt;br />
&lt;a href="https://github.com/google-gemini/cookbook/tree/main/gemini-2">https://github.com/google-gemini/cookbook/tree/main/gemini-2&lt;/a>&lt;/p>
&lt;br/>
&lt;!--adsense-->
&lt;br/>
&lt;h2 id="結語">結語&lt;/h2>
&lt;p>因為模型訓練時主要還是英文資料，所以如果你在使用 Gemini 上結果不太理想的話，建議可以換成英文下指令。&lt;/p>
&lt;p>以上的應用都只是使用 Gemini 2.0 Flash 模型，等以後 Gemini 2.0 Pro 模型出來，效果一定會更好、更強大~&lt;/p>
&lt;br/>
&lt;p>下方附上其他 Gemini 2.0 參考文章，感興趣的可以連結過去閱讀。&lt;/p>
&lt;br/>
&lt;p>如果對於 生成式 AI 有興趣的讀者，記得追蹤『&lt;a href="https://www.facebook.com/jiatool" target="_blank" rel="noopener">
IT空間
&lt;/a>』FB 粉專，才不會錯過最新的發文通知呦~🔔&lt;/p>
&lt;br/>
&lt;br/>
&lt;hr />
&lt;p>參考：&lt;br />
&lt;a href="https://blog.google/technology/google-deepmind/google-gemini-ai-update-december-2024/" target="_blank" rel="noopener">
Gemini 2.0 簡介
&lt;/a>&lt;br />
&lt;a href="https://developers.googleblog.com/en/the-next-chapter-of-the-gemini-era-for-developers/" target="_blank" rel="noopener">
Gemini 2.0 Flash 新功能介紹
&lt;/a>&lt;br />
&lt;a href="https://www.inside.com.tw/article/37031-google-gemini-2-launch" target="_blank" rel="noopener">
Google 推出新一代 Gemini 2.0！可直接使用搜尋、各種模態無縫融合
&lt;/a>&lt;br />
&lt;a href="https://www.inside.com.tw/article/37032" target="_blank" rel="noopener">
Google：AI 代理時代降臨！一口氣發表自動瀏覽網站、網購、打電動的 AI 助理
&lt;/a>&lt;/p>
&lt;br/>
&lt;blockquote>
&lt;p>Don't be afraid to think different and challenge the status.&lt;br />
不要害怕以不同的方式思考並挑戰現狀。&lt;/p>
&lt;p align="right">—— 黃仁勳 (NVIDIA 共同創辦人暨執行長)&lt;/p>
&lt;/blockquote></content:encoded><dc:creator>Jia</dc:creator><media:content url="https://blog.jiatool.comimages/cover/gemini_2_flash.jpg" medium="image"><media:title type="html">featured image</media:title></media:content><media:content url="https://blog.jiatool.comimages/posts/gemini_2_flash_meta.jpg" medium="image"><media:title type="html">meta image</media:title></media:content><category>Gemini</category><category>LLM</category><category>AI</category><category>人工智慧</category><category>Google</category><category>分享</category></item><item><title>如何使用 Google 的 Gemini 模型 API？(基礎教學，附上 Python 範例程式)</title><link>https://blog.jiatool.com/posts/gemini_api/</link><pubDate>Sun, 17 Dec 2023 21:45:00 +0800</pubDate><author>jia@jiatool.com (Jia)</author><atom:modified>Wed, 28 Feb 2024 15:35:00 +0800</atom:modified><guid>https://blog.jiatool.com/posts/gemini_api/</guid><description>前言 在上個禮拜(12/6)推出了 Google DeepMind 開發的 Gemini (雙子星) ，是第一個在 MMLU (大規模多任務語言理解) 方面超越人類專家的模型，要與 OpenAI 的 GPT-4 來抗衡。 我之前</description><content:encoded>&lt;h2 id="前言">前言&lt;/h2>
&lt;p>在上個禮拜(12/6)推出了 Google DeepMind 開發的 &lt;a href="https://deepmind.google/technologies/gemini/" target="_blank" rel="noopener">
Gemini (雙子星)
&lt;/a>，是第一個在 MMLU (大規模多任務語言理解) 方面超越人類專家的模型，要與 OpenAI 的 GPT-4 來抗衡。&lt;/p>
&lt;p>我之前寫過一篇 &lt;a href="https://blog.jiatool.com/posts/chatgpt_api" target="_blank" rel="noopener">
如何使用 OpenAI ChatGPT API
&lt;/a>，而在前幾天(12/13) Google 也開放了 &lt;a href="https://developers.googleblog.com/2023/12/build-with-gemini-pro.html" target="_blank" rel="noopener">
Gemini Pro 版本的 API
&lt;/a>，可以透過「Google AI Studio 中的 Gemini API」或「Google Cloud 的 Vertex AI 平臺」來存取。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_api/welcome_gemini.jpg" alt="Google DeepMind 開發的 Gemini 多模態模型" data-caption="Google DeepMind 開發的 Gemini 多模態模型" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='600px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:600px;height:;"/>
&lt;figcaption style="text-align: center;">
Google DeepMind 開發的 Gemini 多模態模型
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;div class="alert alert-info" role="alert" data-dir="ltr">右邊有目錄，可直接跳至你想看的章節 →&lt;/div>
&lt;br/>
&lt;!--adsense-->
&lt;h2 id="gemini-簡介">Gemini 簡介&lt;/h2>
&lt;p>Gemini 是一個原生多模態的 LLM (大型語言模型)，從訓練時就餵進去文字、影像、音訊等等多種形態的資料，使用 Google 自行開發的 TPU 晶片訓練而成，是第一個在 MMLU (大規模多任務語言理解) 方面超越人類專家的模型。&lt;/p>
&lt;p>* 官方 Gemini 簡介文章：&lt;a href="https://blog.google/technology/ai/google-gemini-ai">https://blog.google/technology/ai/google-gemini-ai&lt;/a>&lt;/p>
&lt;br/>
&lt;p>而官方有釋出一部試用 Gemini Ultra 的展示影片，我看完真的覺得很驚訝，在網路上也掀起了一陣熱烈討論。&lt;/p>
&lt;p>* 有 CC 中文字幕&lt;/p>
&lt;iframe width="672" height="378" src="https://www.youtube.com/embed/UIZAiXYceBI?si=6VOjykF9uKkO_mt6" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen>&lt;/iframe>
&lt;p>* 有文章版可以看：&lt;a href="https://developers.googleblog.com/2023/12/how-its-made-gemini-multimodal-prompting.html" target="_blank" rel="noopener">
How it's Made: Interacting with Gemini through multimodal prompting
&lt;/a>&lt;/p>
&lt;p>* Gemini 的訓練資料是到 2023 年初，在此之後的它可能就不知道了。&lt;/p>
&lt;br/>
&lt;h3 id="gemini-模型三種尺寸">Gemini 模型三種尺寸&lt;/h3>
&lt;p>Gemini 依照尺寸分成三種版本：&lt;/p>
&lt;ul>
&lt;li>Gemini Ultra：最強大，適用高度複雜的任務&lt;/li>
&lt;li>Gemini Pro：最通用&lt;/li>
&lt;li>Gemini Nano：可於行動裝置上運作&lt;/li>
&lt;/ul>
&lt;p>目前 Google 的 Bard 背後已經換成了 Gemini Pro (好像只有英文版)，Gemini Nano 也應用於 Google Pixel 8 上。&lt;br />
而 Gemini Ultra 應該明年初會推出。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_api/gemini_sizes.jpg" alt="Gemini 分成三種尺寸" data-caption="Gemini 分成三種尺寸" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='650px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:650px;height:;"/>
&lt;figcaption style="text-align: center;">
Gemini 分成三種尺寸
&lt;/figcaption>
&lt;/figure>
&lt;p>* Gemini Ultra 對比 OpenAI GPT-4；Gemini Pro 對比 OpenAI GPT-3.5。&lt;br />
* 目前只開放 Gemini Pro 版本的 API。&lt;/p>
&lt;br/>
&lt;h3 id="api-價格">API 價格&lt;/h3>
&lt;p>以下價格都是 12/16 查詢的金額。&lt;/p>
&lt;br/>
&lt;p>在明年初全面上市之前，可以 &amp;quot;免費&amp;quot; 使用相同速率限制、相同模型來嘗試，不確定之後還會不會有免費方案(但降低使用速率)。&lt;br />
* 免費方案的輸入輸出資料會被拿去訓練，需要注意。&lt;/p>
&lt;p>Gemini Pro 的 API 限制每分鐘最多 60 個請求(以個人使用絕對夠用)，預計明年初之後收費如下：&lt;/p>
&lt;ul>
&lt;li>Price (input)&lt;br />
$0.00025 / 1K characters&lt;br />
$0.0025 / image&lt;/li>
&lt;li>Price (output)&lt;br />
$0.0005 / 1K characters&lt;/li>
&lt;/ul>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_api/gemini_pro_price.jpg" alt="Gemini Pro 版本的 API 價格" data-caption="Gemini Pro 版本的 API 價格" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='600px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:600px;height:;"/>
&lt;figcaption style="text-align: center;">
Gemini Pro 版本的 API 價格
&lt;/figcaption>
&lt;/figure>
&lt;p>而 OpenAI GPT 的 API 收費如下 (以 GPT-3.5 Turbo 為例)：&lt;/p>
&lt;ul>
&lt;li>Price (input)&lt;br />
$0.001 / 1K tokens&lt;/li>
&lt;li>Price (output)&lt;br />
$0.002 / 1K tokens&lt;/li>
&lt;/ul>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_api/openai_gpt_price.jpg" alt="OpenAI GPT 的 API 價格" data-caption="OpenAI GPT 的 API 價格" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='750px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:750px;height:;"/>
&lt;figcaption style="text-align: center;">
OpenAI GPT 的 API 價格
&lt;/figcaption>
&lt;/figure>
&lt;p>* 以上價格皆為美金，撰寫文章當下約 1 美金 = 31.3 新台幣。&lt;/p>
&lt;br/>
&lt;p>比較一下，可以看到 Google 的 Gemini 相較來說更划算，便宜了 4 倍，而且注意看他們的計算方式也不同，一個是用 character、一個是用 token，我們來看看不同的計算方式差多少。&lt;/p>
&lt;br/>
&lt;p>底下我自己實際用它們官網計算 token 的工具，來比較兩者的差距。&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://makersuite.google.com/" target="_blank" rel="noopener">
Google AI Studio
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://platform.openai.com/tokenizer" target="_blank" rel="noopener">
OpenAI Tokenizer
&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>先測試一段英文，兩者算出來的 token 是差不多的 (分別為 24 跟 25)：&lt;/p>
&lt;blockquote>
&lt;p>Gemini is built from the ground up for multimodality — reasoning seamlessly across image, video, audio, and code.&lt;/p>
&lt;/blockquote>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_api/gemini_count_tokens_english.jpg" alt="Google Gemini token 計算 - 英文" data-caption="Google Gemini token 計算 - 英文" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='850px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:850px;height:;"/>
&lt;figcaption style="text-align: center;">
Google Gemini token 計算 - 英文
&lt;/figcaption>
&lt;/figure>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_api/gpt_count_tokens_english.jpg" alt="OpenAI GPT-3.5 token 計算 - 英文" data-caption="OpenAI GPT-3.5 token 計算 - 英文" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='650px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:650px;height:;"/>
&lt;figcaption style="text-align: center;">
OpenAI GPT-3.5 token 計算 - 英文
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>但是，如果是中文，因為計算方式的差異，整整差了兩倍！！ (分別為 25 跟 50)&lt;/p>
&lt;blockquote>
&lt;p>Gemini 是一個原生多模態的大型語言模型，在大規模多任務語言理解方面甚至超越人類專家。&lt;/p>
&lt;/blockquote>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_api/gemini_count_tokens_chinese.jpg" alt="Google Gemini token 計算 - 中文" data-caption="Google Gemini token 計算 - 中文" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='850px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:850px;height:;"/>
&lt;figcaption style="text-align: center;">
Google Gemini token 計算 - 中文
&lt;/figcaption>
&lt;/figure>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_api/gpt_count_tokens_chinese.jpg" alt="OpenAI GPT-3.5 token 計算 - 中文" data-caption="OpenAI GPT-3.5 token 計算 - 中文" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='650px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:650px;height:;"/>
&lt;figcaption style="text-align: center;">
OpenAI GPT-3.5 token 計算 - 中文
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;h2 id="gemini-pro-api">Gemini Pro API&lt;/h2>
&lt;h3 id="創建-api-key">創建 API key&lt;/h3>
&lt;p>進到 &lt;a href="https://ai.google.dev/?hl=zh-tw" target="_blank" rel="noopener">
Google AI for Developers
&lt;/a> 的網站，可以查看 Google AI 模型的介紹、價格、說明文件與範例。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_api/build_with_gemini1.jpg" alt="建置 Gemini" data-caption="建置 Gemini" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='650px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:650px;height:;"/>
&lt;figcaption style="text-align: center;">
建置 Gemini
&lt;/figcaption>
&lt;/figure>
&lt;p>點擊 &amp;quot;Get API key in Google AI Studio&amp;quot; 前往 &lt;a href="https://makersuite.google.com/" target="_blank" rel="noopener">
Google AI Studio
&lt;/a> 來在網頁上測試 LLM AI 模型(類似 Playground 頁面的用途) 與取得 API key，&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_api/build_with_gemini2.jpg" alt="建置 Gemini" data-caption="建置 Gemini" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='600px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:600px;height:;"/>
&lt;figcaption style="text-align: center;">
建置 Gemini
&lt;/figcaption>
&lt;/figure>
&lt;blockquote>
&lt;p>Google AI Studio 是以瀏覽器為基礎的 IDE，可使用生成式模型進行原型設計。Google AI Studio 可讓您快速試用模型並嘗試各種提示建構符合需求的項目後，您可以從 Gemini API 提供支援的程式語言，並將其匯出為程式碼。&lt;/p>
&lt;/blockquote>
&lt;p>關於 Google AI Studio 的使用我就不多介紹了。提醒如果想輸入圖片，右邊的 Model 記得要切換成 Gemini Pro Vision，才有支援圖像。&lt;/p>
&lt;p>* &lt;a href="https://ai.google.dev/tutorials/ai-studio_quickstart?hl=zh-tw" target="_blank" rel="noopener">
Google AI Studio 官方教學文章
&lt;/a>&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_api/google_ai_studio.jpg" alt="Google AI Studio" data-caption="Google AI Studio" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='800px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:800px;height:;"/>
&lt;figcaption style="text-align: center;">
Google AI Studio
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>點擊左邊的 &amp;quot;Get API key&amp;quot; &amp;gt; &amp;quot;Create API key in new project&amp;quot; 來自動產生一個 Google Cloud 專案並創建一個 API key。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_api/google_cloud_keys.jpg" alt="創建 Google Cloud API key" data-caption="創建 Google Cloud API key" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='700px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:700px;height:;"/>
&lt;figcaption style="text-align: center;">
創建 Google Cloud API key
&lt;/figcaption>
&lt;/figure>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_api/google_cloud_key_generated.jpg" alt="創建 Google Cloud API key" data-caption="創建 Google Cloud API key" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='700px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:700px;height:;"/>
&lt;figcaption style="text-align: center;">
創建 Google Cloud API key
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;h3 id="gemini-模型種類說明">Gemini 模型種類說明&lt;/h3>
&lt;p>&lt;a href="https://ai.google.dev/models/gemini?hl=zh-tw" target="_blank" rel="noopener">
Gemini models 種類說明
&lt;/a> 列出目前可使用的 Gemini 模型資訊，包含 &amp;quot;模型說明&amp;quot;、&amp;quot;模型更新時間&amp;quot;、&amp;quot;輸入輸出類型&amp;quot;、&amp;quot;Token限制&amp;quot;、&amp;quot;頻率限制&amp;quot;&lt;/p>
&lt;p>Gemini Pro 用在文字輸入，而 Gemini Pro Vision 可以文字加影像輸入。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_api/api_models.png" alt="Gemini 可使用的模型種類" data-caption="Gemini 可使用的模型種類" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='800px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:800px;height:;"/>
&lt;figcaption style="text-align: center;">
Gemini 可使用的模型種類
&lt;/figcaption>
&lt;/figure>
&lt;h3 id="api-版本說明">API 版本說明&lt;/h3>
&lt;p>目前 Gemini API 有 &lt;a href="https://ai.google.dev/docs/api_versions?hl=zh-tw" target="_blank" rel="noopener">
v1 和 v1beta 版本
&lt;/a>：&lt;/p>
&lt;ul>
&lt;li>v1：API 的穩定版。在主要版本的生命週期內，穩定版本的功能都能完整支援。如有任何破壞性變更，系統會建立 API 的下一個主要版本，並在合理的時間內淘汰現有版本。&lt;/li>
&lt;li>v1beta：包含可能處於開發階段的搶先體驗功能，且需要快速更新及破壞性變更。請勿使用此版本於正式版應用程式。&lt;/li>
&lt;/ul>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/gemini_api/api_versions_explained.png" alt="API 版本比較 (v1 與 v1beta)" data-caption="API 版本比較 (v1 與 v1beta)" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='750px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:750px;height:;"/>
&lt;figcaption style="text-align: center;">
API 版本比較 (v1 與 v1beta)
&lt;/figcaption>
&lt;/figure>
&lt;h3 id="傳入參數">傳入參數&lt;/h3>
&lt;p>我們使用的 &lt;a href="https://ai.google.dev/api/rest/v1/models/generateContent?hl=zh-tw" target="_blank" rel="noopener">
generateContent 方法
&lt;/a> 其 Request 相關資訊如下：&lt;/p>
&lt;pre>&lt;code>POST https://generativelanguage.googleapis.com/v1/models/{gemini-pro or gemini-pro-vision}:generateContent?key={API_KEY}
&lt;/code>&lt;/pre>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;contents&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;parts&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;text&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;prompt...&amp;#34;&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="p">],&lt;/span>
&lt;span class="nt">&amp;#34;role&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;user or model&amp;#34;&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="p">],&lt;/span>
&lt;span class="nt">&amp;#34;safetySettings&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;category&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;&amp;lt;enum (HarmCategory)&amp;gt;&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;threshold&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;&amp;lt;enum (HarmBlockThreshold)&amp;gt;&amp;#34;&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="p">],&lt;/span>
&lt;span class="nt">&amp;#34;generationConfig&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;temperature&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;&amp;lt;number&amp;gt;&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;topP&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;&amp;lt;number&amp;gt;&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;topK&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;&amp;lt;number&amp;gt;&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;candidateCount&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;&amp;lt;integer&amp;gt;&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;maxOutputTokens&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;&amp;lt;integer&amp;gt;&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;stopSequences&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;&amp;lt;string&amp;gt;&amp;#34;&lt;/span>&lt;span class="p">]&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;code>contents&lt;/code> 放 prompt 提示 (&lt;code>text&lt;/code>) 與角色 (&lt;code>role&lt;/code>，可以是 &lt;code>user&lt;/code> 或 &lt;code>model&lt;/code>，不填則預設 &lt;code>user&lt;/code>)。&lt;/p>
&lt;br/>
&lt;p>&lt;code>safetySettings&lt;/code> 是 OpenAI GPT 沒有的參數，用於封鎖不安全的回覆內容。&lt;/p>
&lt;p>&lt;code>safetySettings&lt;/code> &amp;gt; &lt;code>category&lt;/code> 類別，可以使用以下數值：&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>數值&lt;/th>
&lt;th>代表意思&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>HARM_CATEGORY_HARASSMENT&lt;/td>
&lt;td>騷擾內容。&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>HARM_CATEGORY_HATE_SPEECH&lt;/td>
&lt;td>仇恨言論和內容。&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>HARM_CATEGORY_SEXUALLY_EXPLICIT&lt;/td>
&lt;td>情色露骨內容。&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>HARM_CATEGORY_DANGEROUS_CONTENT&lt;/td>
&lt;td>危險內容。&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>* 其他還有 HARM_CATEGORY_UNSPECIFIED、HARM_CATEGORY_DEROGATORY、HARM_CATEGORY_TOXICITY、HARM_CATEGORY_VIOLENCE、HARM_CATEGORY_SEXUAL、HARM_CATEGORY_MEDICAL、HARM_CATEGORY_DANGEROUS，不過那是給 PaLM 2（舊版）模型使用的，Gemini 模型不支援。&lt;/p>
&lt;p>&lt;code>safetySettings&lt;/code> &amp;gt; &lt;code>threshold&lt;/code> 封鎖門檻，可以使用以下數值：&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>數值&lt;/th>
&lt;th>代表意思&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>HARM_BLOCK_THRESHOLD_UNSPECIFIED&lt;/td>
&lt;td>未指定門檻。&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>BLOCK_LOW_AND_ABOVE&lt;/td>
&lt;td>允許含有「NEGLIGIBLE」的內容&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>BLOCK_MEDIUM_AND_ABOVE&lt;/td>
&lt;td>允許含有「NEGLIGIBLE」、「LOW」的內容。&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>BLOCK_ONLY_HIGH&lt;/td>
&lt;td>允許含有「NEGLIGIBLE」、「LOW」、「MEDIUM」的內容。&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>BLOCK_NONE&lt;/td>
&lt;td>允許所有內容。&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;br/>
&lt;p>&lt;code>generationConfig&lt;/code> 用於設定模型生成和輸出的設定參數，其中幾個比較會用到的是：&lt;/p>
&lt;ul>
&lt;li>&lt;code>temperature&lt;/code>：輸出內容的隨機性。越接近 1.0，產生的回應會豐富、多元、更有創意；反之越接近 0.0，則會產生較有確定性、可能性較高的回覆。&lt;/li>
&lt;li>&lt;code>maxOutputTokens&lt;/code>：最大輸出回應 Token 數量。Gemini Pro 模型預設 2048；Gemini Pro Vision 模型預設 4096。&lt;/li>
&lt;li>&lt;code>candidateCount&lt;/code>：要傳回的回應數量。預設 1，可設定 1~8，但目前好像限制只能用 1。&lt;/li>
&lt;/ul>
&lt;br/>
&lt;br/>
&lt;p>用法可以直接看下一章節的 Python 範例程式碼。其他更詳細的說明，請參考以下官方文件：&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://cloud.google.com/vertex-ai/docs/generative-ai/model-reference/gemini" target="_blank" rel="noopener">
Gemini API 說明文件
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://ai.google.dev/api/rest/v1/models/generateContent?hl=zh-tw" target="_blank" rel="noopener">
Gemini API generateContent 參考資料
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://ai.google.dev/docs/concepts?hl=zh-tw#model_parameters" target="_blank" rel="noopener">
LLM 概念指南 &amp;gt; 模型參數
&lt;/a>&lt;/li>
&lt;/ul>
&lt;br/>
&lt;h3 id="回覆內容">回覆內容&lt;/h3>
&lt;p>API 範例回覆內容如下：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;span class="lnt">36
&lt;/span>&lt;span class="lnt">37
&lt;/span>&lt;span class="lnt">38
&lt;/span>&lt;span class="lnt">39
&lt;/span>&lt;span class="lnt">40
&lt;/span>&lt;span class="lnt">41
&lt;/span>&lt;span class="lnt">42
&lt;/span>&lt;span class="lnt">43
&lt;/span>&lt;span class="lnt">44
&lt;/span>&lt;span class="lnt">45
&lt;/span>&lt;span class="lnt">46
&lt;/span>&lt;span class="lnt">47
&lt;/span>&lt;span class="lnt">48
&lt;/span>&lt;span class="lnt">49
&lt;/span>&lt;span class="lnt">50
&lt;/span>&lt;span class="lnt">51
&lt;/span>&lt;span class="lnt">52
&lt;/span>&lt;span class="lnt">53
&lt;/span>&lt;span class="lnt">54
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;candidates&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;content&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;parts&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;text&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;我知道王建民。王建民，1980年3月31日出生於台灣台中市，是一位前台灣棒球選手，司職投手。他曾效力於中華職棒的興農牛隊，美國職棒的紐約洋基隊、華盛頓國民隊和芝加哥白襪隊，以及中國棒球聯賽的北京猛虎隊。\n\n王建民是台灣史上第一位大聯盟先發勝投破百的投手，也是第一位入選大聯盟全明星賽的台灣選手。他在2006年締造19勝6敗、 防禦率3.63的優異成績，並在季後賽拿下3勝0敗的戰績，幫助洋基隊奪得世界大賽冠軍。王建民也因此成為台灣的棒球英雄，並獲得「台灣之光」的稱號。\n\n然而，王建民在2008年季初因傷缺陣，並在2009年進行了韌帶移植手術。此後，他的成績大幅下滑，並在2012年離開了大聯盟。王建民於2013年回歸中華職棒，效力於義大犀牛隊。2016年，他宣布正式退休。\n\n王建民的職業生涯戰績為127勝72敗， 防禦率3.92，三振數1718次。他是台灣棒球史上最成功的投手之一，也是台灣人民的驕傲。&amp;#34;&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="p">],&lt;/span>
&lt;span class="nt">&amp;#34;role&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;model&amp;#34;&lt;/span>
&lt;span class="p">},&lt;/span>
&lt;span class="nt">&amp;#34;finishReason&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;STOP&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;index&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;safetyRatings&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;category&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;HARM_CATEGORY_SEXUALLY_EXPLICIT&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;probability&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;NEGLIGIBLE&amp;#34;&lt;/span>
&lt;span class="p">},&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;category&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;HARM_CATEGORY_HATE_SPEECH&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;probability&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;NEGLIGIBLE&amp;#34;&lt;/span>
&lt;span class="p">},&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;category&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;HARM_CATEGORY_HARASSMENT&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;probability&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;NEGLIGIBLE&amp;#34;&lt;/span>
&lt;span class="p">},&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;category&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;HARM_CATEGORY_DANGEROUS_CONTENT&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;probability&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;NEGLIGIBLE&amp;#34;&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="p">]&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="p">],&lt;/span>
&lt;span class="nt">&amp;#34;promptFeedback&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;safetyRatings&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;category&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;HARM_CATEGORY_SEXUALLY_EXPLICIT&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;probability&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;NEGLIGIBLE&amp;#34;&lt;/span>
&lt;span class="p">},&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;category&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;HARM_CATEGORY_HATE_SPEECH&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;probability&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;NEGLIGIBLE&amp;#34;&lt;/span>
&lt;span class="p">},&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;category&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;HARM_CATEGORY_HARASSMENT&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;probability&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;NEGLIGIBLE&amp;#34;&lt;/span>
&lt;span class="p">},&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;category&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;HARM_CATEGORY_DANGEROUS_CONTENT&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;probability&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;NEGLIGIBLE&amp;#34;&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="p">]&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;code>candidates&lt;/code> 就是回應候選內容，目前好像只會有一個，因為輸入的 &lt;code>generationConfig&lt;/code> &amp;gt; &lt;code>candidateCount&lt;/code> 它也只讓我設定 1。&lt;/p>
&lt;ul>
&lt;li>&lt;code>content&lt;/code>：生成回應內容，格式跟輸入的 &lt;code>contents&lt;/code> 一樣。&lt;/li>
&lt;li>&lt;code>finishReason&lt;/code>：模型停止產生 token 的原因。&lt;/li>
&lt;/ul>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>數值&lt;/th>
&lt;th>代表意思&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>FINISH_REASON_UNSPECIFIED&lt;/td>
&lt;td>預設值。這個值未使用。&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>STOP&lt;/td>
&lt;td>模型的自然停止或提供的停止序列。&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>MAX_TOKENS&lt;/td>
&lt;td>已達到請求中指定的 token 數量上限。&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>SAFETY&lt;/td>
&lt;td>內容因安全原因而被標記。&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>RECITATION&lt;/td>
&lt;td>內容因遭檢舉為引用原因而被標記。&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>OTHER&lt;/td>
&lt;td>未知原因。&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;ul>
&lt;li>&lt;code>index&lt;/code>：此候選內容在候選清單中的索引 (目前只有一則)。&lt;/li>
&lt;li>&lt;code>safetyRatings&lt;/code>：安全性評級清單。顯示此回覆內容在各項安全性類別的等級(可能性)。&lt;/li>
&lt;/ul>
&lt;br/>
&lt;p>我自己在測試時，有時會如下回應，不知道是不是剛推出，所以還不太穩。&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;candidates&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[{&lt;/span>&lt;span class="nt">&amp;#34;finishReason&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;OTHER&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;index&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">}],&lt;/span>
&lt;span class="nt">&amp;#34;promptFeedback&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;safetyRatings&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;span class="p">{&lt;/span>&lt;span class="nt">&amp;#34;category&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;HARM_CATEGORY_SEXUALLY_EXPLICIT&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;probability&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;NEGLIGIBLE&amp;#34;&lt;/span>&lt;span class="p">},&lt;/span>
&lt;span class="p">{&lt;/span>&lt;span class="nt">&amp;#34;category&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;HARM_CATEGORY_HATE_SPEECH&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;probability&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;NEGLIGIBLE&amp;#34;&lt;/span>&lt;span class="p">},&lt;/span>
&lt;span class="p">{&lt;/span>&lt;span class="nt">&amp;#34;category&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;HARM_CATEGORY_HARASSMENT&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;probability&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;NEGLIGIBLE&amp;#34;&lt;/span>&lt;span class="p">},&lt;/span>
&lt;span class="p">{&lt;/span>&lt;span class="nt">&amp;#34;category&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;HARM_CATEGORY_DANGEROUS_CONTENT&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;probability&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;NEGLIGIBLE&amp;#34;&lt;/span>&lt;span class="p">}&lt;/span>
&lt;span class="p">]&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;br/>
&lt;p>其他更詳細的說明，請參考以下官方文件：&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://ai.google.dev/api/rest/v1/GenerateContentResponse?hl=zh-tw" target="_blank" rel="noopener">
Gemini API GenerateContentResponse 參考資料
&lt;/a>&lt;/li>
&lt;/ul>
&lt;br/>
&lt;h3 id="python-範例程式碼">Python 範例程式碼&lt;/h3>
&lt;p>在 &lt;a href="https://ai.google.dev/tutorials/python_quickstart" target="_blank" rel="noopener">
官網的範例
&lt;/a> 是使用他們創建的 &lt;a href="https://pypi.org/project/google-generativeai/" target="_blank" rel="noopener">
google-generativeai
&lt;/a> 套件。&lt;br />
不過這邊我想改用我們熟悉的 Requests 套件來嘗試、示範。&lt;/p>
&lt;br/>
&lt;p>首先要確認有安裝 Requests 套件：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-Shell" data-lang="Shell">pip install requests
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>那我們開始吧~🏃&lt;/p>
&lt;br/>
&lt;h4 id="單個純文字">單個純文字&lt;/h4>
&lt;p>純粹問它一段話：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="c1"># 單個純文字&lt;/span>
&lt;span class="kn">import&lt;/span> &lt;span class="nn">json&lt;/span>
&lt;span class="kn">import&lt;/span> &lt;span class="nn">requests&lt;/span>
&lt;span class="n">url&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">f&lt;/span>&lt;span class="s1">&amp;#39;https://generativelanguage.googleapis.com/v1/models/gemini-pro:generateContent?key={API_KEY}&amp;#39;&lt;/span>
&lt;span class="n">headers&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="s1">&amp;#39;Content-Type&amp;#39;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s1">&amp;#39;application/json&amp;#39;&lt;/span>&lt;span class="p">}&lt;/span>
&lt;span class="n">data&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>
&lt;span class="s2">&amp;#34;contents&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="s2">&amp;#34;parts&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[{&lt;/span>&lt;span class="s2">&amp;#34;text&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;你知道王建民嗎？&amp;#34;&lt;/span>&lt;span class="p">}]&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="p">]&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="n">response&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">requests&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">post&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">url&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">headers&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">headers&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">json&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">data&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="k">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">f&lt;/span>&lt;span class="s2">&amp;#34;response status_code: {response.status_code}&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="k">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">json&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">dumps&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">response&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">json&lt;/span>&lt;span class="p">(),&lt;/span> &lt;span class="n">indent&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">ensure_ascii&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="bp">False&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;br/>
&lt;h4 id="單個純文字--參數">單個純文字 + 參數&lt;/h4>
&lt;p>問它一段話，並且加上一些參數設定：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="c1"># 單個純文字 + 參數&lt;/span>
&lt;span class="kn">import&lt;/span> &lt;span class="nn">json&lt;/span>
&lt;span class="kn">import&lt;/span> &lt;span class="nn">requests&lt;/span>
&lt;span class="n">url&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">f&lt;/span>&lt;span class="s1">&amp;#39;https://generativelanguage.googleapis.com/v1/models/gemini-pro:generateContent?key={API_KEY}&amp;#39;&lt;/span>
&lt;span class="n">headers&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="s1">&amp;#39;Content-Type&amp;#39;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s1">&amp;#39;application/json&amp;#39;&lt;/span>&lt;span class="p">}&lt;/span>
&lt;span class="n">data&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>
&lt;span class="s2">&amp;#34;contents&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="s2">&amp;#34;parts&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[{&lt;/span>&lt;span class="s2">&amp;#34;text&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;你知道王建民嗎？&amp;#34;&lt;/span>&lt;span class="p">}]&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="p">],&lt;/span>
&lt;span class="s2">&amp;#34;safetySettings&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="s2">&amp;#34;category&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;HARM_CATEGORY_DANGEROUS_CONTENT&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="s2">&amp;#34;threshold&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;BLOCK_NONE&amp;#34;&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="p">],&lt;/span>
&lt;span class="s2">&amp;#34;generationConfig&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;span class="s2">&amp;#34;temperature&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="s2">&amp;#34;maxOutputTokens&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">30&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="s2">&amp;#34;topP&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">0.8&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="s2">&amp;#34;topK&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">10&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="n">response&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">requests&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">post&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">url&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">headers&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">headers&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">json&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">data&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="k">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">f&lt;/span>&lt;span class="s2">&amp;#34;response status_code: {response.status_code}&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="k">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">json&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">dumps&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">response&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">json&lt;/span>&lt;span class="p">(),&lt;/span> &lt;span class="n">indent&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">ensure_ascii&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="bp">False&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;br/>
&lt;h4 id="多輪純文字對話聊天">多輪純文字對話（聊天）&lt;/h4>
&lt;p>像在 Bard 或 ChatGPT 上一樣，可以多輪對話，它會記得之前的內容：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="c1"># 多輪對話（聊天）&lt;/span>
&lt;span class="kn">import&lt;/span> &lt;span class="nn">json&lt;/span>
&lt;span class="kn">import&lt;/span> &lt;span class="nn">requests&lt;/span>
&lt;span class="n">url&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">f&lt;/span>&lt;span class="s1">&amp;#39;https://generativelanguage.googleapis.com/v1/models/gemini-pro:generateContent?key={API_KEY}&amp;#39;&lt;/span>
&lt;span class="n">headers&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="s1">&amp;#39;Content-Type&amp;#39;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s1">&amp;#39;application/json&amp;#39;&lt;/span>&lt;span class="p">}&lt;/span>
&lt;span class="n">data&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>
&lt;span class="s2">&amp;#34;contents&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="s2">&amp;#34;role&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;user&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="s2">&amp;#34;parts&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[{&lt;/span>&lt;span class="s2">&amp;#34;text&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;你知道王建民嗎？&amp;#34;&lt;/span>&lt;span class="p">}]&lt;/span>
&lt;span class="p">},&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="s2">&amp;#34;role&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;model&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="s2">&amp;#34;parts&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[{&lt;/span>&lt;span class="s2">&amp;#34;text&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;我知道王建民。王建民，1980年3月31日出生於台灣台中市，是一位前台灣棒球選手，司職投手。他曾效力於中華職棒的興農牛隊，美國職棒的紐約洋基隊、華盛頓國民隊和芝加哥白襪隊，以及中國棒球聯賽的北京猛虎隊。&lt;/span>&lt;span class="se">\n\n&lt;/span>&lt;span class="s2">王建民是台灣史上第一位大聯盟先發勝投破百的投手，也是第一位入選大聯盟全明星賽的台灣選手。他在2006年締造19勝6敗、 防禦率3.63的優異成績，並在季後賽拿下3勝0敗的戰績，幫助洋基隊奪得世界大賽冠軍。王建民也因此成為台灣的棒球英雄，並獲得「台灣之光」的稱號。&lt;/span>&lt;span class="se">\n\n&lt;/span>&lt;span class="s2">然而，王建民在2008年季初因傷缺陣，並在2009年進行了韌帶移植手術。此後，他的成績大幅下滑，並在2012年離開了大聯盟。王建民於2013年回歸中華職棒，效力於義大犀牛隊。2016年，他宣布正式退休。&lt;/span>&lt;span class="se">\n\n&lt;/span>&lt;span class="s2">王建民的職業生涯戰績為127勝72敗， 防禦率3.92，三振數1718次。他是台灣棒球史上最成功的投手之一，也是台灣人民的驕傲。&amp;#34;&lt;/span>&lt;span class="p">}]&lt;/span>
&lt;span class="p">},&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="s2">&amp;#34;role&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;user&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="s2">&amp;#34;parts&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[{&lt;/span>&lt;span class="s2">&amp;#34;text&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;他現在在哪裡？&amp;#34;&lt;/span>&lt;span class="p">}]&lt;/span>
&lt;span class="p">},&lt;/span>
&lt;span class="p">]&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="n">response&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">requests&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">post&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">url&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">headers&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">headers&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">json&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">data&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="k">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">f&lt;/span>&lt;span class="s2">&amp;#34;response status_code: {response.status_code}&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="k">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">json&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">dumps&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">response&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">json&lt;/span>&lt;span class="p">(),&lt;/span> &lt;span class="n">indent&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">ensure_ascii&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="bp">False&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;br/>
&lt;h4 id="單個文字和圖片">單個文字和圖片&lt;/h4>
&lt;p>如果需要 AI 可以看圖片，需要改用 Gemini Pro Vision 模型 (支援文字和圖片輸入)，並且圖片要轉換為 Base64 編碼的字串，&lt;/p>
&lt;p>圖片的 &lt;code>mime_type&lt;/code> 參數目前支援「&lt;code>image/png&lt;/code>」、「&lt;code>image/jpeg&lt;/code>」、「&lt;code>image/heic&lt;/code>」、「&lt;code>image/heif&lt;/code>」、「&lt;code>image/webp&lt;/code>」幾種格式。&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="c1"># 單個文字和圖片&lt;/span>
&lt;span class="kn">import&lt;/span> &lt;span class="nn">json&lt;/span>
&lt;span class="kn">import&lt;/span> &lt;span class="nn">requests&lt;/span>
&lt;span class="kn">import&lt;/span> &lt;span class="nn">base64&lt;/span>
&lt;span class="c1"># 讀取圖片檔案，並轉換成 Base64 編碼的字串&lt;/span>
&lt;span class="k">with&lt;/span> &lt;span class="nb">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;gemini_test_image.jpg&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;rb&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="n">image_file&lt;/span>&lt;span class="p">:&lt;/span>
&lt;span class="n">image_base64_string&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">base64&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">b64encode&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">image_file&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">read&lt;/span>&lt;span class="p">())&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">decode&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;utf-8&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># print(image_base64_string)&lt;/span>
&lt;span class="n">url&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">f&lt;/span>&lt;span class="s1">&amp;#39;https://generativelanguage.googleapis.com/v1/models/gemini-pro-vision:generateContent?key={API_KEY}&amp;#39;&lt;/span>
&lt;span class="n">headers&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="s1">&amp;#39;Content-Type&amp;#39;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s1">&amp;#39;application/json&amp;#39;&lt;/span>&lt;span class="p">}&lt;/span>
&lt;span class="n">data&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>
&lt;span class="s2">&amp;#34;contents&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="s2">&amp;#34;parts&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;span class="p">{&lt;/span>&lt;span class="s2">&amp;#34;text&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;詳細說明你在這張圖片中看到什麼？&amp;#34;&lt;/span>&lt;span class="p">},&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="s2">&amp;#34;inline_data&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;span class="s2">&amp;#34;mime_type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;image/jpeg&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="s2">&amp;#34;data&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">image_base64_string&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="p">]&lt;/span>
&lt;span class="p">},&lt;/span>
&lt;span class="p">]&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="n">response&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">requests&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">post&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">url&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">headers&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">headers&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">json&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">data&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="k">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">f&lt;/span>&lt;span class="s2">&amp;#34;response status_code: {response.status_code}&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="k">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">json&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">dumps&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">response&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">json&lt;/span>&lt;span class="p">(),&lt;/span> &lt;span class="n">indent&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">ensure_ascii&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="bp">False&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;br/>
&lt;!--adsense-->
&lt;h2 id="結語">結語&lt;/h2>
&lt;p>v1 Beta 版本還有更多功能，像是 &lt;a href="https://ai.google.dev/docs/function_calling" target="_blank" rel="noopener">
函數呼叫(Function calling)
&lt;/a>、&lt;a href="https://ai.google.dev/docs/semantic_retriever" target="_blank" rel="noopener">
語意檢索器(Semantic Retriever、RAG)
&lt;/a>，雖然還在測試中，不建議用於正式版應用，但有興趣的還是可以去玩玩看🤖。&lt;/p>
&lt;p>至少在今年底前使用 Google Gemini API 都是「免費」使用，你想要拿來練習、做專案、做 Side Project 都可以使盡玩(?)，但要注意不要上傳任何敏感資料，因為目前方案所有的輸入輸出都可能會被拿去當訓練資料。&lt;/p>
&lt;br/>
&lt;br/>
&lt;hr />
&lt;p>參考：&lt;br />
&lt;a href="https://deepmind.google/technologies/gemini/" target="_blank" rel="noopener">
Google Gemini 官方網站
&lt;/a>&lt;br />
&lt;a href="https://ai.google.dev/docs?hl=zh-tw" target="_blank" rel="noopener">
Google Gemini API 說明文件
&lt;/a>&lt;br />
&lt;a href="https://makersuite.google.com/" target="_blank" rel="noopener">
Google AI Studio
&lt;/a>&lt;br />
&lt;a href="https://developers.googleblog.com/" target="_blank" rel="noopener">
Google for Developers Blog
&lt;/a>&lt;/p>
&lt;br/>
&lt;blockquote>
&lt;p>The sky&amp;rsquo;s the limit&lt;br />
一切皆有可能&lt;/p>
&lt;/blockquote></content:encoded><dc:creator>Jia</dc:creator><media:content url="https://blog.jiatool.comimages/cover/gemini_api.jpg" medium="image"><media:title type="html">featured image</media:title></media:content><media:content url="https://blog.jiatool.comimages/posts/gemini_api_meta.jpg" medium="image"><media:title type="html">meta image</media:title></media:content><category>Gemini</category><category>LLM</category><category>AI</category><category>人工智慧</category><category>API</category><category>Python</category><category>Google</category><category>分享</category></item></channel></rss>