尝试提示使用带有 google gemini-pro-vision 和 python 的图像时遇到 PIL 包问题

问题描述 投票:0回答:1

我在按照 google 文档使用 python PIL 包和 gemini-pro-vision 时遇到了问题。

下面是代码。我试图通过 PIL 包使用图像生成内容。

import PIL.Image
img = PIL.Image.open('cat.jpg')

model = genai.GenerativeModel('gemini-pro-vision')
response = model.generate_content(img.any())

print(response.text)

这是我遇到的错误。 我在使用 opencv 库时也遇到了同样的问题。

TypeError                                 Traceback (most recent call last)
Cell In[47], line 2
      1 model = genai.GenerativeModel('gemini-pro-vision')
----> 2 response = model.generate_content(img)
      3 print(response.text)

File ~/workspace/Google_gemini_api/.venv/lib/python3.11/site-packages/google/generativeai/generative_models.py:234, in GenerativeModel.generate_content(self, contents, generation_config, safety_settings, stream, **kwargs)
    224 @string_utils.set_doc(_GENERATE_CONTENT_DOC)
    225 def generate_content(
    226     self,
   (...)
    232     **kwargs,
    233 ) -> generation_types.GenerateContentResponse:
--> 234     request = self._prepare_request(
    235         contents=contents,
    236         generation_config=generation_config,
    237         safety_settings=safety_settings,
    238         **kwargs,
    239     )
    240     if self._client is None:
    241         self._client = client.get_default_generative_client()

File ~/workspace/Google_gemini_api/.venv/lib/python3.11/site-packages/google/generativeai/generative_models.py:204, in GenerativeModel._prepare_request(self, contents, generation_config, safety_settings, **kwargs)
    201 if not contents:
...
    146 )

TypeError: Could not create `Blob`, expected `Blob`, `dict` or an `Image` type(`PIL.Image.Image` or `IPython.display.Image`).
Got a: <class 'PIL.JpegImagePlugin.JpegImageFile'>
Value: <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=276x183 at 0x7F603CB3ED90>
python-3.x python-imaging-library google-gemini
1个回答
0
投票

你可以使用,

from IPython.display import Image
from IPython.core.display import HTML

img = Image('cat.jpg')

它完成了工作!!

© www.soinside.com 2019 - 2024. All rights reserved.