Gemini API 支持所有文件 mime 类型吗

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

我正在开发一个工具,使用 Gemini api 来描述文件是什么。然而,当我上传 .docx 类型文件时,我遇到了错误

400 Unsupported MIME type
的问题。 API 是否支持所有文件 MIME 类型或仅支持特定的文件类型列表,因为我假设它与 Gemini 网站版本相同。

这是完整的终端输出(错误):

Uploaded file 'StudentFinalDraft.docx' as: https://generativelanguage.googleapis.com/v1beta/files/4wu650wcz753
Processing...

Traceback (most recent call last):
  File "/home/haveyoutried/Documents/GeminiSort.py", line 59, in <module>
    keyPair[o] = model.generate_content(
                 ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/haveyoutried/.local/lib/python3.11/site-packages/google/generativeai/generative_models.py", line 331, in generate_content
    response = self._client.generate_content(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/haveyoutried/.local/lib/python3.11/site-packages/google/ai/generativelanguage_v1beta/services/generative_service/client.py", line 827, in generate_content
    response = rpc(
               ^^^^
  File "/home/haveyoutried/.local/lib/python3.11/site-packages/google/api_core/gapic_v1/method.py", line 131, in __call__
    return wrapped_func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/haveyoutried/.local/lib/python3.11/site-packages/google/api_core/retry/retry_unary.py", line 293, in retry_wrapped_func
    return retry_target(
           ^^^^^^^^^^^^^
  File "/home/haveyoutried/.local/lib/python3.11/site-packages/google/api_core/retry/retry_unary.py", line 153, in retry_target
    _retry_error_helper(
  File "/home/haveyoutried/.local/lib/python3.11/site-packages/google/api_core/retry/retry_base.py", line 212, in _retry_error_helper
    raise final_exc from source_exc
  File "/home/haveyoutried/.local/lib/python3.11/site-packages/google/api_core/retry/retry_unary.py", line 144, in retry_target
    result = target()
             ^^^^^^^^
  File "/home/haveyoutried/.local/lib/python3.11/site-packages/google/api_core/timeout.py", line 120, in func_with_timeout
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/haveyoutried/.local/lib/python3.11/site-packages/google/api_core/grpc_helpers.py", line 78, in error_remapped_callable
    raise exceptions.from_grpc_error(exc) from exc
google.api_core.exceptions.InvalidArgument: 400 Unsupported MIME type: application/vnd.openxmlformats-officedocument.wordprocessingml.document

如果有前面提到的列表,有人可以给我链接吗?否则,如果 .docx 文件可以接受,您能解释一下为什么会出现上面显示的错误吗?

python-3.x google-gemini google-gemini-file-api
1个回答
0
投票

现阶段可以使用Gemini API将DOCX(

application/vnd.openxmlformats-officedocument.wordprocessingml.document
)的文件上传到Gemini。但不幸的是,在现阶段,DOCX 文件似乎无法用于通过 Gemini API 生成内容。我猜你的错误可能是用DOCX文件生成内容时发生的。

我提出了一个示例脚本来测试这种情况/

import google.generativeai as genai

api_key = "###" # Please set your API key.
file_name = "sample.docx" # Please set your DOCX file with the path.
name = "sample-name-1"

genai.configure(api_key=api_key)
f = genai.upload_file(path=file_name, name=name, resumable=True)
print(f.uri)

运行该脚本,得到如下结果。至此,可以看到DOCX文件已经正确上传了。

`` https://generativelanguage.googleapis.com/v1beta/files/sample-name-1


Here, content is tried to be generated with this file using the following script.

```python
import google.generativeai as genai

api_key = "###" # Please set your API key.
name = "sample-name-1"
prompt = "Describe this DOCX file."

genai.configure(api_key=api_key)
model = genai.GenerativeModel(model_name="models/gemini-1.5-pro-latest")
response = model.generate_content([genai.get_file(name), prompt])
print(response.text)

DOCX 文件上传后运行此脚本,返回以下错误信息。

400 Unsupported MIME type: application/vnd.openxmlformats-officedocument.wordprocessingml.document

从这个情况来看,认为现阶段还不能使用DOCX文件来生成内容。

我相信这个问题可能会在未来的更新中得到解决。因为直到最近,PDF 数据还不能用于生成内容。但最近,这个问题可能得到解决。 参考(作者:我)

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