使用Vercel反向代理Google PaLM(Gemini) API

Google 这些天开放了Gemini Pro的 API Token申请通道, 并且免费开放给开发者使用。根据谷歌官网价格显示,免费版本每分钟最多可支持60次API访问,足以满足个人学习使用。

但是Google PaLM API仅允许美国使用,我国境内是无法直接使用的。 因此解决方案与OpenAI类似,使用Vercel Edge进行反向代理。 如果你在调用API后返回异常User location is not supported for the API use.,说明你需要此项目

Google AI Studio: https://makersuite.google.com/app/apikey

Gemini首页: https://ai.google.dev

具体的申请步骤这里不敖述,如果大家不太会,可以留言,专门开个文章来写。

警告
此项目可能会被Vercel官方禁止部署或封禁账号,根据个人情况酌情使用。当前PaLM On Netlify Proxy已经可用!
https://simonmy.com/posts/使用netlify反向代理google-palm-api.html

开源地址:antergone/palm-proxy

点击 Vercel 按钮即可一键部署

Google原生API:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18

curl https://generativelanguage.googleapis.com/v1/models/gemini-pro:generateContent?key={YOUR_KEY} \
   -H 'Content-Type: application/json' \
   -X POST \
   -d '{ "contents":[
   { "parts":[{"text": "Hi"}]}
   ]
}'

curl https://https://generativelanguage.googleapis.com/v1/models/gemini-pro:streamGenerateContent?key={YOUR_KEY}&alt=sse \
   -H 'Content-Type: application/json' \
   --no-buffer \
   -d '{ "contents":[
         {"role": "user",
            "parts":[{"text": "Hi"}]
         }
         ]
      }' > response.json

替换Vercel域名或自定义域名:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
curl https://{YOUR_DOMAIN}/v1/models/gemini-pro:generateContent?key={YOUR_KEY} \
   -H 'Content-Type: application/json' \
   -X POST \
   -d '{ "contents":[
   { "parts":[{"text": "Hi"}]}
   ]
}'

curl https://{YOUR_DOMAIN}/v1/models/gemini-pro:streamGenerateContent?key={YOUR_KEY}&alt=sse \
   -H 'Content-Type: application/json' \
   --no-buffer \
   -d '{ "contents":[
         {"role": "user",
            "parts":[{"text": "Hi"}]
         }
         ]
      }' > response.json

Google Gemini API Doc: https://ai.google.dev/docs
Google Gemini API Price: https://ai.google.dev/pricing
Vercel Edge Functions API: https://vercel.com/docs/functions/edge-functions/edge-functions-api
OpenAI Proxy: https://github.com/egoist/openai-proxy