文本生成

本页面介绍了如何使用 Google Cloud 控制台、REST API 和受支持的 SDK 向 Gemini 模型发送聊天提示。

如需了解如何向请求添加图片和其他媒体,请参阅图片理解

如需查看 Gemini 支持的语言列表,请参阅语言支持


如需探索 Vertex AI 上可用的生成式 AI 模型和 API,请转到 Google Cloud 控制台中的 Model Garden。

转到 Model Garden


如果您正在寻找一种直接在移动应用和 Web 应用中使用 Gemini 的方法,请参阅适用于 Android、Swift、Web 和 Flutter 应用的 Vertex AI in Firebase SDK

生成文本

如需测试和迭代聊天提示,我们建议使用 Google Cloud 控制台。如需以编程方式将提示发送到模型,您可以使用 REST API、Google Gen AI SDK、Vertex AI SDK for Python 或其他受支持的库和 SDK。

您可以使用系统指令根据特定需求或使用情形来控制模型的行为。例如,您可以为响应客户服务请求的聊天机器人定义角色。如需了解详情,请参阅系统指令代码示例

Gemini 2.0

如果您使用的是 Gemini 2.0 Flash,则可以使用 Google Gen AI SDK 发送请求。

流式回答和非流式回答

您可以选择模型是生成流式回答还是非流式回答。 对于流式回答,您将在生成每个响应的输出词元后立即收到响应。对于非流式回答,您会在生成所有输出词元之后收到所有回答。

流式

Gen AI SDK for Python

安装

pip install --upgrade google-genai
如需了解详情,请参阅 SDK 参考文档

设置环境变量以将 Gen AI SDK 与 Vertex AI 搭配使用:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=us-central1
export GOOGLE_GENAI_USE_VERTEXAI=True

from google import genai
from google.genai.types import HttpOptions

client = genai.Client(http_options=HttpOptions(api_version="v1"))
chat_session = client.chats.create(model="gemini-2.0-flash-001")
response_text = ""

for chunk in chat_session.send_message_stream("Why is the sky blue?"):
    print(chunk.text, end="")
    response_text += chunk.text
# Example response:
# The
#  sky appears blue due to a phenomenon called **Rayleigh scattering**. Here's
#  a breakdown of why:
# ...

非流式传输

Gen AI SDK for Python

安装

pip install --upgrade google-genai
如需了解详情,请参阅 SDK 参考文档

设置环境变量以将 Gen AI SDK 与 Vertex AI 搭配使用:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=us-central1
export GOOGLE_GENAI_USE_VERTEXAI=True

from google import genai
from google.genai.types import HttpOptions, ModelContent, Part, UserContent

client = genai.Client(http_options=HttpOptions(api_version="v1"))
chat_session = client.chats.create(
    model="gemini-2.0-flash-001",
    history=[
        UserContent(parts=[Part(text="Hello")]),
        ModelContent(
            parts=[Part(text="Great to meet you. What would you like to know?")],
        ),
    ],
)
response = chat_session.send_message("Tell me a story.")
print(response.text)
# Example response:
# Okay, here's a story for you:
# ...

后续步骤