通过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)
相关推荐
大卫小东(Sheldon)42 分钟前
斯梅尔问题(Smale's Problems)清单
数学·ai
怪奇云呼军1 小时前
闪电智能Voice Agent:ASR 首字延迟和最终识别延迟怎么测?t0-t3 埋点实战
人工智能·科技·ai·语音识别
码上解惑2 小时前
从 Dify 工作流说起:常用节点怎么选、怎样组合?
java·人工智能·ai·agent·dify·智能体·spring ai
平头哥~2 小时前
工伤认定赔偿纠纷实测 测评职场法务数字人工伤维权全流程讲解
ai·数字人
俊哥V5 小时前
每日 AI 研究简报 · 2026-07-22
人工智能·ai
曦尧5 小时前
Microsoft Ontology Playground:面向 Fabric IQ 的零后端本体可视化学习平台
ai·自动化
lincats5 小时前
SuperPower vs grill-me:AI编程圈两大skill正面交锋,你站哪边?
ai·codex·deepseek·vibe coding·skills
商业模式源码开发5 小时前
2026年GEO优化全解析:生成式引擎优化如何重构企业流量与品牌护城河
大数据·人工智能·ai