Quickstart¶
Install¶
pip install republic
Step 1: Create an LLM¶
Republic uses the provider:model format.
from republic import LLM
llm = LLM(model="openrouter:openrouter/free", api_key="<API_KEY>")
Step 2: Send one request¶
out = llm.chat("Write one short release note.", max_tokens=48)
print("text:", out)
Step 3: Add an auditable trace to the session¶
tape organizes context around anchors by default, so start with one handoff.
tape = llm.tape("release-notes")
tape.handoff("draft_v1", state={"owner": "assistant"})
reply = tape.chat("Summarize the version changes in three bullets.", system_prompt="Keep it concise.")
print(reply)
Step 4: Handle failures and fallback¶
Note: max_retries is the number of retries after the first attempt (total attempts per model is 1 + max_retries).
from republic import ErrorPayload, LLM
llm = LLM(
model="openai:gpt-4o-mini",
fallback_models=["openrouter:openrouter/free"],
max_retries=2,
api_key={"openai": "<OPENAI_KEY>", "openrouter": "<OPENROUTER_KEY>"},
)
try:
result = llm.chat("say hello", max_tokens=8)
print(result)
except ErrorPayload as error:
print(error.kind, error.message)