Skip to content

Quick Start

Basic Conversion

The core workflow: Provider A → IR → Provider B.

from llm_rosetta import OpenAIChatConverter, AnthropicConverter

openai_conv = OpenAIChatConverter()
anthropic_conv = AnthropicConverter()

# An OpenAI Chat Completions request
openai_request = {
    "model": "gpt-4o",
    "messages": [
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "What is the capital of France?"},
    ],
    "temperature": 0.7,
    "max_tokens": 100,
}

# Convert: OpenAI → IR → Anthropic
ir_request = openai_conv.request_from_provider(openai_request)
anthropic_request, warnings = anthropic_conv.request_to_provider(ir_request)

Converting Responses

# After calling the Anthropic API
response = client.messages.create(**anthropic_request)

# Convert response to IR
ir_response = anthropic_conv.response_from_provider(response.model_dump())

# Extract text
from llm_rosetta.types.ir import extract_text_content
text = extract_text_content(ir_response["choices"][0]["message"])

Auto Detection

from llm_rosetta import detect_provider, convert

# Detect provider from request structure
provider = detect_provider(some_request)

# One-step conversion
converted = convert(some_request, target_provider="anthropic")

Next Steps