谷歌近期發布了Gemini API 的新端點,旨在簡化從OpenAI 解決方案向Gemini 的遷移過程。此舉旨在為開發者提供更便捷的途徑,從而利用Gemini 的強大功能。該新端點目前處於測試階段,僅支持OpenAI API 的部分功能,例如聊天補全和嵌入API,並提供通過REST 調用或OpenAI 官方SDK 使用Gemini 模型的示例代碼。 這為開發者在不同大型語言模型之間切換提供了新的選擇,並引發了業界對未來API 標準化的討論。
谷歌近日宣布推出其Gemini API 的新端點,旨在幫助已經採用OpenAI 解決方案的開發者更輕鬆地切換到Gemini。這一新端點目前仍處於測試階段,僅提供部分OpenAI 功能的支持。

根據谷歌的介紹,該新端點可以在使用直接的REST 調用或OpenAI 官方SDK 的情況下替代OpenAI 的端點。例如,如果你有一個使用OpenAI SDK(比如Python)編寫的程序,可以通過如下代碼更改初始化,使用谷歌的模型:
from openai import OpenAI
client = OpenAI (
api_key="gemini_api_key",
base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)
在代碼中,開發者需要提供Gemini API 密鑰,密鑰可以直接寫在代碼中或通過OPENAI_API_KEY 環境變量傳遞。要生成文本,可以使用聊天補全API,如下所示,指定希望使用的Gemini 模型名稱:
response = client.chat.completions.create (
model="gemini-1.5-flash",
n=1,
messages=[
{"role": "system", "content": "你是一個有幫助的助手。"},
{
"role": "user",
"content": "給我解釋一下AI 是如何工作的"
}
]
)
print (response.choices [0].message)
此外,新的Gemini 端點還支持OpenAI 的嵌入API,用於測量文本字符串之間的相關性。簡而言之,嵌入API 將文本映射為浮點數的向量,開發者可以利用這些向量來搜索特定值、對文本進行聚類、檢測異常和提供推薦等。以下代碼片段展示瞭如何在Gemini 中使用這一功能:
response = client.embeddings.create (
input="您的文本字符串在這裡",
model="text-embedding-004"
)
print (response.data [0].embedding)
目前,聊天補全API 和嵌入API 是唯一可以通過新OpenAI 端點在Gemini 模型上使用的OpenAI 功能。此外,圖像上傳和結構化輸出的支持也僅限於有限的功能。谷歌表示,他們計劃添加更多OpenAI 的功能,以便開發者能夠更方便地將Gemini 作為OpenAI 的替代方案,但具體的時間框架尚不明確。
在Reddit 的討論中,評論者對谷歌的這一舉措表示讚賞,認為這為OpenAI API 用戶提供了一種逃避鎖定的解決方案,儘管距離實現一個標準API 以便於在不同模型提供者之間輕鬆切換仍有很長的路要走。
作為更通用的方法,vLLM 項目旨在支持各種生成和嵌入模型,並提供一個與OpenAI 兼容的服務器。借助vLLM,開發者可以使用Mistral、Llama、Llava 以及當前可用的許多其他主要模型。
官方介紹:https://developers.googleblog.com/en/gemini-is-now-accessible-from-the-openai-library/
劃重點:
谷歌推出Gemini API 新端點,幫助開發者更輕鬆地切換到Gemini。
新端點支持OpenAI 的聊天補全和嵌入API,但功能尚不完全。
vLLM 項目提供多種模型的支持,提升API 靈活性。
總而言之,谷歌Gemini API 新端點的推出為開發者提供了更靈活的選擇,但其功能仍處於完善階段,未來發展值得期待。 vLLM 等項目則為尋求更廣泛模型支持的開發者提供了另一種途徑,推動了大型語言模型生態的持續發展。