通过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)
相关推荐
酩酊仙人3 小时前
fastmcp构建mcp server和client
python·ai·mcp
格林威3 小时前
传送带上运动模糊图像复原:提升动态成像清晰度的 6 个核心方案,附 OpenCV+Halcon 实战代码!
人工智能·opencv·机器学习·计算机视觉·ai·halcon·工业相机
undsky_8 小时前
【n8n教程】:RSS Feed Trigger节点,玩转RSS订阅自动化
人工智能·ai·aigc·ai编程
CoderJia程序员甲9 小时前
GitHub 热榜项目 - 日榜(2026-1-7)
人工智能·ai·大模型·github·ai教程
不会用AI的老炮9 小时前
【AI coding 智能体设计系列-07】规约驱动:让交付可复现的Spec工作流
人工智能·ai·ai编程
liulilittle9 小时前
DeepWiki: OPENPPP2 工程价值
网络·c++·网络协议·ai·信息与通信·通信
云草桑10 小时前
.net AI API应用 客户发的信息提取对接上下游系统报价
ai·c#·.net·semantickernel·sk
外贸干货的小棠11 小时前
AI搜索革命:GEO优化如何重构企业获客的底层逻辑
ai
程序员鱼皮11 小时前
干掉 Claude Code,这个开源 AI 编程工具杀疯了?
前端·后端·计算机·ai·程序员
外贸干货的小棠12 小时前
深度拆解GEO优化的技术原理与AI搜索时代品牌破局之道
ai