开始使用Gemini API

开始使用Gemini API

📅 2025-01-14 | 🖱️
🔖 aigc

Google AI产品Gemini的API有很多免费额度,而且兼容OpenAI API,我也开始使用了它的API了。

免费额度 #

从免费额度上看Google还算慷慨, gemini-1.5-flash每天1500次请求也足够个人学习使用。

模型名称简介免费层级限制
gemini-1.5-flash速度最快的多模态模型,在各种重复性任务中表现出色,有100万的上下文窗口15RPM, 1 million TPM, 1500RPD
gemini-1.5-flash-8b最小的模型,适用于对智能要求不高的场景,100万上下文窗口15RPM, 1 million TPM, 1500RPD
gemini-1.5-pro下一代模型,200万上下文窗口,已经生产可用2RPM, 32000TPM, 50RPD
gemini-1.0-pro第一代模型仅提供文本和图像推理,生产可用15RPM, 32000TPM, 1500RPD
text-embedding-004文本嵌入模型1500RPM
  • RPM - requests per minute
  • TPM - tokens per minute
  • RPD requests per day

开通Gemini API #

Gemini API的开通方式,是在Googlle AI Studio中申请API Key。

PS: Googlle AI Studio已经支持PWA,可以作为PWA 安装在桌面、iOS和Android设备上。

国内访问方式 #

Gemini API的地址是https://generativelanguage.googleapis.com,由于某些原因,国内访问直连访问。

可以通过在cloudflare的创建worker转发。

需要一个个人域名(可以使用二级域名例如gemini-api.frognew.com),将其解析到cloudflare的CDN IP。这个IP地址可以使用cf的IP优选工具选择。注意,在cf域名解析配置不要开启小黄云。

cf worker的代码:

1export default {
2  async fetch(request, env) {
3    const url = new URL(request.url);
4    url.host = 'generativelanguage.googleapis.com';
5    return fetch(new Request(url, request))
6  }
7}

在cf中部署这个worker后(例如名称为gemini-api-proxy,添加个人域名到这个worker到路由,例如gemini-api.frognew.com/* -> gemini-api-proxy

到这一步后可以根据官方API文档中的例子进行测试:

1curl "https://gemini-api.frognew.com/v1beta/models/gemini-1.5-flash:generateContent?key=YOUR_API_KEY" \
2-H 'Content-Type: application/json' \
3-X POST \
4-d '{
5  "contents": [{
6    "parts":[{"text": "Write a story about a magic backpack."}]
7    }]
8   }'

查看Gemini API支持的模型 #

1curl  https://gemini-api.frognew.com/v1beta/models?key=YOUR_API_KEY

使用OpenAI API的形式访问 #

 1export OPENAI_API_KEY=YOUR_API_KEY
 2
 3curl -s https://gemini-api.frognew.com/v1beta/chat/completions  -H "Content-Type: application/json" \
 4-H "Authorization: Bearer $OPENAI_API_KEY" \
 5-d '{
 6  "model": "gemini-1.5-pro",
 7  "messages": [
 8    { "role": "user", "content": "25乘以25等于? 128+128呢?" }
 9  ],
10  "tools": [
11    {
12      "type": "function",
13      "function":  {
14        "name": "add",
15        "description": "Add two integers.",
16        "parameters": {
17            "type": "object",
18            "properties": {
19                "a": {"type": "integer"},
20                "b": {"type": "integer"}
21            },
22            "required": ["a", "b"]
23        }
24      }
25    },
26    {
27      "type": "function",
28      "function":  {
29        "name": "multiply",
30        "description": "Multiply two integers.",
31        "parameters": {
32            "type": "object",
33            "properties": {
34                "a": {"type": "integer"},
35                "b": {"type": "integer"}
36            },
37            "required": ["a", "b"]
38        }
39      }
40    }
41  ]
42}'

使用场景 #

  • 个人学习
  • 配合vscode+cline进行AI辅助编程
  • 沉浸式翻译
© 2025 青蛙小白 | 总访问量 | 总访客数