通过Gen AI SDK调用gemini 2.5 pro,单独上传pdf文件 | ai agent 开发笔记 2025.9.2 Day 2
上传文件
通过 File API 上传至google的云服务器,下一次直接带上 File API 返回的链接就可以零流量上传文件了。(或者 Google Cloud Storage
+ Vertex AI
)
import os
from google import genai# 初始化客户端
client = genai.Client(api_key = "your_api_key")# 上传本地文件
file_path = r"your_local_file_path"
uploaded_file = client.files.upload(file=file_path)# 获取文件信息(包含 gs:// 链接)
file_info = client.files.get(name=uploaded_file.name)
gs_uri = file_info.uri # 这就是gs://链接
print(f"Uploaded file URI:{gs_uri}")
调用gemini
response = client.models.generate_content(
model="gemini-2.5-flash",
contents=[uploaded_file, prompt]
)
print(response.text)
将上传文件和调用模型分开
先获取上传文件返回的uri
和 mime_type
,将其存储在数据库中,再用这两个参数构造文件对象,types.Part.from_uri
from google.genai import types
file_part = types.Part.from_uri(file_uri=upload_file.uri, mime_type=upload_file.mime_type)
之后再将file_part
对象放入到聊天请求的contents
参数中,
response = client.models.generate_content(
model="gemini-2.5-flash",
contents=[file_part,"Summarize this document"]
)
print(response.text)