如何免费访问和使用 Gemini API - KDnuggets

如何免费访问和使用 Gemini API – KDnuggets

源节点: 3033824

如何免费访问和使用Gemini API
图片作者 

Gemini是Google开发的新型号,Bard又可以使用了。有了 Gemini,现在可以通过向您的查询提供图像、音频和文本来获得几乎完美的答案。

在本教程中,我们将了解 Gemini API 以及如何在您的计算机上设置它。我们还将探索各种 Python API 函数,包括文本生成和图像理解。

双子座 是通过 Google Research 和 Google DeepMind 等 Google 团队合作开发的新 AI 模型。它是专门为多模式而构建的,这意味着它可以理解和处理不同类型的数据,如文本、代码、音频、图像和视频。

Gemini 是 Google 迄今为止开发的最先进、规模最大的人工智能模型。它的设计高度灵活,因此可以在从数据中心到移动设备的各种系统上高效运行。这意味着它有可能彻底改变企业和开发人员构建和扩展人工智能应用程序的方式。

以下是针对不同用例设计的 Gemini 模型的三个版本:

  • 双子座超: 能够执行复杂任务的最大、最先进的人工智能。
  • 双子座专业版: 具有良好性能和可扩展性的平衡模型。
  • 双子座纳米: 对于移动设备最有效。

 

如何免费访问和使用Gemini API
图片来源: 介绍双子座
 

Gemini Ultra 具有最先进的性能,在多个指标上超过了 GPT-4 的性能。它是第一个在大规模多任务语言理解基准测试中超越人类专家的模型,该基准测试了 57 个不同主题的世界知识和问题解决能力。这展示了其先进的理解和解决问题的能力。

要使用 API,我们必须首先获取 API 密钥,您可以从此处获取:https://ai.google.dev/tutorials/setup

 
如何免费访问和使用Gemini API

如何免费访问和使用Gemini API
 

之后单击“获取 API 密钥”按钮,然后单击“在新项目中创建 API 密钥”。

 
如何免费访问和使用Gemini API

如何免费访问和使用Gemini API
 

复制 API 密钥并将其设置为环境变量。我们使用的是 Deepnote,我们很容易设置名为“GEMINI_API_KEY”的密钥。只需转到集成,向下滚动并选择环境变量即可。

 
如何免费访问和使用Gemini API

如何免费访问和使用Gemini API
 

在下一步中,我们将使用 PIP 安装 Python API:

pip install -q -U google-generativeai

之后,我们将 API 密钥设置为 Google 的 GenAI 并启动实例。

import google.generativeai as genai
import os

gemini_api_key = os.environ["GEMINI_API_KEY"]
genai.configure(api_key = gemini_api_key)

设置 API 密钥后,使用 Gemini Pro 模型生成内容就很简单了。向 `generate_content` 函数提供提示并将输出显示为 Markdown。

from IPython.display import Markdown

model = genai.GenerativeModel('gemini-pro')
response = model.generate_content("Who is the GOAT in the NBA?")

Markdown(response.text)

这太棒了,但我不同意这个清单。不过,我明白这完全取决于个人喜好。

 
如何免费访问和使用Gemini API

如何免费访问和使用Gemini API
 

Gemini 可以针对单个提示生成多个响应,称为候选响应。您可以选择最合适的一个。就我们而言,我们只有一个回应。

response.candidates

如何免费访问和使用Gemini API

如何免费访问和使用Gemini API
 

让我们让它用 Python 编写一个简单的游戏。

response = model.generate_content("Build a simple game in Python")

Markdown(response.text)

结果简单明了。大多数法学硕士开始解释Python代码而不是编写它。

如何免费访问和使用Gemini API

如何免费访问和使用Gemini API

您可以使用“ Generation_config ”参数自定义您的响应。我们将候选数限制为 1,添加停用词“空格”,并设置最大标记和温度。

response = model.generate_content(
    'Write a short story about aliens.',
    generation_config=genai.types.GenerationConfig(
        candidate_count=1,
        stop_sequences=['space'],
        max_output_tokens=200,
        temperature=0.7)
)

Markdown(response.text)

正如您所看到的,响应在“空格”一词之前停止了。惊人的。

 
如何免费访问和使用Gemini API

如何免费访问和使用Gemini API

您还可以使用“stream”参数来传输响应。它类似于 Anthropic 和 OpenAI API,但速度更快。

model = genai.GenerativeModel('gemini-pro')
response = model.generate_content("Write a Julia function for cleaning the data.", stream=True)

for chunk in response:
    print(chunk.text)

如何免费访问和使用Gemini API

如何免费访问和使用Gemini API

在本节中,我们将加载 马苏德·阿斯拉米 照片并用它来测试 Gemini Pro Vision 的多模态。

将图像加载到“PIL”并显示它。

import PIL.Image

img = PIL.Image.open('images/photo-1.jpg')

img

我们有一张奥古斯塔街拱门的高质量照片。

 
如何免费访问和使用Gemini API

如何免费访问和使用Gemini API
 

让我们加载 Gemini Pro Vision 模型并为其提供图像。

model = genai.GenerativeModel('gemini-pro-vision')

response = model.generate_content(img)

Markdown(response.text)

该模型准确地识别了宫殿并提供了有关其历史和建筑的更多信息。

 
如何免费访问和使用Gemini API

如何免费访问和使用Gemini API
 

让我们向 GPT-4 提供相同的图像并询问它有关该图像的信息。两种模型都提供了几乎相似的答案。但我更喜欢 GPT-4 的回应。

 
如何免费访问和使用Gemini API

如何免费访问和使用Gemini API
 

我们现在将向 API 提供文本和图像。我们要求视觉模型使用该图像作为参考来撰写旅游博客。

response = model.generate_content(["Write a travel blog post using the image as reference.", img])

Markdown(response.text)

它为我提供了一个简短的博客。我期待更长的格式。

 
如何免费访问和使用Gemini API

如何免费访问和使用Gemini API
 

与 GPT-4 相比,Gemini Pro Vision 模型在生成长格式博客方面遇到了困难。

 
如何免费访问和使用Gemini API

如何免费访问和使用Gemini API

我们可以设置模型来进行来回聊天会话。这样,模型就会使用之前的对话记住上下文和响应。

在我们的例子中,我们已经开始聊天会话并要求模型帮助我开始玩 Dota 2 游戏。

model = genai.GenerativeModel('gemini-pro')

chat = model.start_chat(history=[])

chat.send_message("Can you please guide me on how to start playing Dota 2?")

chat.history

正如您所看到的,“chat”对象正在保存用户和模式聊天的历史记录。

 
如何免费访问和使用Gemini API

如何免费访问和使用Gemini API
 
我们还可以以 Markdown 风格显示它们。

for message in chat.history:
    display(Markdown(f'**{message.role}**: {message.parts[0].text}'))

如何免费访问和使用Gemini API

如何免费访问和使用Gemini API
 

让我们问后续问题。

chat.send_message("Which Dota 2 heroes should I start with?")

for message in chat.history:
    display(Markdown(f'**{message.role}**: {message.parts[0].text}'))

我们可以向下滚动并查看模型的整个会话。

 
如何免费访问和使用Gemini API

如何免费访问和使用Gemini API

嵌入模型在上下文感知应用程序中变得越来越流行。 Gemini embedding-001 模型允许将单词、句子或整个文档表示为编码语义的密集向量。这种向量表示使得可以通过比较不同文本片段对应的嵌入向量来轻松比较不同文本片段之间的相似性。

我们可以将内容提供给“embed_content”并将文本转换为嵌入。就是这么简单。

output = genai.embed_content(
    model="models/embedding-001",
    content="Can you please guide me on how to start playing Dota 2?",
    task_type="retrieval_document",
    title="Embedding of Dota 2 question")

print(output['embedding'][0:10])
[0.060604308, -0.023885584, -0.007826327, -0.070592545, 0.021225851, 0.043229062, 0.06876691, 0.049298503, 0.039964676, 0.08291664]

我们可以通过将字符串列表传递给“content”参数来将多个文本块转换为嵌入。

output = genai.embed_content(
    model="models/embedding-001",
    content=[
        "Can you please guide me on how to start playing Dota 2?",
        "Which Dota 2 heroes should I start with?",
    ],
    task_type="retrieval_document",
    title="Embedding of Dota 2 question")

for emb in output['embedding']:
    print(emb[:10])
[0.060604308, -0.023885584, -0.007826327, -0.070592545, 0.021225851, 0.043229062, 0.06876691, 0.049298503, 0.039964676, 0.08291664]

[0.04775657, -0.044990525, -0.014886052, -0.08473655, 0.04060122, 0.035374347, 0.031866882, 0.071754575, 0.042207796, 0.04577447]

如果您在重现相同结果时遇到困难,请查看我的 Deepnote 工作区.

有很多高级功能我们在本介绍性教程中没有介绍。您可以访问以下网站了解有关 Gemini API 的更多信息 Gemini API:Python 快速入门.

在本教程中,我们了解了 Gemini 以及如何访问 Python API 来生成响应。特别是,我们了解了文本生成、视觉理解、流媒体、对话历史记录、自定义输出和嵌入。然而,这只是双子座能做的事情的表面。

请随意与我分享您使用免费的 Gemini API 构建的内容。可能性是无限的。

 
 

阿比德·阿里·阿万 (@1abidaliawan) 是一名经过认证的数据科学家专业人士,他热爱构建机器学习模型。 目前,他专注于内容创建和撰写有关机器学习和数据科学技术的技术博客。 Abid 拥有技术管理硕士学位和电信工程学士学位。 他的愿景是使用图形神经网络为患有精神疾病的学生构建一个人工智能产品。

时间戳记:

更多来自 掘金队