
文章插图
使用Gemini Pro Vision下面我们将加载Masood Aslami的图像 , 并用它来测试Gemini Pro Vision的多模态性 。将图像加载到“PIL”中并显示它 。
import PIL.Imageimg = 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(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工作区(https://deepnote.com/workspace/abid-5efa63e7-7029-4c3e-996f-40e8f1acba6f/project/How-to-Access-and-Use-Gemini-API-55818013-847a-46c6-ac51-9c814955f5cd/notebook/Notebook%201-af572259a2374c39a21eb31a63dc23a7https://deepnote.com/workspace/abid-5efa63e7-7029-4c3e-996f-40e8f1acba6f/project/How-to-Access-and-Use-Gemini-API-55818013-847a-46c6-ac51-9c814955f5cd/notebook/Notebook%201-af572259a2374c39a21eb31a63dc23a7) 。结语有很多高级函数在本入门教程中并没有介绍 。你可以通过《Gemini API: Python快速入门》了解关于Gemini API的更多信息:https://ai.google.dev/tutorials/python_quickstart#generate_text_from_text_inputs.
推荐阅读
- 如何改善风水:提升生活品质的智慧之术
- 微信小技巧,教你如何单独隐藏一个人的聊天记录!看完涨知识了
- Apple Pencil如何连接iPad?这里提供详细步骤
- 和目智能摄像机如何修改密码,和目智能摄像头没二维码怎么添加
- win0该咋地才能设置锁屏密码,华为手机如何设置锁屏密码提示
- 如何在美团开店注册,在美团注册商户都需要什么资料
- 贾玲《热浪滚烫》爆火后,日本网友是如何评价的?
- 手机日历如何切换农历公历
- 企业微信如何设置薪资密码,如何为企业微信添加工资条应用
- 微信如何查看小程序id
