gemini-samples批量API使用指南:高效处理大规模AI任务

【免费下载链接】gemini-samples 【免费下载链接】gemini-samples 项目地址: https://gitcode.com/gh_mirrors/ge/gemini-samples

gemini-samples批量API是一款强大的工具,能够帮助用户高效处理大规模AI任务。它提供了一种异步处理大量非紧急请求的方式,让AI任务处理变得更加简单、经济且高效。

批量API的核心优势

使用gemini-samples批量API,您将获得以下显著优势:

gemini批量API优势 图:gemini批量API的高效处理能力示意图

  • 成本效益:享受标准成本50%的优惠价格,大幅降低大规模AI任务的处理成本。
  • 高吞吐量:专为大规模数据处理、预处理或评估设计,轻松应对海量请求。
  • 异步处理:提交任务后即可安心等待结果,目标周转时间为24小时,实际通常更快。

两种批量请求提交方式

gemini-samples批量API提供两种灵活的请求提交方式,满足不同规模任务的需求:

1. 内联请求(Inline Requests)

适合较小规模的批量任务,直接在API调用中嵌入请求内容。这种方式便捷快速,适用于处理少量提示。

示例代码路径:examples/gemini-batch-api.ipynb

2. 输入文件(Input File)

对于大规模任务,推荐使用JSON Lines(JSONL)文件。将多个请求按格式写入文件,然后通过File API上传,轻松处理大量请求。

批量请求文件处理流程 图:使用输入文件处理批量请求的流程

快速上手步骤

环境准备

首先,确保安装并升级google-genai库:

%uv pip install google-genai --upgrade

然后导入必要的库并配置API密钥:

import google.genai as genai
from google.genai import types

client = genai.Client()

提交内联请求

创建内联请求列表,直接提交批量任务:

# 创建请求列表
inline_requests = [
    {
        'contents': [{'parts': [{'text': 'Tell me a one-sentence joke.'}], 'role': 'user'}]
    },
    {
        'contents': [{'parts': [{'text': 'Why is the sky blue?'}], 'role': 'user'}]
    }
]

# 创建批量任务
inline_batch_job = client.batches.create(
    model="gemini-2.5-flash",
    src=inline_requests,
    config={'display_name': "inlined-requests-job-1"}
)

print(f"Created batch job: {inline_batch_job.name}")

提交文件请求

  1. 创建JSONL格式的请求文件:
with open("my-batch-requests.jsonl", "w") as f:
    requests = [
        {"key": "request-1", "request": {"contents": [{"parts": [{"text": "Describe the process of photosynthesis."}]}]}},
        {"key": "request-2", "request": {"contents": [{"parts": [{"text": "What are the main ingredients in a Margherita pizza?"}]}]}}
    ]
    for req in requests:
        f.write(json.dumps(req) + "\n")
  1. 上传文件并创建批量任务:
# 上传文件
uploaded_file = client.files.upload(
    file='my-batch-requests.jsonl',
    config=types.UploadFileConfig(display_name='my-batch-requests', mime_type='application/jsonl')
)

# 创建批量任务
file_batch_job = client.batches.create(
    model="gemini-2.5-flash",
    src=uploaded_file.name
)

print(f"Created batch job from file: {file_batch_job.name}")

监控任务状态与获取结果

使用提供的监控函数跟踪任务进度并获取结果:

def monitor_and_get_batch_results(job_name: str, client: genai.client.Client, max_retries: int = 10):
    # 监控逻辑实现
    # ...

# 获取内联请求结果
inline_results = monitor_and_get_batch_results(inline_job_name, client)

# 获取文件请求结果
file_results = monitor_and_get_batch_results(file_job_name, client)

任务状态说明

批量任务可能处于以下几种状态:

  • JOB_STATE_PENDING:任务待处理
  • JOB_STATE_SUCCEEDED:任务成功完成
  • JOB_STATE_FAILED:任务失败
  • JOB_STATE_CANCELLED:任务已取消

通过监控函数,您可以实时跟踪任务状态,并在任务完成后获取结果。

应用场景

gemini-samples批量API适用于多种场景:

批量API应用场景 图:批量API在多场景中的应用

  • 大规模数据处理:如文本分类、情感分析、实体识别等
  • 内容生成:批量生成产品描述、营销文案、新闻摘要等
  • 数据预处理:为机器学习模型准备训练数据
  • 模型评估:批量测试模型性能,生成评估报告

最佳实践

为了获得最佳的批量处理体验,建议:

  1. 根据任务规模选择合适的提交方式(内联或文件)
  2. 合理设置任务优先级,避免不必要的紧急任务
  3. 定期监控任务状态,及时处理异常情况
  4. 对于超大规模任务,考虑分批次处理

通过gemini-samples批量API,您可以轻松应对大规模AI任务挑战,提高工作效率并降低成本。无论您是数据科学家、开发人员还是业务分析师,这款工具都能为您的AI工作流带来显著提升。

立即尝试使用examples/gemini-batch-api.ipynb中的示例代码,开启您的高效AI批量处理之旅!

【免费下载链接】gemini-samples 【免费下载链接】gemini-samples 项目地址: https://gitcode.com/gh_mirrors/ge/gemini-samples

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐