跳至主要內容

Google Gemini 正式兼容 OpenAI API!

Google Gemini 模型正式兼容 OpenAI API,可用 OpenAI 函數庫或 REST API 呼叫!

The Walking Fish 步行魚
The Walking Fish 步行魚 ·
577 字 · 閱讀時間: 2 分鐘 · ...
Google Gemini 正式兼容 OpenAI API!
Fig. 01 — Google Gemini 正式兼容 OpenAI API! FEATURED IMAGE

台灣時間 11/09,Google AI Studio 的產品負責人 Logan Kilpatrick,於 X 平台上發文表示 Google Gemini 將可以使用 OpenAI 函式庫呼叫,這意味著目前正在使用 OpenAI 模型的開發者,如果之後想轉用 Gemini,只需要調整 base_url、api_key、model 這 3 個參數!

同時根據 Google 官方開發者部落格的文章和 Gemini API 文件,Gemini API 此次的更新是希望可以做到兼容 OpenAI API,讓他除了語言模型外,也能夠調用 Embedding 等其他功能。接下來將會先支援 Chat Completions API 和 Embeddings API,預計在未來幾週到幾個月內會兼容更多功能。

根據 Gemini API 文件 中的範例,我們目前可以使用 OpenAI 的 Python 函式庫,或 REST API 格式調用 Gemini 模型,只需調整 base_url 為 https://generativelanguage.googleapis.com/v1beta/,並調整 api_key 和 model,以下提供一些範例:

使用 Python 調用 Gemini 1.5 Flash:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
from openai import OpenAI
client = OpenAI(
    api_key="gemini_api_key",
    base_url="https://generativelanguage.googleapis.com/v1beta/"
)


response = client.chat.completions.create(
    model="gemini-1.5-flash",
    n=1,
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {
            "role": "user",
            "content": "Explain to me how AI works"
        }
    ]
)

print(response.choices[0].message)

使用 curl 調用 Gemini 1.5 Flash (Streaming 回覆):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
curl "https://generativelanguage.googleapis.com/v1beta//chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer gemini_api_key" \
-d '{
    "model": "gemini-1.5-flash",
    "messages": [
        {"role": "user", "content": "Explain to me how AI works"}
    ],
    "stream": true
  }'

其他還有支援 函式呼叫 以及 Embedding 的功能,詳細的範例可以查看 Gemini API 文件

Gemini API 此次更新也會兼容 OpenAI API 的函式呼叫以及Embedding等功能

但要注意的是,OpenAI 函式庫的支援功能仍處於 Beta 版,圖片上傳、結構化輸出內容等功能仍收到限制。

SHARE / 分享此文章