使用 Google Gemini 免费 API
✨ 谷歌在 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 Pro和Gemini Pro Vision的 API。每分钟可发出60个请求。我们可在 Bard 上快速体验:bard.google.com
Gemini Pro 个人使用下来体感比较接近 ChatGPT-3.5 ,但是它的 API 免费,相比较起来就很香了,还要啥自行车……
首先我们申请免费的 API Key,地址:https://makersuite.google.com/app/apikey

下面便可以通过 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
https://github.com/hkint/go-gemini-telegram-bothttps://t.me/hk_gemini_bot相关开源项目
下面是可在 Vercel 等平台或 Docker 快速部署的开源项目,按提示配置好 Gemini API Key 即可实现与 AI 大模型的对话式交互。
https://github.com/babaohuang/GeminiProChathttps://github.com/ChatGPTNextWeb/ChatGPT-Next-Webhttps://github.com/blacksev/Gemini-Next-Webhttps://github.com/loo-y/GeminiChatUphttps://github.com/bclswl0827/ChatGeminihttps://github.com/sinnedpenguin/dennx