Skip to main content

Chapter 2: Anthropic and Other APIs

Anthropic Claude API​

import anthropic
client = anthropic.Anthropic()

message = client.messages.create(
model="claude-3-sonnet-20240229",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello, Claude!"}]
)

Google Gemini API​

import google.generativeai as genai
genai.configure(api_key='YOUR_KEY')

model = genai.GenerativeModel('gemini-pro')
response = model.generate_content("Hello!")

API Comparison​

FeatureOpenAIAnthropicGoogle
Max Context128K200K1M+
MultimodalYesYesYes
Function CallingYesYesYes

Migration Strategy​

Use abstraction layers like LangChain or LiteLLM:

from litellm import completion

# Same interface, different providers
response = completion(
model="gpt-4", # or "claude-3-opus" or "gemini-pro"
messages=[{"role": "user", "content": "Hello"}]
)