Gemini Batch API 现已支持 Embedding 模型与 OpenAI SDK
Gemini Batch API 现已扩展其功能,新增对 Gemini Embedding 模型的支持,并为开发者提供了通过 OpenAI SDK 提交和处理批处理任务的能力。 Batch API 专为高吞吐量、对延迟不敏感的场景设计,能够以异步方式处理任务,且价格比标准 API 低 50%,此次更新将进一步拓宽其应用范围。 支持 Gemini Embedding 模型 现在,您可以通过 Batch API 调用我们强大的 Gemini Embedding 模型。这意味着您可以在更高的速率限制下使用该模型,并且成本仅为标准 API 的一半,即每百万输入 token 0.075 美元。这一特性为更多对成本敏感、延迟容忍度高或需要异步处理的应用场景解锁了可能性。 通过以下几行 Python 代码即可开始使用批量 Embedding 功能: # 1. 创建一个包含请求的 JSONL 文件 (例如 embedding_requests.jsonl) # {"key": "request_1", "request": {"output_dimensionality": 512, "content": {"parts": [{"text": "解释一下什么是生成式 AI"}]}}} # {"key": "request_2", "request": {"output_dimensionality": 512, "content": {"parts": [{"text": "解释一下什么是量子计算"}]}}} from google import genai client = genai.Client() # 2. 上传包含批处理请求的文件 uploaded_batch_requests = client.files.upload(file='embedding_requests.jsonl') # 3. 创建 Embedding 批处理作业 batch_job = client.batches.create_embeddings( model="gemini-embedding-001", src={"file_name": uploaded_batch_requests.name} ) print(f"已创建 Embedding 批处理作业: {batch_job.name}") # 4. 等待作业完成(最长可能需要 24 小时) # ... 此处省略轮询或等待逻辑 ... # 5. 检查作业状态并下载结果 if batch_job.state.name == 'JOB_STATE_SUCCEEDED': result_file_name = batch_job.dest.file_name file_content_bytes = client.files.download(file=result_file_name) file_content = file_content_bytes.decode('utf-8') for line in file_content.splitlines(): print(line) 更多关于批量 Embedding 的信息和示例,请参阅官方文档中的相关章节。 ...