Gemini API / TEXT GENERATION
用 Gemini API 生成文本。
从一次提问开始,逐步加入系统指令、多模态输入、流式响应和多轮对话。
查看 Google 官方文档
01
开始之前
先在 Google AI Studio 创建 API key,并将它放在 GEMINI_API_KEY 环境变量中。Python SDK 会自动读取这个变量。
Interactions API 会返回一次完整互动。
output_text 适合读取最后一个文本块,复杂的交错输出则需要遍历 steps。02
基础文本生成
使用稳定的 Gemini Flash 模型处理日常问答、总结、写作和代码解释。
Python
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.8-flash",
input="用三句话解释什么是上下文窗口。",
)
print(interaction.output_text)JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
const interaction = await ai.interactions.create({
model: "gemini-3.8-flash",
input: "用三句话解释什么是上下文窗口。",
});
console.log(interaction.output_text);03
系统指令与生成配置
用系统指令固定 Gemini 的角色、语气和输出边界,再用生成配置调整结果的稳定性。
Python
interaction = client.interactions.create(
model="gemini-3.8-flash",
input="把这段会议记录整理成三个行动项。",
system_instruction="你是一名简洁、可靠的中文项目助理。",
generation_config={"temperature": 0.3},
)04
多模态输入
Gemini API 可以把文字和图片、视频、音频或文档放在同一次输入中。下面示例让 Gemini 读取一张图片。
Python
from google import genai
import base64
with open("diagram.png", "rb") as image_file:
image_data = base64.b64encode(image_file.read()).decode("utf-8")
interaction = client.interactions.create(
model="gemini-3.8-flash",
input=[
{"type": "text", "text": "描述这张图的主要信息。"},
{"type": "image", "data": image_data, "mime_type": "image/png"},
],
)05
流式响应
需要更快显示首字时,可以使用流式响应,逐块处理模型输出。
Python
for event in client.interactions.create(
model="gemini-3.8-flash",
input="写一段产品介绍。",
stream=True,
):
if event.type == "content_delta":
print(event.delta, end="", flush=True)06
多轮对话
将上一次互动的 ID 传入 previous_interaction_id,即可让 Gemini 在服务器端延续上下文。若选择无状态模式,请在客户端自行维护完整的 steps,并在请求中设置 store=false。
使用思考功能或工具时,必须完整保留并重新发送模型生成的步骤签名。