Inicio rápido
Haz tu primera llamada a Sonoe en pocos minutos: crea una cuenta, crea una key y haz una pregunta.
1. Crea una cuenta
Entra a sonoeai.com y regístrate con tu correo. Las cuentas nuevas empiezan en prueba con 5,000 tokens al mes, suficiente para unas decenas de solicitudes mientras pruebas.
2. Crea una API key
En la consola, abre API keys y elige Nueva key. Dale un nombre (por ejemplo, la app que la usará) y, si quieres, un límite mensual de tokens solo para esa key.
La key completa (sk_sonoe_…) se muestra una sola vez. Cópiala y guárdala como secreto en tu servidor:
export SONOE_API_KEY="sk_sonoe_..."3. Haz una pregunta
curl https://api.sonoeai.com/v1/systemone \
-H "Authorization: Bearer $SONOE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sonoe-latest",
"state": "Me cobraron dos veces y quiero mi dinero de vuelta.",
"questions": {
"equipo": {
"type": "choice",
"instructions": "¿Qué equipo debe atender esto?",
"criteria": { "facturacion": "Pagos, cobros, reembolsos", "envios": "Entregas", "ventas": null }
}
}
}'import os
import requests
r = requests.post(
"https://api.sonoeai.com/v1/systemone",
headers={"Authorization": f"Bearer {os.environ['SONOE_API_KEY']}"},
json={
"model": "sonoe-latest",
"state": "Me cobraron dos veces y quiero mi dinero de vuelta.",
"questions": {
"equipo": {
"type": "choice",
"instructions": "¿Qué equipo debe atender esto?",
"criteria": {"facturacion": "Pagos, cobros, reembolsos", "envios": "Entregas", "ventas": None},
}
},
},
timeout=10,
)
r.raise_for_status()
equipo = r.json()["answers"]["equipo"]
print(equipo["choice"], equipo["confidence"])const r = await fetch("https://api.sonoeai.com/v1/systemone", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SONOE_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "sonoe-latest",
state: "Me cobraron dos veces y quiero mi dinero de vuelta.",
questions: {
equipo: {
type: "choice",
instructions: "¿Qué equipo debe atender esto?",
criteria: { facturacion: "Pagos, cobros, reembolsos", envios: "Entregas", ventas: null },
},
},
}),
});
if (!r.ok) throw new Error(`Sonoe: ${r.status}`);
const { answers } = await r.json();
console.log(answers.equipo.choice, answers.equipo.confidence);La respuesta:
{
"model": "sonoe-1.1.0",
"answers": {
"equipo": {
"type": "choice",
"choice": "facturacion",
"probabilities": { "facturacion": 0.9927, "envios": 0.0045, "ventas": 0.0028 },
"confidence": 0.9561
}
},
"usage": { "input_tokens": 117, "output_tokens": 0 }
}4. O usa un SDK
Los SDK oficiales de TypeSafe funcionan con Sonoe tal como son. Instala uno y define dos variables de entorno:
pip install typesafe-sdk
export TYPESAFE_BASE_URL="https://api.sonoeai.com"
export TYPESAFE_API_KEY="$SONOE_API_KEY"from typesafe_sdk import Choice, TypeSafeClient
client = TypeSafeClient()
result = client.system_one(
"Me cobraron dos veces y quiero mi dinero de vuelta.",
{"equipo": Choice(instructions="¿Qué equipo debe atender esto?",
criteria={"facturacion": "Pagos, cobros, reembolsos", "envios": "Entregas", "ventas": None})},
)
print(result.choices["equipo"].choice)npm install @typesafe-ai/sdk
export TYPESAFE_BASE_URL="https://api.sonoeai.com"
export TYPESAFE_API_KEY="$SONOE_API_KEY"import { choice, TypeSafeClient } from "@typesafe-ai/sdk";
const client = new TypeSafeClient();
const { answers } = await client.systemOne({
state: "Me cobraron dos veces y quiero mi dinero de vuelta.",
questions: {
equipo: choice("¿Qué equipo debe atender esto?", {
facturacion: "Pagos, cobros, reembolsos",
envios: "Entregas",
ventas: null,
}),
},
});
console.log(answers.equipo.choice);Más en SDK y clientes.