Nexevo.aiNexevo.ai

Gestión de recursos

Historial de conversaciones

Módulo opcional para la persistencia backend de la interfaz de usuario del chat. Cada conversación es un contenedor con título/metadatos. El mensaje adjunto no activa LLM, sino que solo persiste (se usa al finalizar el chat). Anexo de mensaje CRUD + completo.

python
conv = client.conversations.create(title="My Session")
client.conversations.append_message(
    conv["conversation_id"], role="user", content="Hello!",
)
all_convs = client.conversations.list(limit=20)
detail = client.conversations.get(conv["conversation_id"])
POST /conversations
titlestringOptional对话标题。可后续 update。
metadataobjectOptional任意 JSON,关联你自己的 user_id / session_id / topic 等。最大 4KB。
POST /conversations/{id}/messages
role"user" | "assistant" | "system" | "tool"Required消息角色。
contentstringRequired消息文本。注意:此 endpoint 只持久化,不触发 LLM。

Gestión de cuentas

Registro/Inicio de sesión/Restablecimiento de contraseña/2FA/Edición de perfil/Desactivación de autoservicio GDPR. La mayoría de los puntos finales son para flujos de aplicaciones web; La integración de backend es solo yo()/cambiar contraseña/2FA. Todos los puntos finales protegidos utilizan tokens de portador.

python
me = client.auth.me()
client.auth.update_profile(full_name="Jane Doe")
client.auth.change_password(
    current_password="old-pwd",
    new_password="new-pwd-123",
)
status = client.auth.two_fa_status()

Gestión de claves API

Cree/revoque dinámicamente una clave API y puede establecer un límite de consumo mensual (monthly_spend_cap_usd), un webhook de alarma por encima del umbral (solo HTTPS) y una política de enrutamiento geográfico (solo CN/solo en el extranjero/cualquiera). create() devuelve full_key solo una vez, asegúrese de guardarlo.

full_key se muestra solo una vez
La clave_completa devuelta por create() es la cadena completa sk-xc-..., que Nexevo nunca volverá a mostrar (solo se almacena el hash). Asegúrese de guardarlo en el administrador de claves o en el archivo .env inmediatamente después de crearlo. Si se pierde, sólo se puede deshacer y reconstruir.
python
new = client.keys.create(name="prod-2026")
print(new["full_key"])  # 只此一次显示

client.keys.update_spend_cap(
    new["key"]["key_id"],
    monthly_spend_cap_usd="100",
)

client.keys.update_alert_webhook(
    new["key"]["key_id"],
    url="https://your-app.com/billing-alert",
)
POST /keys
namestringRequiredKey 显示名(用于在 dashboard 区分)。1-100 字符。
PATCH /keys/{id}/spend-cap
monthly_spend_cap_usdstringOptional月度上限 USD,字符串保留精度(如 "100.00")。超 cap 后该 key 该月所有请求被拒。
clearbooleanDefault: falsetrue = 清除当前 cap(无限额)。

Factura/Uso/Recarga

Saldo, uso diario, desglose por nivel (by_tier: fast / balanced / passthrough / byok), recarga con Stripe. El nivel de facturación lo determina el campo model de la solicitud — model=nexevo/fast → tarifa plana fast; ID de modelo real → passthrough +5 %. Trata todas las cadenas monetarias como decimal — no las analices como float.

Utilice una cadena para la cantidad, no utilice parseFloat
Todos los montos (saldo_usd / costo / monto_usd) se devuelven como cadenas, conservando la precisión original (decimal). Direct parseFloat puede perder la mantisa, así que utilice la biblioteca Decimal/BigNumber en su lugar para sumar y restar.
python
bal   = client.billing.balance()
usage = client.billing.usage(days=7)
plan  = client.billing.get_plan()

hint = client.billing.upgrade_hint()
if hint["hint"]:
    print(f"建议: {hint['hint']['recommend_plan']}, "
          f"可省 {hint['hint']['savings_pct']}%")

session = client.billing.checkout(
    amount_usd=20,
    idempotency_key="topup-2026-04-27-001",
)
print(session["checkout_url"])
POST /billing/topup · POST /billing/checkout
amount_usdnumberRequired充值金额 USD,> 0。
idempotency_keystringRequired幂等 key,同 key 重试不会重复扣款。建议格式:topup-YYYY-MM-DD-序号。

Organización/Múltiples usuarios

Gestión multiusuario de cuentas comerciales. Admite tres roles: propietario/administrador/desarrollador, invitación de miembro/eliminación/transferencia de propiedad. Todas las claves y la facturación se comparten bajo el nombre de la organización, lo que es adecuado para el acceso del equipo de la empresa.

python
org = client.organizations.create("Acme Inc")

client.organizations.invite_member(
    org["organization"]["org_id"],
    email="dev@acme.com",
    role="developer",
)

members = client.organizations.list_members(org["organization"]["org_id"])

client.organizations.transfer_owner(
    org["organization"]["org_id"],
    new_owner_user_id="u_789",
)

Comentarios de RLHF

Obtenga Generation_id del encabezado de respuesta del chat X-Nexevo-Generation-Id, envíe el visto bueno hacia arriba o hacia abajo + comentario opcional + etiqueta. La retroalimentación va directamente al volante de datos y la ruta de autoaprendizaje la utilizará para optimizar futuras selecciones de modelos.

python
resp = client.chat.completions.create(
    model="nexevo/balanced",
    messages=[{"role": "user", "content": "Hello!"}],
)
gen_id = resp["nexevo"]["generation_id"]

client.feedback.submit(
    generation_id=gen_id,
    rating=1,
    comment="Helpful!",
    tags=["accurate"],
)

summary = client.feedback.summary(days=7)
POST /feedback
generation_idstringRequired从 chat 响应头 X-Nexevo-Generation-Id 或 SDK resp.nexevo.generation_id 拿。
rating1 | -1Required1 = 👍, -1 = 👎。
commentstringOptional可选自由文本(最多 ~2K 字符)。
tagsstring[]Optional可选标签。常用: accurate / incorrect / too_verbose / irrelevant
Los comentarios van directamente al enrutamiento de autoaprendizaje
Los pulgares hacia arriba/abajo enviados no son solo estadísticas: el enrutador de autoaprendizaje (bandit + ELO) los usará para ajustar futuros modelos de selección en tiempo real. Más comentarios = mejora automática en la calidad del producto.

Siguiente paso

Gestión de recursos — Nexevo Docs | Nexevo.ai