Gemini 快速开始 模型服务平台提供了与 Google Gemini API 兼容的 Models 接口,开发者可以使用 Gemini SDK 或其他支持的工具直接调用 Modelverse 上的 Gemini 模型。 本文将向您介绍如何快速在 模型服务平台发出您的第一个 Gemini API 请求。 快速开始 安装 Google GenAI SDK 安装 python 语言的 sdk 使用 Python 3.9 及更高版本,通过以下 pip 命令安装 google-genai 软件包: pip install google-genai 示例 以下示例使用 generateContent 方法,通过gemini-3-flash-preview模型向 U模型服务平台API 发送请求。 请确保将 $MODELVERSE_API_KEY 替换为您自己的 API Key,获取 API Key。 非流式调用 您可以使用以下代码进行调用。请注意,我们需要通过 http_options 来指定 Modelverse 的 API 地址。 python from google import genai from google.genai import types client = genai.Client( api_key="<MODELVERSE_API_KEY>", http_options=types.HttpOptions( base_url="https://api.modelverse.cn" ), ) response = client.models.generate_content( model="gemini-3-flash-preview", contents=[ {"text": "How does AI work?"}, ], config=types.GenerateContentConfig( thinking_config=types.ThinkingConfig(thinking_budget=0), ), ) print(response.text) 参数说明:开启思考总结 详细内容可参考官方文档 如需开启思考总结,可在 thinking_config 中添加: config=types.GenerateContentConfig( thinking_config=types.ThinkingConfig( include_thoughts=True ) ) curl curl "https://api.modelverse.cn/v1beta/models/gemini-3-flash-preview:generateContent" \ -H "x-goog-api-key: $MODELVERSE_API_KEY" \ -H "Content-Type: application/json" \ -X POST \ -d '{ "contents": [ { "parts": [ { "text": "How does AI work?" } ] } ], "generationConfig": { "thinkingConfig": { "thinkingBudget": 0 } } }' 流式调用 python from google import genai from google.genai import types client = genai.Client( api_key="<MODELVERSE_API_KEY>", http_options=types.HttpOptions( base_url="https://api.modelverse.cn" ), ) response = client.models.generate_content_stream( model="gemini-3-flash-preview", contents=["Explain how AI works"] ) for chunk in response: print(chunk.text, end="") curl curl "https://api.modelverse.cn/v1beta/models/gemini-3-flash-preview:GenerateContent?alt=sse" \ -H "Authorization: Bearer $MODELVERSE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "contents": [ { "role": "user", "parts": [ { "text": "Explain how AI works" } ] } ] }' Google Search(联网检索)使用说明 Gemini 支持通过 tools.google_search 调用实时网络检索能力。启用后,模型会在需要时自动发起搜索,并在响应中返回可追溯的来源信息(groundingMetadata)。 详细字段定义与能力说明可参考 Google Gemini 官方文档:https://ai.google.dev/gemini-api/docs/google-search?hl=zh-cn 适用场景: 需要最新信息(如近期事件、价格、公告)。 需要可验证来源与引用链路。 需要降低纯参数知识带来的幻觉风险。 请求要点 请求体中增加 tools,并传入 {"google_search": {}}。 建议使用支持 Google Search 工具的 Gemini 模型(如 gemini-3-flash-preview)。 使用 Modelverse 兼容地址与鉴权: Base URL: https://api.modelverse.cn API Key Header: x-goog-api-key: $MODELVERSE_API_KEY 示例:Python SDK(Modelverse) from google import genai from google.genai import types client = genai.Client( api_key="<MODELVERSE_API_KEY>", http_options=types.HttpOptions(base_url="https://api.modelverse.cn"), ) response = client.models.generate_content( model="gemini-3-flash-preview", contents="请告诉我今天 AI 领域最重要的三条新闻,并给出来源。", config=types.GenerateContentConfig( tools=[types.Tool(google_search=types.GoogleSearch())] ), ) print(response.text) # 可选:读取 grounding 元数据(若模型触发了搜索) if response.candidates and response.candidates[0].grounding_metadata: gm = response.candidates[0].grounding_metadata if gm.grounding_chunks: for idx, chunk in enumerate(gm.grounding_chunks, 1): if chunk.web: print(f"[{idx}] {chunk.web.title}: {chunk.web.uri}") 示例:curl(Modelverse) curl "https://api.modelverse.cn/v1beta/models/gemini-3-flash-preview:generateContent" \ -H "x-goog-api-key: $MODELVERSE_API_KEY" \ -H "Content-Type: application/json" \ -X POST \ -d '{ "contents": [ { "parts": [ { "text": "请基于网络信息,概括一下今天全球 AI 相关新闻,并附带来源。" } ] } ], "tools": [ { "google_search": {} } ] }' 响应字段说明(重点) 当请求触发联网检索时,candidates[*].groundingMetadata 常见字段包括: webSearchQueries:模型实际发起的搜索词。 groundingChunks:候选来源列表(含 uri、title)。 groundingSupports:回答片段与来源索引的映射,可用于做内联引用。 建议在前端展示来源链接,提升回答可解释性与用户信任。 文档理解 Gemini 模型可以处理 PDF 格式的文档,并使用原生视觉功能来理解整个文档的上下文。这不仅仅是提取文本,还让 Gemini 能够: 分析和解读内容,包括文本、图片、图表、图表和表格,即使是长达 1,000 页的文档也能轻松应对。 以结构化输出格式提取信息。 根据文档中的视觉和文本元素总结内容并回答问题。 转写文档内容(例如转写为 HTML),同时保留布局和格式,以便在下游应用中使用。 您也可以通过相同的方式传递非 PDF 文档,但 Gemini 会将这些文档视为普通文本,从而消除图表或格式等上下文。 以内嵌方式传递 PDF 数据 您可以在向 generateContent 发出的请求中内嵌传递 PDF 数据。此方法最适合处理较小的文档或临时处理,因为您无需在后续请求中引用该文件。 以下示例展示了如何从网址提取 PDF 并将其转换为字节以进行处理: python from google import genai from google.genai import types import httpx client = genai.Client( api_key="<MODELVERSE_API_KEY>", http_options=types.HttpOptions( base_url="https://api.modelverse.cn" ), ) doc_url = "https://umodelverse-inference.cn-wlcb.ufileos.com/gemini-pdf.pdf" # Retrieve and encode the PDF byte doc_data = httpx.get(doc_url).content prompt = "Summarize this document" response = client.models.generate_content( model="gemini-3-flash-preview", contents=[ types.Part.from_bytes( data=doc_data, mime_type='application/pdf', ), prompt ] ) print(response.text) curl DOC_URL="https://umodelverse-inference.cn-wlcb.ufileos.com/gemini-pdf.pdf" PROMPT="Summarize this document" DISPLAY_NAME="base64_pdf" # Download the PDF wget -O "${DISPLAY_NAME}.pdf" "${DOC_URL}" # Check for FreeBSD base64 and set flags accordingly if [[ "$(base64 --version 2>&1)" = *"FreeBSD"* ]]; then B64FLAGS="--input" else B64FLAGS="-w0" fi # Base64 encode the PDF ENCODED_PDF=$(base64 $B64FLAGS "${DISPLAY_NAME}.pdf") # Generate content using the base64 encoded PDF curl "https://api.modelverse.cn/v1beta/models/gemini-3-flash-preview:generateContent" \ -H "x-goog-api-key: $MODELVERSE_API_KEY" \ -H 'Content-Type: application/json' \ -X POST \ -d '{ "contents": [{ "parts":[ {"inline_data": {"mime_type": "application/pdf", "data": "'"$ENCODED_PDF"'"}}, {"text": "'$PROMPT'"} ] }] }' 2> /dev/null > response.json cat response.json echo jq ".candidates[].content.parts[].text" response.json # Clean up the downloaded PDF rm "${DISPLAY_NAME}.pdf" 您还可以从本地文件读取 PDF 以进行处理: from google import genai from google.genai import types import pathlib client = genai.Client( api_key="<MODELVERSE_API_KEY>", http_options=types.HttpOptions( base_url="https://api.modelverse.cn" ), ) # Retrieve and encode the PDF byte filepath = pathlib.Path('file.pdf') prompt = "Summarize this document" response = client.models.generate_content( model="gemini-3-flash-preview", contents=[ types.Part.from_bytes( data=filepath.read_bytes(), mime_type='application/pdf', ), prompt]) print(response.text) 模型ID说明 更多受支持的gemini模型,请参考【获取模型列表】 更多字段详情,见Gemini官方文档