跳至主要內容

Google AI Studio SDK

Google AI Studio 的穿透式端點 - 以原生格式呼叫提供者特定端點(不進行轉換)。

功能支援備註
成本追蹤支援 /generateContent 端點上的所有模型
記錄可跨所有整合運作
端用戶追蹤如果您需要此功能,請告訴我們
串流

只要將 https://generativelanguage.googleapis.com 替換為 LITELLM_PROXY_BASE_URL/gemini

使用範例

curl 'http://0.0.0.0:4000/gemini/v1beta/models/gemini-1.5-flash:countTokens?key=sk-anything' \
-H 'Content-Type: application/json' \
-d '{
"contents": [{
"parts":[{
"text": "The quick brown fox jumps over the lazy dog."
}]
}]
}'

支援 所有 Google AI Studio 端點(包含串流)。

查看所有 Google AI Studio 端點

快速開始

我們來呼叫 Gemini /countTokens 端點

  1. 將 Gemini API 金鑰加入您的環境變數
export GEMINI_API_KEY=""
  1. 啟動 LiteLLM Proxy
litellm

# RUNNING on http://0.0.0.0:4000
  1. 測試一下!

我們來呼叫 Google AI Studio 的 token 計數端點

http://0.0.0.0:4000/gemini/v1beta/models/gemini-1.5-flash:countTokens?key=anything' \
-H 'Content-Type: application/json' \
-d '{
"contents": [{
"parts":[{
"text": "The quick brown fox jumps over the lazy dog."
}]
}]
}'

範例

http://0.0.0.0:4000/gemini 之後的內容都會被視為提供者特定路由,並相應處理。

主要變更:

原始端點替換為
https://generativelanguage.googleapis.comhttp://0.0.0.0:4000/gemini (LITELLM_PROXY_BASE_URL="http://0.0.0.0:4000")
key=$GOOGLE_API_KEYkey=anything(如果 proxy 上已設定 Virtual Keys,請使用 key=LITELLM_VIRTUAL_KEY

範例 1:計算 token

LiteLLM Proxy 呼叫

curl http://0.0.0.0:4000/gemini/v1beta/models/gemini-1.5-flash:countTokens?key=anything \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[{
"text": "The quick brown fox jumps over the lazy dog."
}],
}],
}'

直接 Google AI Studio 呼叫

curl https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:countTokens?key=$GOOGLE_API_KEY \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[{
"text": "The quick brown fox jumps over the lazy dog."
}],
}],
}'

範例 2:產生內容

LiteLLM Proxy 呼叫

curl "http://0.0.0.0:4000/gemini/v1beta/models/gemini-1.5-flash:generateContent?key=anything" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[{"text": "Write a story about a magic backpack."}]
}]
}' 2> /dev/null

直接 Google AI Studio 呼叫

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[{"text": "Write a story about a magic backpack."}]
}]
}' 2> /dev/null

範例 3:快取

curl -X POST "http://0.0.0.0:4000/gemini/v1beta/models/gemini-1.5-flash-001:generateContent?key=anything" \
-H 'Content-Type: application/json' \
-d '{
"contents": [
{
"parts":[{
"text": "Please summarize this transcript"
}],
"role": "user"
},
],
"cachedContent": "'$CACHE_NAME'"
}'

直接 Google AI Studio 呼叫

curl -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash-001:generateContent?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"contents": [
{
"parts":[{
"text": "Please summarize this transcript"
}],
"role": "user"
},
],
"cachedContent": "'$CACHE_NAME'"
}'

範例 4:使用 Veo 產生影片

透過 LiteLLM 穿透式路由,使用 Google 的 Veo 模型產生影片。

→ 完整 Veo 影片產生指南

進階

前置需求

使用這個方式,避免提供給開發人員原始的 Google AI Studio 金鑰,但仍讓他們可以使用 Google AI Studio 端點。

搭配 Virtual Keys 使用

  1. 設定環境
export DATABASE_URL=""
export LITELLM_MASTER_KEY=""
export GEMINI_API_KEY=""
litellm

# RUNNING on http://0.0.0.0:4000
  1. 產生 virtual key
curl -X POST 'http://0.0.0.0:4000/key/generate' \
-H 'Authorization: Bearer sk-1234' \
-H 'Content-Type: application/json' \
-d '{}'

預期回應

{
...
"key": "sk-1234ewknldferwedojwojw"
}
  1. 測試一下!
http://0.0.0.0:4000/gemini/v1beta/models/gemini-1.5-flash:countTokens?key=sk-1234ewknldferwedojwojw' \
-H 'Content-Type: application/json' \
-d '{
"contents": [{
"parts":[{
"text": "The quick brown fox jumps over the lazy dog."
}]
}]
}'

在請求標頭中傳送 tags

如果您希望 tags 同時被追蹤於 LiteLLM DB 和記錄回呼中,請使用這個方式。

請在請求標頭中以逗號分隔清單傳入標籤。以下範例中,將會追蹤下列標籤

tags: ["gemini-js-sdk", "pass-through-endpoint"]
curl 'http://0.0.0.0:4000/gemini/v1beta/models/gemini-1.5-flash:generateContent?key=sk-anything' \
-H 'Content-Type: application/json' \
-H 'tags: gemini-js-sdk,pass-through-endpoint' \
-d '{
"contents": [{
"parts":[{
"text": "The quick brown fox jumps over the lazy dog."
}]
}]
}'