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 文档查阅,内容很详细。

相关资料

相关推荐
小璞几秒前
01_CursorRules_需求理解篇_Rule_requirement-understanding
前端
我星期八休息1 分钟前
大模型 + 垂直场景:搜索/推荐/营销/客服领域开发新范式与技术实践
大数据·人工智能·python
费益洲8 分钟前
Docker 核心技术:Linux Cgroups
后端
杨DaB10 分钟前
【SpringBoot】Dubbo、Zookeeper
spring boot·后端·zookeeper·dubbo·java-zookeeper
深盾安全11 分钟前
uv,下一代Python包管理工具
python
老虎062713 分钟前
JavaWeb前端02(JavaScript)
开发语言·前端·javascript
耀耀切克闹灬13 分钟前
WEB前端基础知识梳理(四)
前端
anyup24 分钟前
🔥🔥 10 天 Star 破百!uView Pro 文档也开源啦:完全免费、无广告、高效上手
前端·vue.js·uni-app
一语长情25 分钟前
Netty流量整形:保障微服务通信稳定性的关键策略
java·后端·架构
冲鸭ONE25 分钟前
java数据类型与语句结构
后端