sablenetwork
Documentation — all sections

Framework integrations

Sable is OpenAI-compatible, so every agent framework that talks to the OpenAI Chat Completions API works by changing two things: the base URL and the API key. No adapter, no plugin. Point the framework at https://api.buildsable.com/v1, use a sk-sable_… key, and pick a Sable model id.

Set SABLE_API_KEY in your environment for every snippet below.

LangChain

LangChain's ChatOpenAI accepts a custom base URL directly.

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
  model="sable-llama-3.3-70b",
  base_url="https://api.buildsable.com/v1",
  api_key="sk-sable_...",  # or os.environ["SABLE_API_KEY"]
)

print(llm.invoke("Summarize this contract clause.").content)

Vercel AI SDK

Create a provider instance pinned to Sable, then use it like any model.

import { createOpenAI } from "@ai-sdk/openai";
import { generateText } from "ai";

const sable = createOpenAI({
baseURL: "https://api.buildsable.com/v1",
apiKey: process.env.SABLE_API_KEY,
});

const { text } = await generateText({
model: sable("sable-llama-3.3-70b"),
prompt: "Draft a reply to this email.",
});
console.log(text);

LlamaIndex

Use OpenAILike for OpenAI-compatible endpoints — it skips the model-name allowlist that the stock OpenAI class enforces.

from llama_index.llms.openai_like import OpenAILike

llm = OpenAILike(
  model="sable-llama-3.3-70b",
  api_base="https://api.buildsable.com/v1",
  api_key="sk-sable_...",
  is_chat_model=True,
)

print(llm.complete("Extract the action items from these notes."))

CrewAI

CrewAI routes through LiteLLM. Prefix the model with openai/ so LiteLLM uses the OpenAI-compatible path, and point it at Sable.

from crewai import LLM

llm = LLM(
  model="openai/sable-llama-3.3-70b",
  base_url="https://api.buildsable.com/v1",
  api_key="sk-sable_...",
)

# Pass llm=llm to any Agent(...) you construct.

Anything else

If a tool takes an OpenAI base URL, it takes Sable. The official OpenAI SDKs, Instructor, Continue, Cline, OpenWebUI, the openai CLI: point the base URL at https://api.buildsable.com/v1, use your Sable key, and you're done. The Sable SDKs (@sable-network/sdk, sable-network) are thin wrappers that fill in the base URL for you.

Whichever framework makes the call, it still comes back with a signed receipt and still respects your per-key controls: spend caps, model allowlists, and expiry.