EN

OpenAI API vs Anthropic API vs Gemini API:2026年开发者对比

面向开发者的LLM API对比:定价、速率限制、SDK及生产模式

返回教程列表🌐 Read in English
进阶14 分钟

OpenAI API vs Anthropic API vs Gemini API:2026年开发者对比

面向开发者的LLM API对比:定价、速率限制、SDK及生产模式

2026年OpenAI API、Anthropic API与Google Gemini API的完整开发者对比。涵盖身份认证、流式传输、函数调用、结构化输出、速率限制及成本比较。

OpenAI API vs Anthropic API vs Google Gemini API:2026年开发者指南

选择合适的LLM API提供商会影响整个应用架构。以下是从开发者角度出发的对比,包含真实代码示例。

环境配置

python

OpenAI

from openai import OpenAI openai_client = OpenAI(api_key=os.environ['OPENAI_API_KEY'])

Anthropic

import anthropic anthropic_client = anthropic.Anthropic(api_key=os.environ['ANTHROPIC_API_KEY'])

Google Gemini

import google.generativeai as genai genai.configure(api_key=os.environ['GOOGLE_API_KEY']) gemini_model = genai.GenerativeModel('gemini-2.5-pro')

流式响应

python

OpenAI 流式

with openai_client.chat.completions.stream( model='gpt-5', messages=[{'role': 'user', 'content': '解释机器学习中的Transformer'}] ) as stream: for text in stream.text_stream: print(text, end='', flush=True)

Anthropic 流式

with anthropic_client.messages.stream( model='claude-sonnet-4-5', max_tokens=2000, messages=[{'role': 'user', 'content': '解释机器学习中的Transformer'}] ) as stream: for text in stream.text_stream: print(text, end='', flush=True)

Gemini 流式

for chunk in gemini_model.generate_content('解释机器学习中的Transformer', stream=True): print(chunk.text, end='', flush=True)

函数调用

python

OpenAI 函数调用

tools = [{'type': 'function', 'function': { 'name': 'get_weather', 'description': '获取当前天气', 'parameters': {'type': 'object', 'properties': {'city': {'type': 'string'}}, 'required': ['city']} }}]

response = openai_client.chat.completions.create( model='gpt-5', messages=[{'role': 'user', 'content': '东京的天气?'}], tools=tools, tool_choice='auto' ) if response.choices[0].message.tool_calls: tc = response.choices[0].message.tool_calls[0] print(f'调用: {tc.function.name}({tc.function.arguments})')

Anthropic 工具使用

tools_claude = [{'name': 'get_weather', 'description': '获取当前天气', 'input_schema': {'type': 'object', 'properties': {'city': {'type': 'string'}}, 'required': ['city']}}]

response = anthropic_client.messages.create( model='claude-sonnet-4-5', max_tokens=1000, tools=tools_claude, messages=[{'role': 'user', 'content': '东京的天气?'}] ) for block in response.content: if block.type == 'tool_use': print(f'工具: {block.name}, 输入: {block.input}')

结构化输出

python
from pydantic import BaseModel
from typing import List

class TechStack(BaseModel): languages: List[str] frameworks: List[str] databases: List[str]

OpenAI - 原生结构化输出(最可靠)

response = openai_client.beta.chat.completions.parse( model='gpt-5', messages=[{'role': 'user', 'content': '提取技术栈:Python/Django/PostgreSQL/AWS'}], response_format=TechStack ) stack = response.choices[0].message.parsed print(stack.languages) # ['Python']

速率限制与重试

python
import time
import random

def with_retry(func, max_retries: int = 5): for attempt in range(max_retries): try: return func() except (openai.RateLimitError, anthropic.RateLimitError): if attempt == max_retries - 1: raise wait = (2 ** attempt) + random.uniform(0, 1) time.sleep(wait)

2026年成本对比

模型输入/百万Token输出/百万Token上下文长度

GPT-5$10$30128K GPT-5 mini$0.40$1.60128K Claude Sonnet 4$3$15200K Claude Haiku 4$0.80$4200K Gemini 2.5 Pro$1.25$101M Gemini Flash$0.075$0.301M

提供商选择指南

  • OpenAI:最大的生态系统,Assistants API,最佳结构化输出
  • Anthropic:最长上下文,最佳指令遵循,安全关键应用
  • Gemini:百万级上下文,多模态,Flash层级成本最低
  • 结论

    从OpenAI开始,因其成熟的SDK和生态系统。对于长文档和关键推理任务,加入Anthropic。对于需要大上下文窗口的高容量、成本敏感操作,使用Gemini Flash。

    相关工具

    OpenAIAnthropicGoogle Gemini