Google AI (Gemini)接入指南

前言

在前文中,我们探讨了如何利用 AI 自动化修复 Bug 的实现思路。当时为了避免内容杂乱,我们并未深入讨论 Google AI 的接入方法,本篇我们详细了解该如何接入 Google AI。

Gemimi 介绍

Google 在 2023 年发布的 Gemini 人工智能模型旨在实现真正的通用人工智能。作为一个多模态模型,Gemini 能够跨多种模态无缝对话并提供最佳响应。它是 Google 迄今为止打造的最大、最强大的模型,能够理解我们周围的世界,处理各种类型的输入和输出,不仅限于文本,还涵盖代码、音频、图像和视频。在测试中,Gemini的性能在许多方面匹及甚至超越领域专家。

Gemini提供三个版本的人工智能模型:

  • Gemini Ultra:用于处理高度复杂的任务。
  • Gemini Pro:适用于广泛的任务。
  • Gemini Nano:特别为设备端任务设计。

最近刚宣布的 Gemini Advanced 模型目前还在内测中,需加入等待名单才能体验。尽管 Gemini Advanced 目前还不能用,不过其他三个AI模型的使用不受影响,Gemini 的 API 接口目前开放免费调用。

申请 API Key

首先进行 Google AI Studio 创建一个 API Key

Google AI Studio 地址:aistudio.google.com/app/apikey

  • 首先点击左侧菜单中的 Get API key
  • 然后点击页面中的 Create API key 按钮
  • 点击创建按钮后会出现一个弹窗,选择一个 Google Cloud Project, 这里应该会默认有一个 Generative Language Client, 如果有的话直接选择就可以了,即便没有也可以上 Google Cloud 创建一个空项目就可以。
  • 选择后点击 Create API key in existing project 创建 API Key
  • 生成之后会弹出一个弹窗,我们复制出这个 api key 后续备用即可
  • 额外说一点,如果这个 api key 忘记了,也可以在页面点击那条 Api key 再次查看

Gemini API

Gemini API 提供了多个语言的 SDK,例如:Python、Go、Node.js 等等,此外允许 API 调用者直接通过接口地址进行调用。

设置

安装Python SDK

包中包含 Gemini API 的 Python SDK google-generativeai。使用 pip 安装依赖项:

shell 复制代码
pip install -q -U google-generativeai

导入包

在使用时导入 google.generativeai 这个包即可

python 复制代码
import google.generativeai as genai

设置 API 密钥

这里就用到我们上文中创建的 API Key 了,设置秘钥有两种方式:

  1. 将密钥放入GOOGLE_API_KEY环境变量中(SDK 会自动从那里获取)。
  2. 将密钥传递给genai.configure(api_key=...)
python 复制代码
# 方式一:将 GOOGLE_API_KEY 设置环境变量(或者直接加入系统变量)
import os
os.environ["GOOGLE_API_KEY"] = "<你的API Key>"

# 方式二:通过 genai.configure 设置 api Key
genai.configure(api_key=GOOGLE_API_KEY)

注意:以上两种方式只用选一种即可。

接口调用

Gemini 目前提供了三种模型,对于纯文本提示我们使用 gemini-pro 即可。

python 复制代码
model = genai.GenerativeModel('gemini-pro')

通过 generate_content 方法,Gemini 模型能够处理包括多轮对话和跨模态输入在内的多种复杂用例。这意味着无论是单次的直接问答还是一连串的对话,或是需要对图像资料进行分析和描述,Gemini都能提供有效的输出。

为了实现基础的文本提示功能,你只需向 GenerativeModel.generate_content 方法传递一个字符串。例如,要询问生命的意义,代码将如下所示:

python 复制代码
response = model.generate_content("什么是生命的意义?")

# 我们通过 `response.text` 可以拿到响应内容
print(response.text)

默认情况下,模型只有在完成整个内容的生成之后才会返回响应,这种方法非常适合于那些不需要即时反馈的场景。然而,在某些情况下,你可能希望能够实时地(更快的)获得模型的每个响应部分,流式传输正是设计用来满足这种需求的。

启用流式传输的方法很简单。只需在调用 generate_content 方法时添加一个 stream=True 参数。这样,你就可以在模型生成响应的同时接收到每一块内容,提供更为动态和互动的体验。

python 复制代码
response = model.generate_content("什么是生命的意义?", stream=True)

for chunk in response:
  print(chunk.text)

结语

Gemini 还支持处理图片、聊天对话等等,因为之前写工具没有涉及到,也没有详细研究,我们这里就不展开讲了,如果感兴趣可以直接前往 Google API 文档查阅,内容很详细。

相关资料

相关推荐
bst@微胖子25 分钟前
Python高级语法之selenium
开发语言·python·selenium
查理零世1 小时前
【蓝桥杯集训·每日一题2025】 AcWing 6118. 蛋糕游戏 python
python·算法·蓝桥杯
Smile_Gently2 小时前
前端:最简单封装nmp插件(组件)过程。
前端·javascript·vue.js·elementui·vue
魔尔助理顾问3 小时前
一个简洁高效的Flask用户管理示例
后端·python·flask
java1234_小锋3 小时前
一周学会Flask3 Python Web开发-request请求对象与url传参
开发语言·python·flask·flask3
诚信爱国敬业友善6 小时前
常见排序方法的总结归类
开发语言·python·算法
李长渊哦6 小时前
使用Druid连接池优化Spring Boot应用中的数据库连接
数据库·spring boot·后端
web135085886356 小时前
【Spring Boot】Spring AOP动态代理,以及静态代理
spring boot·后端·spring
nbsaas-boot7 小时前
Go 自动升级依赖版本
开发语言·后端·golang
架构默片7 小时前
【JAVA工程师从0开始学AI】,第五步:Python类的“七十二变“——当Java的铠甲遇见Python的液态金属
java·开发语言·python