谷歌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 jsondef 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 genaidef 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.Imagedef 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/314936.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

孩子写作业用什么品牌的护眼台灯好?2024备考台灯推荐

随着近视度数的不断加深,眼轴会被过度拉长,导致各种眼病高发。调查发现,600度以上的高度近视人群,发生视网膜脱落、白内障、青光眼、黄斑变性等疾病的风险,比普通人高很多。这些眼病均可导致视力严重下降,严…

【Python动漫系列】高级皮卡丘(完整代码)

文章目录 皮卡丘环境需求完整代码皮卡丘 皮卡丘是《宠物小精灵》系列中的一种可爱的电气宝可梦,是最受欢迎的角色之一。它是由杉森建设计师创造并在游戏、动画和电影中广泛展现的。 皮卡丘的外观非常独特,它身体呈黄色,耳朵上有两个黑色的竖耳朵,脸上有两个红色的圆圈,两…

新手入门安装PyTorch及其测试验证

目录 检查系统要求 安装PyTorch 通过pip在windows环境中安装GPU版本: 使用conda方式在windows中安装GPU版本 在windows环境安装cpu版本 验证安装 总结 检查系统要求 在开始安装PyTorch之前,请确保你的系统满足以下要求: Python版本…

【K8S 部署】基于kubeadm搭建Kurbernetes集群

目录 一、基本架构 二、环境准备: 三、安装部署 1、所有节点安装docker 2、、所有节点安装kubeadm,kubelet和kubectl 3、配置网络--flannel 4、测试 pod 资源创建 四、安装部署与k8s集群对接的Harbor仓库 五、Dashboard安装部署: 一、基本架构…

人工智能_机器学习085_DBSCAN算法介绍_具有噪声基于密度的聚类_基于密度的空间聚类方法---人工智能工作笔记0125

然后我们再来看一种聚类算法,叫做DBSCAN算法 可以看到,他和KMeans的原理完全不一样, 这个是基于密度的聚类方法,就是在一堆数据中,把密度最大的数据,归为一类 这里的划分为簇,其实就是 划分类别的意思 这个簇,就跟鱼群一样,一个鱼群中肯定是同一种鱼类. 然后我们再来看,DBSC…

京东tp3手势验证

2024祝我们越来越好。 新年第二天,来看下这最新的tp3手势验证码,很在之前就发过一篇,最近看了看更新了一个东西,但是难点还是在轨迹上面,感兴趣的朋友可以去看看。 risk_jd[jstub] 改了下这,之前我都没带…

【设计模式-2】原型模式的原理、代码实现及类图展示

我们一定对类的实例化比较熟悉,前面我们说的单例、还有3种工厂模式都是通过new关键字来创建对象,下面我们来了解一种新的对象创建的方式。 1. 定义 原型模式也是一种创建型的设计模式,实现和原理总体比较简单,一句话总结呢&#…

微信商户号证书和密钥设置详细教程

1.先进入微信商户平台扫码登录微信商户号 微信商户平台 2.进入账户中心-API安全 3.申请API证书 3.1申请证书时按指引下载这个工具,这个工具里面包含你的证书信息 3.2 按指引安装该证书,安装完成以后证书会下载到你电脑的本地文件目录 4. 设置APIV2密…

【Elasticsearch源码】 分片恢复分析

带着疑问学源码,第七篇:Elasticsearch 分片恢复分析 代码分析基于:https://github.com/jiankunking/elasticsearch Elasticsearch 8.0.0-SNAPSHOT 目的 在看源码之前先梳理一下,自己对于分片恢复的疑问点: 网上对于E…

基于RetinaFace+Jetson Nano的智能门锁系统——第一篇(烧录系统)

文章目录 设备1.首先在PC端安装VMware虚拟机和Ubuntu182.安装VMware Tools3.安装SDK Manager 设备 Jetson NanoMicro-USB - USB-A电源线HDMI线屏幕PC一台 1.首先在PC端安装VMware虚拟机和Ubuntu18 VMware下载地址:https://www.vmware.com/cn/products/workstatio…

手把手带你了解内外网数据摆渡系统!

全球数字化浪潮下,数据安全永远是被关注的焦点和重点课题。总之,不管是什么规模和类型的企业,都需要建立一套适合自身的数据安全保护体系和机制,保护核心数据,提升企业核心竞争力。网络隔离可以很好的对企业的核心数据…

windows上,使用脚本来编写 git clone 指令进行一键克隆

前提条件: 请先确保windons上已经安装好了 git bash指令,并已经添加到了环境变量中去;在windows上的任何地方都能执行 git 指令 脚本示例 在windows上,双击运行如下脚本,即可自动执行克隆指令 #!/bin/bash echo &q…