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
| Feature | OpenAI | Anthropic | |
|---|---|---|---|
| Max Context | 128K | 200K | 1M+ |
| Multimodal | Yes | Yes | Yes |
| Function Calling | Yes | Yes | Yes |
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"}]
)