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

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

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

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

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

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

开源地址:antergone/palm-netlify-proxy

点击 Netlify 按钮即可一键部署

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

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

 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
Netlify Edge Functions API: https://docs.netlify.com/edge-functions/overview/
使用Vercel反向代理Google PaLM(Gemini) API: https://simonmy.com/posts/使用vercel反向代理google-palm-api.html