在人工智能领域,谷歌的Gemini模型无疑是一颗冉冉升起的新星。2023年12月6日,谷歌发布了Gemini的演示版本,同时,Bard也升级到了Gemini Pro模型。Gemini作为谷歌当前最先进的大语言模型,具备处理多模态数据的强大能力,包括文本、图像、音频和视频等。随着美国时间12月13日Gemini API的公开发布,开发者和研究人员得以亲身体验这一前沿技术。本文旨在提供一份简明易懂的Google Generative AI使用指南,帮助读者快速上手Gemini Pro API。
Gemini Pro API的定价策略
谷歌提供了两种使用Gemini Pro API的方式:免费版本和付费版本。免费版本允许每分钟60次的请求,对于个人用户来说,这已经足够满足日常需求。而付费版本,虽然尚未正式启用,但其定价标准已经公布。Gemini Pro付费版的定价为每千字符输入0.00025美元,每张图片输入0.0025美元,每千字符输出0.0005美元。值得注意的是,谷歌将利用免费版Google Pro API的输入和输出来提升模型的能力,但承诺付费版的数据不会用于训练和改进产品,从而保障用户的数据隐私。
如何申请Gemini Pro API
- 准备谷歌账号:如果您还没有谷歌账号,需要先注册一个。
- 使用美国节点访问:为了确保顺利访问,建议您使用美国节点。
- 访问Google AI Studio:打开Google AI Studio的API申请页面:https://makersuite.google.com/app/apikey。或者,您也可以访问Gemini的首页http://ai.google.dev,然后点击“Get API key in Google AI Studio”按钮。在使用之前,您需要同意相关的使用条款。
- 创建API密钥:在左侧菜单中点击“Get API key”,然后在右侧点击“Create API key in new project”。
生成式AI平台MakerSuite(Google AI Studio)
MakerSuite是一个基于浏览器的集成开发环境(IDE),专为使用生成式语言模型进行原型设计而打造。借助MakerSuite,您可以快速测试模型并尝试不同的提示(prompts),从而优化模型的性能。
模型参数设定
首次使用时,建议您保留所有默认设置。以下是一些关键参数的说明:
- Model(模型选择):您可以选择Gemini Pro(用于文本)或Gemini Pro Vision(用于图像)。
- Temperature(温度):温度决定了模型的创造力。较高的温度会产生更具想象力的结果,而较低的温度则会产生更稳定的结果。
- Safety settings(安全设定):您可以调整对骚扰、仇恨、性内容和恐怖主义等言论的屏蔽程度。
- Top K:Top K是一种选择输出token的方式。Top 1表示始终输出评分最高的回答,而Top 10表示在前10个评分最高的回答中随机选择一个输出。
- Top P:Top P是另一种选择输出token的方式。如果前x个回答的概率之和高于p,则【Top P,其中P=p】等价于【Top K,其中K=x】。
与模型互动的方式
MakerSuite提供了四种不同的方式与模型互动:
- Freeform prompt(文本/图片提示):输入一段提示,LLM将根据提示进行创作。
- Structured prompt(结构化提示):提供表格输入,您可以输入至多500组【输入,输出】的案例。LLM可以根据这些案例学习,并基于案例处理新的提示。
- Chat prompt(聊天提示):这是一种类似于ChatGPT和Bard的聊天框模式,支持输入历史会话,方便进行多轮对话。
- Fine-tuning model(模型调整):
训练参数设定(首次使用时,建议采用默认设置):
- Model(模型选择):您可以选择Text Bison,这是之前的模型PaLM2。截至目前,新的Gemini模型尚未在此处可用。
- Tuning epochs:整个训练集的完整训练遍历次数。
- Batch size:一次训练迭代中用于验证的样本数量。较大的批次大小容易导致过拟合,而较小的批次大小容易导致欠拟合。
- Learning rate:训练迭代中调整参数的强度。较大的学习率容易导致过拟合,而较小的学习率容易导致欠拟合。
点击“Tune”开始自动调参。模型调整完毕后,您可以在之前的各种提示测试中使用自己的新模型,以评估其性能。
API调用
以下是一些使用Python进行API调用的示例:
import google.generativeai as genai
genai.configure(api_key='xxx') # 填入自己的api_key
for m in genai.list_models():
print(m.name)
print(m.supported_generation_methods)
通过API,您可以访问谷歌的多个模型,其中最值得关注的是gemini-pro和gemini-pro-vision。gemini-pro是一个语言模型,只能输出文本内容,而gemini-pro-vision是一个多模态模型,可以读取和分析图片的内容。
内容生成
model = genai.GenerativeModel('gemini-pro')
response = model.generate_content("告诉我太阳系中最大行星的相关知识")
print(response.text)
流式输出
Gemini模型同样支持流式输出,这可以在某些应用场景中提供更好的用户体验。
model = genai.GenerativeModel('gemini-pro')
response = model.generate_content("给我上海3日游攻略", stream=True)
for chunk in response:
print(chunk.text)
print("_"*80)
聊天模式
import google.generativeai as genai
genai.configure(api_key='XXX') # 填入自己的api_key
model = genai.GenerativeModel(model_name="gemini-pro")
chat = model.start_chat(history=[])
response = chat.send_message("你好,我叫Wayne")
print(response.text)
response = chat.send_message("怎么称呼你啊?")
print(response.text)
response =chat.send_message("你还记得我叫什么吗?")
print(response.text)
for message in chat.history:
print(f'**{message.role}**: {message.parts[0].text}')
Gemini模型的出现,为人工智能领域带来了新的可能性。无论是内容生成、多模态数据处理,还是聊天互动,Gemini都展现出了强大的能力。随着API的开放,相信未来会有更多的开发者和研究人员利用Gemini,创造出更多令人惊艳的应用。