通过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

python 复制代码
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
python 复制代码
response = client.models.generate_content(
model="gemini-2.5-flash",
contents=[uploaded_file, prompt]
)
print(response.text)

将上传文件和调用模型分开

先获取上传文件返回的urimime_type ,将其存储在数据库中,再用这两个参数构造文件对象,types.Part.from_uri

python 复制代码
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参数中,

python 复制代码
response = client.models.generate_content(
model="gemini-2.5-flash",
contents=[file_part,"Summarize this document"]
)
print(response.text)
相关推荐
iFlow_AI3 小时前
知识驱动开发:用iFlow工作流构建本地知识库
前端·ai·rag·mcp·iflow·iflow cli·iflowcli
百锦再3 小时前
Python实现开源AI模型引入及测试全过程
人工智能·python·ai·开源·aigc·模型·自然语言
njsgcs3 小时前
ezdxf 打印dxf为pdf
pdf·ezdxf
缺点内向4 小时前
如何在 C# .NET 中将 Markdown 转换为 PDF 和 Excel:完整指南
pdf·c#·.net·excel
ccino .4 小时前
pdf-xss文件制作过程
前端·pdf·xss
TDengine (老段)4 小时前
TDengine IDMP 1.0.9.0 上线:数据建模、分析运行与可视化能力更新一览
大数据·数据库·物联网·ai·时序数据库·tdengine·涛思数据
才思喷涌的小书虫4 小时前
DINO-X 视觉模板挑战赛火热报名中
人工智能·目标检测·计算机视觉·ai·数据标注·图像标注·模型定制
ShadowSmartMicros4 小时前
SpringAi调用Mcp
java·ai
陈橘又青5 小时前
开创性的初创企业利用 Amazon SageMaker孵化器释放企业价值
人工智能·网络协议·学习·ai·编辑器
才学5 小时前
Ubuntu 22.04上安装docker-compose
ai