php网站绑定域名,企业商城网站建设价格,wordpress 多媒体 权限,php做网站如何Gemini是谷歌开发的一个新模型。有了Gemini可以为查询提供图像、音频和文本#xff0c;获得几乎完美的答案。
我们在本教程中将学习Gemini API以及如何在机器上设置它。我们还将探究各种Python API函数#xff0c;包括文本生成和图像理解。
Gemini AI模型介绍
Gemini是谷歌…Gemini是谷歌开发的一个新模型。有了Gemini可以为查询提供图像、音频和文本获得几乎完美的答案。
我们在本教程中将学习Gemini API以及如何在机器上设置它。我们还将探究各种Python API函数包括文本生成和图像理解。
Gemini AI模型介绍
Gemini是谷歌研究院和谷歌DeepMind等团队合作开发的新型AI模型。它为多模态而建理解并处理不同类型的数据比如文本、代码、音频、图像和视频。
Gemini是谷歌迄今为止开发的最先进、最庞大的AI模型。它非常灵活可以从数据中心到移动设备的各种系统上高效运行。这意味着它有望彻底改变企业和开发人员构建和扩展AI应用程序的方式。
以下是针对不同用例设计的Gemini模型的三个版本
Gemini Ultra最庞大最先进的AI能够执行复杂的任务。Gemini Pro一种良好性能和可扩展性兼备的模型。Gemini Nano最适合移动设备。 Gemini Ultra具有最先进的性能在几个指标上超过了GPT-4的性能。它是第一个在大规模多任务语言理解基准测试中超越人类专家的模型该基准测试57个不同学科的世界知识和解决问题的能力。这展示了其先进的理解和解决问题的能力。
设置
要使用API我们必须先获得一个API密钥可以从这里获取https://ai.google.dev/tutorials/setup。 然后点击“获取API密钥”按钮随后点击“在新项目中创建API密钥”。 复制API密钥并将其设置为环境变量。我们使用Deepnote很容易设置名为“GEMINI_API_KEY”的密钥。只要转入到集成向下滚动并选择环境变量。 在下一步中我们将使用PIP安装Python API pip install -q -U google-generativeai 之后我们将根据谷歌的GenAI设置API密钥并初始化实例。 import google.generativeai as genai
import osgemini_api_key os.environ[GEMINI_API_KEY]
genai.configure(api_key gemini_api_key) 使用Gemini Pro
设置好API密钥后使用Gemini Pro模型生成内容就很简单。向‘generate_content’函数提供一个提示将输出显示为Markdown。 from IPython.display import Markdownmodel genai.GenerativeModel(gemini-pro)
response model.generate_content(Who is the GOAT in the NBA?)Markdown(response.text) 这令人惊讶但我不同意这个列表。然而我明白这完全是个人喜好。 Gemini可以为一个提示生成多个响应名为候选响应。你可以选择最合适的一个。在本文的例子中我们只有一个响应。 response.candidates 不妨让它用Python编写一个简单的游戏。 response model.generate_content(Build a simple game in Python)
Markdown(response.text) 结果很简单也很中肯。大多数LLM开始解释Python代码而不是编写代码。 配置响应
你可以使用‘generation_config’变量定制响应。我们将候选响应计数限制为1添加停止词“space”并设置最大token和温度。 response model.generate_content(Write a short story about aliens.,generation_configgenai.types.GenerationConfig(candidate_count1,stop_sequences[space],max_output_tokens200,temperature0.7)
)
Markdown(response.text) 正如你所见响应在“space“这个单词前停止了。很神奇。 流式传输响应
你也可以使用‘stream ’参数来流式传输响应。它类似Anthropic和OpenAI API但速度更快。 model genai.GenerativeModel(gemini-pro)
response model.generate_content(Write a Julia function for cleaning the data., streamTrue)for chunk in response:print(chunk.text) 使用Gemini Pro Vision
下面我们将加载Masood Aslami的图像并用它来测试Gemini Pro Vision的多模态性。将图像加载到“PIL”中并显示它。 import PIL.Image
img PIL.Image.open(images/photo-1.jpg)
img 我们有一张奥古斯塔拱门的高质量图像。 不妨加载Gemini Pro Vision模型并为其提供该图像。 model genai.GenerativeModel(gemini-pro-vision)
response model.generate_content(img)
Markdown(response.text) 该模型准确地识别了宫殿并提供了有关其历史和建筑的更多信息。 不妨将相同的图像提供给GPT-4并向它询问该图像。两种模型都给出了几乎相似的答案但我更喜欢GPT-4的响应。 我们将向API提供文本和图像。我们让Vision模型用图像作为参考写一篇旅游博文。 response model.generate_content([Write a travel blog post using the image as reference., img])
Markdown(response.text) 它为我提供了一个简短的博文我原以为是更长的格式。 与GPT-4相比Gemini Pro Vision模型难以生成长格式博文。 聊天对话会话
我们可以设置模型进行来回的聊天会话。这样一来模型可以使用之前的对话记住上下文和响应。
在本文中我们已开始了聊天会话并要求模型帮助我开始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”对象保存用户和模式聊天的历史记录。 我们还可以以Markdown样式显示它们。 for message in chat.history:display(Markdown(f**{message.role}**: {message.parts[0].text})) 不妨问一个紧跟的问题。 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 embedding-001模型允许将单词、句子或整个文档表示为编码语义含义的密集向量。这种向量表示可以通过比较不同文本片段对应的嵌入向量来方便地比较它们之间的相似性。
我们可以将内容提供给“embed_content”并将文本转换为嵌入。就是这么简单。 output genai.embed_content(modelmodels/embedding-001,contentCan you please guide me on how to start playing Dota 2?,task_typeretrieval_document,titleEmbedding 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(modelmodels/embedding-001,content[Can you please guide me on how to start playing Dota 2?,Which Dota 2 heroes should I start with?,],task_typeretrieval_document,titleEmbedding 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] 结语
有很多高级函数在本入门教程中并没有介绍。你可以通过《Gemini API: Python快速入门》了解关于Gemini API的更多信息https://ai.google.dev/tutorials/python_quickstart#generate_text_from_text_inputs.