谷歌Gemini Pro模型 Api 调用

写在前面

本篇博客主要介绍如下内容

  • Gemini Pro模型 ApiKey的申请
  • Gemini Pro模型 Api调用的方法
  • 几个模型Api调用的demo程序
  • 调用Gemini Pro模型中可能遇到的问题及解决方案

模型 ApiKey的申请

  1. 注册好Google账号,并在浏览器完成登录
  2. 访问 : https://makersuite.google.com/app/apikey
  3. 按照下图操作,获取key
    在这里插入图片描述

调用方法

一、 使用http进行调用

import requests
import json

def test_with_http(apikey, text):
    url = f'https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key={apikey}'
    headers = {'Content-Type': 'application/json'}
    data = {
        'contents': [
            {
                'parts': [
                    {
                        'text': text
                    }
                ]
            }
        ]
    }
    response = requests.post(url, headers=headers, data=json.dumps(data))
    print(response.json())

if __name__ == '__main__':
    apikey = "这里换成ApiKey"
    text = "请做一个自我介绍"
    test_with_http(apikey=apikey, text=text)

二、基于Google提供的 Python 库

注意

根据Gemini Api的使用文档介绍,要求Python版本在3.9以上,本次测试为 3.10 版本
在这里插入图片描述

步骤

1.(可选) 建议创建一个全新的Python虚拟环境: python -m venv pyvenv
2.(可选)激活当前环境 : .\pyvenv\Scripts\activate
3. 安装Google提供的google-generativeai库:pip install google-generativeai
4. 测试代码:

import google.generativeai as genai


def test_with_api(apikey, text):
    # 注意这行代码,官方提供的demo没有transport='rest' 会出现超时问题,因此一点要加上
    genai.configure(api_key=apikey, transport='rest')
    model = genai.GenerativeModel('gemini-pro')
    response = model.generate_content(text, stream=True)
    for chunk in response:
        print(chunk.text, end='', flush=True)


if __name__ == '__main__':
    apikey = "这里换成ApiKey"
    text = "请做一个自我介绍"
    test_with_api(apikey=apikey, text=text)
  1. 输出结果
    在这里插入图片描述
可能遇到的报错
  1. 由于每个人电脑的Python环境不同,有可能出现google-auth版本过低等相关报错

解决方案:
升级 google-auth ,在终端执行下面指令
pip install --upgrade google-auth

  1. 连接超时问题 google.api_core.exceptions.RetryError: Deadline of 60.0s exceeded while calling target function

原因:

  1. 网络问题,这个情况自行Google、BaiDu解决
  2. 没有设置网络传输方式 transport = ‘rest’,也就是步骤4中提示的注意点,此时需要在代码中修改为 : genai.configure(api_key=apikey, transport='rest')

Gemini-Pro模型中其他应用场景

使用gemini-pro-vision进行图片API调用

目前,Gemini提供了2个免费的APi服务:
在这里插入图片描述

步骤
  1. 安装pillow库 : pip install pillow
  2. 注意:使用的图片格式尽量为jpg格式,并且图片尽量小一点,可以拿500kb以下的进行测试
  3. 代码
import google.generativeai as genai
import PIL.Image


def test_gemini_pro_vision(apikey, text, image_path):
    genai.configure(api_key=apikey, transport='rest')
    model = genai.GenerativeModel('gemini-pro-vision')
    img = PIL.Image.open(image_path)
    response = model.generate_content([text, img], stream=True)
    response.resolve()
    print(response.text)


if __name__ == '__main__':
    apikey = "这里换成ApiKey"
    test_gemini_pro_vision(apikey, text="请你描述一下图片的内容。", image_path='2.jpg')

在这里插入图片描述

参考

  1. 关于更多Gemini-Api的应用场景和使用说明,参考 : Gemini API: Quickstart with Python
  2. 谷歌Gemini Api Key获取方式: apikey
  • 24
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值