在Google Colab中调用Gemini的API实现智能问答
一、引言
Google终于放出大招,在2023年12月6日正式推出规模最大、功能最强大的人工智能模型Gemini,对标ChatGPT,甚至有要赶超ChatGPT-4.0的节奏。
相比之前的Bard,Gemini的文本理解能力、图片识别能力和语义抽取能力大大增强,可以进行复杂深入的推理分析,精确的文本信息抽取,细节入微的理解判断,将有助于用户在文本生成、智能问答、科学研究等领域实现历史性的突破。
更为重要的是Google随后开放了免费Gemini的API的申请,大家可以通过以下网站轻松申请到免费的API。
二、如何在Colab中调用Gemini的API
那么如何使用Gemini的API呢?本文将教你一步一步在Google Colab中用python调用Gemini的API。
第一步:申请Gemini的API Key
打开网站后显示如下,可以点击【Get API key in Google AI Studio】
进入到Google AI studio后,点击Get API key就可以得到一个Gemini的API key。与ChatGPT不同的时,这个key可以反复查看,不用担心生成后忘记或者丢失。
第二步:配置Google Colab
有了API key后,我们可以在Google的Colab中搭建一个项目,具体网址如下:
进入到Colab中,我们新建一个记事本,把Gemini的API key复制一下,点击Colab左侧的小钥匙图标,添加一个环境变量:【GOOGLE_API_KEY】,它的值就定义为你的API key,这样就可以通过GOOGLE_API_KEY=userdata.get('GOOGLE_API_KEY')安全调用,同时在运行时不在代码中显示你的key,从而防止key泄露。
第三步: 调用Gemini的API代码
接着,我们需要把以下代码粘贴到记事本的单元格中。本文使用的是Gemini自带的Python代码,并加以修改以后如下:
import pathlib
import textwrap
import google.generativeai as genai
# Used to securely store your API key
from google.colab import userdata
from IPython.display import display
from IPython.display import Markdown
def to_markdown(text):
text = text.replace('?', ' *')
return Markdown(textwrap.indent(text, '> ', predicate=lambda _: True))
GOOGLE_API_KEY=userdata.get('GOOGLE_API_KEY')
genai.configure(api_key=GOOGLE_API_KEY)
model = genai.GenerativeModel('gemini-pro')
response = model.generate_content("Tell me 5 resorts in the US for international travelers.")
md_content = to_markdown(response.text)
display(md_content)
在上面response一列可以输入自己的问题,如我输入的是:【Tell me 5 resorts in the US for international travelers.】告诉我美国的五大旅游胜地?经过Gemini的处理,我们得到了下面markdown格式的内容:
三、学后反思
-
Gemini目前是Google推出的最强大的人工智能工具,性能上不次于Chatgpt plus,而且还免费开放其API 申请,如果能结合APIkey + Colab + Python使用,对于用户来说将简单方便。
-
使用Colab的好处是,我们不用在本地安装Python软件,配置安装环境,能够节省本地资源,同时减少运行环境不完善带来的报错,是我们调试Python程序的绝佳平台。
-
以上的资源均为免费,可以节省预算,又能最大限度地综合发挥各大平台的优势,方便我们使用。动手能力强的小伙伴可以试试。
-
使用Python的原因是,我们可以更好地批量调用Gemini的API,而不用一次输入一个问题,而是一次输入多个问题,静待答案的生成。Google强大的计算能力能让我们统筹各项工作,不用担心本地计算资源不足的问题。
关注我,一个喜欢Python爱好者,带给你不一样的学习体验。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!