使用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.
,说明你需要此项目
Gemini API Token申请地址
Google AI Studio: https://makersuite.google.com/app/apikey
Gemini首页: https://ai.google.dev
具体的申请步骤这里不敖述,如果大家不太会,可以留言,专门开个文章来写。
部署
开源地址:antergone/palm-netlify-proxy
点击 Netlify 按钮即可一键部署
用法(样例)
Google原生API:
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域名或自定义域名:
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