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

相关资料

相关推荐
懒大王爱吃狼1 小时前
Python教程:python枚举类定义和使用
开发语言·前端·javascript·python·python基础·python编程·python书籍
秃头佛爷2 小时前
Python学习大纲总结及注意事项
开发语言·python·学习
深度学习lover3 小时前
<项目代码>YOLOv8 苹果腐烂识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·苹果腐烂识别
paopaokaka_luck4 小时前
【360】基于springboot的志愿服务管理系统
java·spring boot·后端·spring·毕业设计
API快乐传递者4 小时前
淘宝反爬虫机制的主要手段有哪些?
爬虫·python
逐·風5 小时前
unity关于自定义渲染、内存管理、性能调优、复杂物理模拟、并行计算以及插件开发
前端·unity·c#
Devil枫5 小时前
Vue 3 单元测试与E2E测试
前端·vue.js·单元测试
码农小旋风5 小时前
详解K8S--声明式API
后端
Peter_chq5 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
Yaml46 小时前
Spring Boot 与 Vue 共筑二手书籍交易卓越平台
java·spring boot·后端·mysql·spring·vue·二手书籍