首页 > 编程语言 >python使用Gemini API

python使用Gemini API

时间:2023-12-25 14:11:06浏览次数:27  
标签:API google 示例 python Gemini pip genai

谷歌免费开放了Gemini(https://ai.google.dev)的API,每分钟可发出60个请求(RPM)。

这样我们除了免费体验Bard: https://bard.google.com/ 外,还可以写程序来调用。

安装依赖

pip install -q -U google-generativeai
  • -q--quiet:这个参数用于减少安装过程中输出的信息量。通常,pip install 命令会显示正在安装的包的详细信息,包括版本、下载进度等。使用 -q 参数会使输出更加简洁,只显示最关键的信息。

  • -U--upgrade:这个参数指示 pip 升级指定的包。如果没有这个参数,pip 只会安装指定包的最新版本,而不会升级已安装的旧版本。使用 -U 参数,pip 会检查是否已安装该包的旧版本,如果有,则会将其升级到最新版本。

申请AppKey

在使用 Gemini API 之前,您必须先获取 API 密钥。

用谷歌账号登录后,访问: https://makersuite.google.com/app/apikey 然后点击Get API key。

示例:列出已有模型

genai 软件包还支持 PaLM 系列模型,但只有 Gemini 模型支持该 generateContent 方法的通用多模态功能。

# 列出模型

import google.generativeai as genai

genai.configure(api_key="你的appkey")

for m in genai.list_models():
  if 'generateContent' in m.supported_generation_methods:
    print(m.name)  

我们可以看到的可用模型:

  • gemini-pro :针对纯文本提示进行了优化。
  • gemini-pro-vision :针对文本和图像提示进行了优化。

示例:对话续写

import google.generativeai as genai

genai.configure(api_key="你的appkey")

context = """你是一个30岁左右的程序员,下面的乙这个角色,正在跟朋友聊天,
请根据已有的聊天内容,产生对应的对话内容,要求:
1. 字数不要超过30个字;
2. 如果没有合适的回复内容,给上一条回复给出点赞的话语;
3. 产生对话内容,只要内容,不用出现'乙:'这样的说明作者的部分。

下面三个波浪线包含的部分是聊天历史内容:
~~~
甲:你好!最近怎么样?
乙:我很好,谢谢。你呢?
甲:我也不错。最近在忙些什么?
乙:我在学习新的编程语言,挺有趣的。你呢?
甲:我最近在准备一个旅行计划。
乙:哦,听起来很棒!你打算去哪里?
甲:我打算去日本。一直很想去那里看樱花。
~~~
"""

model = genai.GenerativeModel('gemini-pro')
response = model.generate_content(context)

print(response.text)

下面是几次执行后,续写出来的一些内容:

樱花真的很漂亮,祝你旅途愉快!

哇,日本是个美丽的地方!

想去日本看樱花,真是个浪漫的想法!

真棒!祝你旅途愉快!

示例:识别图片

我是用下面这张图来让Gemini产生一段评论。

import google.generativeai as genai
import PIL.Image

genai.configure(api_key="你的appkey")


img = PIL.Image.open('01.jpeg')

context = """请给这张图,以资深解说员的角度,产生一段解说评论,要足够生动、吸引人。"""

model = genai.GenerativeModel('gemini-pro-vision')
response = model.generate_content([context,img])

print(response.text)

产生的解说:

大家好,欢迎收看本场比赛的解说。

比赛进行到第89分钟,日本队获得了一个任意球的机会。中村俊辅主罚任意球,皮球绕过人墙,直奔球门而去。德国门将诺伊尔奋力扑救,将球挡出底线。

这是一个非常精彩的任意球,中村俊辅的脚法非常出色,诺伊尔的扑救也非常神勇。双方球员在场上拼尽全力,为我们奉献了一场精彩的比赛。

让我们期待接下来的比赛,看看哪支球队能够取得胜利。

总结

本文通过实际示例,展示了Gemini API在续写对话和解说图像方面的能力。特别是在图像识别的应用示例中,Gemini API成功生成了生动、吸引人的体育比赛解说。

具有高频访问优势且支持图像识别的Gemini API,无疑是开拓创新的理想选择。它不仅免费开放,更在技术的海洋中为我们展现了无限的可能性。随着技术的飞速发展,Gemini API已成为连接未来的桥梁,我们为什么还要犹豫不决?立即拥抱Gemini,让我们一同驶向智能技术的新纪元!

标签:API,google,示例,python,Gemini,pip,genai
From: https://www.cnblogs.com/ghj1976/p/gemini.html

相关文章

  • 整合信息论 python示范代码
    在信息论中,我们经常会遇到一些基本概念,如联合熵、条件熵、交叉熵和KL散度等。以下是一些Python代码示例,用于计算这些概念¹。#-*-coding:utf-8-*-#Author:WSKHimportnumpyasnp#计算交叉熵defcross(M,N):return-np.sum(M*np.log(N)+(1-M)*np.log(1-N))M=np.......
  • 揭秘抖音视频详情API:电商行业的制胜法宝与实时数据获取的奥秘
    一、引言随着社交媒体的普及和电商行业的快速发展,抖音等短视频平台已经成为电商企业获取用户、推广产品和了解市场趋势的重要渠道。获取抖音视频详情API对于电商行业来说具有重要意义,它可以帮助企业实时获取抖音平台上的视频数据,洞察用户需求,优化产品策略,制定精准营销计划,从而提升......
  • python None cyc null
    cycpythonreturnNonecyc主流程any不指定类型默认为null输出为空toString()输出为"null"string指定为字符串默认为""输出为空toString()输出为"null"其他类型比如list同上总结:python.Nonetocyc.null任意类型均为nulltoString()均为"null"传入到pythonNonecyc.type关键......
  • 实时数据获取:抖音API在电商中的应用与影响
    在电商行业高速发展的今天,数据已经成为企业决策和创新的重要驱动力。抖音作为全球最大的短视频平台之一,其根据关键词取商品列表API为电商行业带来了前所未有的机遇和挑战。本文将深入探讨该API在电商行业中的关键作用,以及如何实现实时数据获取,为电商企业提供有价值的见解。一、抖音......
  • ChatGPT引领AI时代:程序员、项目经理、产品经理、架构师、Python量化交易师的翅膀
    ......
  • python 实现图片内容md5加密
    图片内容可以通过MD5进行加密,但是请注意,MD5并不适合用于加密敏感信息,因为它容易受到碰撞攻击。这里是一个使用Python的hashlib库进行MD5加密的示例:importhashlibimportiodefget_md5(img_path):#打开并读取图片文件withopen(img_path,'rb')asf:im......
  • 费控系统的设计和实现涉及到许多方面,包括需求分析、软件设计、开发等。在Python中,我们
    费控系统的设计和实现涉及到许多方面,包括需求分析、软件设计、开发等。在Python中,我们可以使用各种库和框架来帮助我们实现这样的系统。以下是一个基本的费控系统设计思路¹:classFeeControlSystem:def__init__(self):self.expenses=[]defadd_expense(self......
  • Python:diskcache实现基于文件的数据缓存
    diskcache是一个基于Sqlite文件的数据缓存如果在不想使用redis作为缓存的情况下,可以使用diskcache替代,减少对redis的依赖文档https://grantjenks.com/docs/diskcache/https://github.com/grantjenks/python-diskcachehttps://pypi.org/project/diskcache/安装pipinstall......
  • 常用的10个Python装饰器
    装饰器(Decorators)是Python中一种强大而灵活的功能,用于修改或增强函数或类的行为。装饰器本质上是一个函数,它接受另一个函数或类作为参数,并返回一个新的函数或类。它们通常用于在不修改原始代码的情况下添加额外的功能或功能。装饰器的语法使用@符号,将装饰器应用于目标函数或类。下......
  • 深入理解Python http包:构建HTTP服务与客户端
    Python作为一门强大的编程语言,其标准库中包含了丰富的模块,用于应对各种编程需求。在网络编程领域,http是一个值得关注的包,尤其适用于开发HTTP服务器和客户端。本文将深入探讨http包的核心模块http.server和http.client,并通过示例来展示如何使用这些模块构建简单的HTTP服务及客户端交......