Gemini Pro 模型API调用全攻略:从申请到实战应用
在人工智能领域,Gemini Pro模型以其强大的语言理解和生成能力,吸引了众多开发者。本文将详细介绍如何申请Gemini Pro模型的API密钥,并提供多种API调用方法,以及常见问题的解决方案,助您快速上手并充分利用这一强大的工具。
Gemini Pro 模型API密钥申请
要开始使用Gemini Pro模型,首先需要获取API密钥。以下是详细步骤:
- 注册并登录Google账号: 确保您已拥有Google账号,并在浏览器中完成登录。
- 访问API密钥申请页面: 前往https://makersuite.google.com/app/apikey。
- 按照页面提示操作: 按照页面上的指引,创建并获取您的API密钥。请妥善保管您的密钥,避免泄露。
Gemini Pro 模型API调用方法
获取API密钥后,您可以使用多种方法调用Gemini Pro模型。下面介绍两种常用的方法:
一、使用HTTP进行调用
这种方法简单直接,适用于快速测试和原型开发。
import requests
import json
def test_with_http(apikey, text):
url = f'https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key={apikey}'
headers = {'Content-Type': 'application/json'}
data = {
'contents': [
{
'parts': [
{
'text': text
}
]
}
]
}
response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.json())
if __name__ == '__main__':
apikey = "这里换成ApiKey"
text = "请做一个自我介绍"
test_with_http(apikey=apikey, text=text)
代码解析:
- 导入必要的库:
requests
用于发送HTTP请求,json
用于处理JSON数据。 - 构造请求URL: 将API密钥添加到URL中。
- 设置请求头: 指定Content-Type为application/json。
- 构造请求数据: 将要发送的文本内容封装成JSON格式。
- 发送POST请求: 使用
requests.post
发送请求,并获取响应。 - 解析响应: 将响应内容解析为JSON格式并打印。
二、基于Google提供的Python库
Google提供了一个专门用于与Gemini模型交互的Python库,使用起来更加方便。
注意事项
根据Gemini API的使用文档,Python版本需要在3.9以上。建议使用Python 3.10或更高版本。
步骤
- 创建Python虚拟环境(可选): 为了隔离不同项目的依赖,建议创建一个新的Python虚拟环境:
python -m venv pyvenv
。 - 激活虚拟环境(可选): 激活当前环境:
.\pyvenv\Scripts\activate
(Windows) 或source pyvenv/bin/activate
(Linux/macOS)。 - 安装google-generativeai库: 使用pip安装:
pip install google-generativeai
。 - 编写测试代码:
import google.generativeai as genai
def test_with_api(apikey, text):
# 注意这行代码,官方提供的demo没有transport='rest' 会出现超时问题,因此一点要加上
genai.configure(api_key=apikey, transport='rest')
model = genai.GenerativeModel('gemini-pro')
response = model.generate_content(text, stream=True)
for chunk in response:
print(chunk.text, end='', flush=True)
if __name__ == '__main__':
apikey = "这里换成ApiKey"
text = "请做一个自我介绍"
test_with_api(apikey=apikey, text=text)
代码解析:
- 导入google.generativeai库:
import google.generativeai as genai
。 - 配置API密钥: 使用
genai.configure(api_key=apikey, transport='rest')
配置API密钥。注意: 必须设置transport='rest'
,否则可能出现超时问题。 - 创建GenerativeModel对象: 使用
genai.GenerativeModel('gemini-pro')
创建一个Gemini Pro模型的实例。 - 生成内容: 使用
model.generate_content(text, stream=True)
生成内容,stream=True
表示以流式方式返回结果。 - 处理响应: 遍历响应中的每个chunk,并打印其文本内容。
可能遇到的报错及解决方案
google-auth版本过低:
- 报错信息: 类似
google-auth版本过低
的错误。 - 解决方案: 升级google-auth:
pip install --upgrade google-auth
。
- 报错信息: 类似
连接超时问题:
- 报错信息:
google.api_core.exceptions.RetryError: Deadline of 60.0s exceeded while calling target function
。 - 原因:
- 网络问题:请检查您的网络连接。
- 未设置网络传输方式:请确保在配置API密钥时设置了
transport='rest'
,即genai.configure(api_key=apikey, transport='rest')
。
- 报错信息:
Gemini-Pro模型其他应用场景
Gemini Pro模型除了文本生成外,还可以用于图像理解等多种应用场景。
使用gemini-pro-vision进行图片API调用
Gemini提供gemini-pro
和gemini-pro-vision
两个免费的API服务。gemini-pro-vision
专门用于处理图像相关的任务。
步骤
- 安装pillow库:
pip install pillow
。 - 准备图片: 建议使用jpg格式的图片,并且图片大小尽量控制在500kb以下。
- 编写代码:
import google.generativeai as genai
import PIL.Image
def test_gemini_pro_vision(apikey, text, image_path):
genai.configure(api_key=apikey, transport='rest')
model = genai.GenerativeModel('gemini-pro-vision')
img = PIL.Image.open(image_path)
response = model.generate_content([text, img], stream=True)
response.resolve()
print(response.text)
if __name__ == '__main__':
apikey = "这里换成ApiKey"
test_gemini_pro_vision(apikey, text="请你描述一下图片的内容。", image_path='2.jpg')
代码解析:
- 导入必要的库:
google.generativeai
用于与Gemini模型交互,PIL.Image
用于处理图像。 - 配置API密钥: 使用
genai.configure(api_key=apikey, transport='rest')
配置API密钥。 - 创建GenerativeModel对象: 使用
genai.GenerativeModel('gemini-pro-vision')
创建一个Gemini Pro Vision模型的实例。 - 打开图像: 使用
PIL.Image.open(image_path)
打开图像。 - 生成内容: 使用
model.generate_content([text, img], stream=True)
生成内容,将文本描述和图像一起作为输入。 - 处理响应: 使用
response.resolve()
等待响应完成,并打印其文本内容。
总结
本文详细介绍了Gemini Pro模型API的申请、调用方法以及常见问题的解决方案。通过本文,您可以快速上手Gemini Pro模型,并将其应用到各种实际场景中,例如文本生成、图像理解等。希望这些信息能帮助您更好地利用Gemini Pro模型的强大功能。
参考资料
- Gemini API: Quickstart with Python: https://ai.google.dev/tutorials/python_quickstart
- 谷歌Gemini Api Key获取方式: apikey