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

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

先获取上传文件返回的uri 和 mime_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)
相关推荐
白萝卜弟弟1 小时前
【大模型Qwen3.8 27B】llama.cpp 本地大模型部署与使用
ai·大模型·agent·llama·qwen3.8
李航19833 小时前
给自己的图形引擎,配上了AI渲染,做设计真是太方便了
人工智能·python·计算机视觉·ai·ai编程
玫瑰互动GEO3 小时前
开发者学GEO优化:从算法基础到CoT推理链
大数据·人工智能·ai·geo·ai搜索·geo优化
voipmaker4 小时前
AI 赋能安防系统演进:从硬件单品到场景化融合调度架构
人工智能·ai·架构
玫瑰互动GEO5 小时前
GEM优化的三层量化维度:答案层·交互层·交易意图层
ai·ai助手·gem·gem优化·生成式引擎营销
运维开发王义杰6 小时前
大模型 API 配额防透支:Redis Lua 原子预扣与多租户治理实战
ai
凤山老林6 小时前
Spring Boot 集成 iText 7 实现动态 PDF 生成与电子签章:合同、报表场景实战
spring boot·后端·pdf·itext7·电子签章
泡海椒6 小时前
趋势分析报表:jquick-pdf折线图PDF生成实战
java·大数据·运维·服务器·前端·pdf
XLYcmy7 小时前
AI 时代,MOM(制造运营管理系统)该如何演进? 中
ai·llm·agent·工作流·rag·harness·工业系统
TTc_8 小时前
Agent长上下文压缩为什么会反复失败
ai·ai编程