使用 Google Gemini 免费 API

status
Published
type
Post
slug
use-google-gemini-free-api
date
Dec 15, 2023
tags
AI
Tool
DevOps
summary
谷歌在 12 月 14 日起免费开放 Gemini Pro 和 Gemini Pro Vision 的 API。Gemini Pro 的个人使用体验类似于 ChatGPT-3.5,但是它的 API 是免费的。通过 Gemini SDK,我们可以编码调用 API 来获取图片之间的区别。具体的调用方式和参数请参考谷歌 Gemini 官方文档。同时,还可以通过其他开源项目将 Telegram Bot 接入 Gemini API,并在 Vercel 等平台快速部署项目。
谷歌在官网宣布,12月14日0点起免费开放Gemini ProGemini Pro Vision的 API。每分钟可发出60个请求。
我们可在 Bard 上快速体验:bard.google.com
Gemini Pro 个人使用下来体感比较接近 ChatGPT-3.5 ,但是它的 API 免费,相比较起来就很香了,还要啥自行车……
首先我们申请免费的 API Key,地址:https://makersuite.google.com/app/apikey
notion image
下面便可以通过 Gemini SDK 来编码调用 API , 具体调用方式以及相应的参数、响应,详见 Google Gemini 官方文档:https://ai.google.dev/docs
 
如下代码是最简单的调用 gemini-pro-vision 模型来获取两张测试图片之间的区别:
package main import ( "context" "encoding/json" "fmt" "log" "os" "github.com/google/generative-ai-go/genai" "google.golang.org/api/option" ) func main() { ctx := context.Background() client, err := genai.NewClient(ctx, option.WithAPIKey(os.Getenv("API_KEY"))) if err != nil { log.Fatal(err) } defer client.Close() model := client.GenerativeModel("gemini-pro-vision") imgData1, err := os.ReadFile("../images/test-1.png") if err != nil { log.Fatal(err) } imgData2, err := os.ReadFile("../images/test-2.png") if err != nil { log.Fatal(err) } prompt := []genai.Part{ genai.ImageData("png", imgData1), genai.ImageData("png", imgData2), genai.Text("Describe the difference between these two pictures, with scientific detail"), } resp, err := model.GenerateContent(ctx, prompt...) if err != nil { log.Fatal(err) } bs, _ := json.MarshalIndent(resp, "", " ") fmt.Println(string(bs)) }

Telegram Bot 接入 Gemini API

 
 

相关开源项目

下面是可在 Vercel 等平台或 Docker 快速部署的开源项目,按提示配置好 Gemini API Key 即可实现与 AI 大模型的对话式交互。