如何使用 Gemini API

用 Python 調用 Gemini 的 API

Chris Lee
4 min readMar 5, 2024

Gemini 是 ChatGPT 最大的競爭對手之一,對某些人來說,Google 家的東西就是一個穩字,如果要商用,比起貴的嚇死人的 Azure,Gemini可能是一個選擇。

原本的 Bard 再短短不到一年就成為歷史,尤其 Google 把 Gemini Advanced 整合到 Google One 方案中,足見 Google 對這個產品的野心,可以期待未來的發展性。

下面就來示範如何使用調用 Gemini 的 API,細節可以參考官方文檔:

1. 申請金鑰

跟其他 API 服務一樣,Gemini 要金鑰才能呼叫,一個是在 Google AI Studio 後台建立,一個是在 GCP (Google Cloud Platform) 建立,如果你今天想跟其他雲端服務整合,可以用GCP,下面示範 AI Studio:

順便說一下,目前 Gemini API 都是免費的喲~

2. 安裝套件並載入金鑰

這邊用 Colab 做示範,如果你是其他環境,記得先安裝套件,Colab 是可以直接 import:

pip install google-generativeai

把前面的金鑰貼到 api_key,記得金鑰不要外流:

import google.generativeai as genai
import os

api_key = '金鑰貼這邊'
genai.configure(api_key = api_key)

model = genai.GenerativeModel('gemini-pro')
response = model.generate_content('打上你要問的問題')

print(response.text)

3. 選擇 Model 及開始對話

Gemini 也有多個模型可選擇,可以參考官方文檔,主要就是文字處理的 gemini-pro 跟處理圖像的 gemini-pro-vision。特別注意這邊的 gemini-pro 指的是 gemini 1.0 版本,新的版本是要付錢的~

Gemini 體感上回覆會比 OpenAI 的 GTP 快一點點 🤏,而且輸出會自動幫你轉 markdown 算是一個不錯的體驗。

4. 連續對話

Gemini 跟 ChatGPT 一樣,都可以進行連續對話,Gemini 提供 chat 方法記錄訊息,不需要另外寫函數來記憶。

model = genai.GenerativeModel('gemini-pro')
chat = model.start_chat(history=[])

response = chat.send_message("我想學習deep learning要從哪邊開始入手")
print(response.text)

如果要繼續問問題,只要重複 chat.send_message 即可:

同時也能將過去歷史訊息叫出來,但目前有中文編碼問題,這塊就待官方改善囉。

最後提醒一點,chat功能只有支援 gemini-pro,針對圖像的gemini-pro-vision 是不支援的喲!

Gemini 發展速度及提供服務進步的非常快,主要是為了跟 OpenAI 競爭市場地位,但實際上競爭者會比想像中來的多,如 MistralClaude 都是強勁的競爭對手,就讓我們拭目以待各家 LLM 的發展吧。

--

--

Chris Lee

隱身在金融業的資料科學家,部分文章會在個人部落格唷 https://chrisnote.com/