Google AI Studio
Google AI Studio 的直通端点——调用特定于提供者的端点,采用原生格式(无需转换)。
只需将 https://generativelanguage.googleapis.com 替换为 LITELLM_PROXY_BASE_URL/gemini 🚀
示例用法
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 端点(包括流式传输)。
快速开始
让我们调用 Gemini 的 /countTokens 端点
- 将 Gemini API 密钥添加到您的环境变量中
export GEMINI_API_KEY=""
- 启动 LiteLLM 代理
litellm
# 运行在 http://0.0.0.0:4000
- 测试一下!
让我们调用 Google AI Studio 的令牌计数端点
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.com | http://0.0.0.0:4000/gemini (LITELLM_PROXY_BASE_URL="http://0.0.0.0:4000") |
key=$GOOGLE_API_KEY | key=anything (如果代理上设置了虚拟密钥,则使用 key=LITELLM_VIRTUAL_KEY) |
示例 1: 计数令牌
LiteLLM 代理调用
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 代理调用
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'"
}'
高级 - 使用虚拟密钥
先决条件
使用此方法,可以避免向开发者提供原始的 Google AI Studio 密钥,但仍允许他们使用 Google AI Studio 端点。
用法
- 设置环境
export DATABASE_URL=""
export LITELLM_MASTER_KEY=""
export GEMINI_API_KEY=""
litellm
# 运行在 http://0.0.0.0:4000
- 生成虚拟密钥
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"
}
- 测试一下!
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": "敏捷的棕色狐狸跳过懒狗。"
}]
}]
}'