在 Notebook 中高效调用 Gemini API 进行批量文本处理,前提是先完成身份认证、安装最新版 SDK、构造规范的请求参数,并提前规避并发超限、响应被截断等常见问题;核心步骤包括通过 pip 安装 google-generativeai、配置 API 密钥(建议优先使用环境变量)、选用 gemini-1.5-flash 模型,以及采用分批处理与异常重试机制。

如果你想在 Jupyter Notebook 中调用 Gemini API 批量处理文本内容,例如一次性分析 100 条用户评论的情感倾向,就必须先完成身份认证、安装最新 SDK、构造正确的请求结构,并尽量避免并发超限和响应截断等问题。
安装依赖并配置API密钥
先执行 pip install google-generativeai 安装最新版 SDK。这一步不能省略,因为旧版google-api-python-client并不支持 Gemini 模型的直接调用。
可在 Notebook 单元格中运行:import google.generativeai as genaigenai.configure(api_key="your_api_key_here")
【your_api_key_here 这里必须替换为真实有效的密钥,并且该密钥需要提前在 Google AI Studio 中开通 Gemini API 的访问权限】。此外,如果把密钥直接写在代码中,存在较高的泄露风险;在正式环境或生产环境中,更推荐使用环境变量方式配置:genai.configure(api_key=os.getenv("GEMINI_API_KEY"))。
构造单次文本处理函数
可以先定义一个基础函数,用于接收字符串文本并返回 Gemini 模型的处理结果:
def get_gemini_response(text):
model = genai.GenerativeModel('gemini-1.5-flash')
response = model.generate_content(f"请用中文简要总结这段文本的核心观点:{text}")
return response.text.strip()
这里默认使用gemini-1.5-flash模型,因为它对长文本的兼容性通常更好,调用成本也相对更低;如果改用gemini-pro,则更容易触发配额限制,或者出现返回空结果的情况。
批量处理文本的三种方法
方法一:简单循环(适合≤20条文本)
直接遍历文本列表,对每条内容分别调用get_gemini_response()。这种方式最稳妥,但整体处理速度会相对较慢。
方法二:分批+异常重试(更适合 50–200 条文本场景)
第一步:先将文本列表拆分为多个批次,建议按每批 10 条进行切分
第二步:对每一批分别调用model.generate_content,将多段文本拼接后统一传入,并使用“---”作为分隔符
第三步:如果捕获到google.api_core.exceptions.ResourceExhausted异常,不要立刻再次请求,而是先等待 3 秒,再进行重试
第四步:拿到模型返回的长响应后,再根据分隔符拆分内容,逐条还原为数量对应的处理结果
方法三:异步并发(仅适用于已申请更高配额的用户)
导入asyncio和aiohttp,通过手动构造 HTTP 请求绕过 SDK 的部分限制;但 Google 已明确表示不保证异步调用的稳定性,【在未获得书面配额提升许可前,禁止使用此方法】。
这一步实际操作并不复杂,直接把文件拖入即可完成。
执行results = [get_gemini_response(t) for t in text_list[:5]],即可快速获取前 5 条文本的处理结果。
