通过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)
相关推荐
我是大AI12 小时前
搜极星 GEO:让 AI 精准推荐,品牌不再隐形
大数据·人工智能·ai
Agent手记13 小时前
电信运营商如何用AI实现携号转网自动处理?基于实在Agent的业务自动化落地与TARS大模型解析方案
运维·人工智能·ai·自动化
实在智能RPA13 小时前
AI Agent是否能处理医药研发数据中多种格式的文档?深度解析2026年智能体在生物医药领域的应用边界
人工智能·ai
创世宇图14 小时前
Claude Opus 4.8 深度实测:动态多 Agent 协同、Effort Control 与幻觉抑制的工程化解析
ai·llm·agent·claude·ai工程化
徐云夏14 小时前
使用docker运行dify制作客服、运维助手
ai
Elastic 中国社区官方博客14 小时前
Elastic 线下 Meetup 将于 2026 年 7 月 26 号下午在深圳举行
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
weixin_4684668515 小时前
千问大模型在阿里生态中的实战应用指南
大数据·人工智能·深度学习·ai·大模型·智能交互·自动应答
JaydenAI15 小时前
[MAF预定义ChatClient中间件-06]利用ImageGeneratingChatClient开发专业图片生成Agent
ai·c#·agent·agent管道·chatclient中间件·chatclient管道
七老板的blog16 小时前
从持久化任务到多 Agent 协作
python·学习·ai
2501_9307077816 小时前
使用C#代码替换 PDF 文档中的文本
pdf