Nexevo.aiNexevo.ai

Ressourcenmanagement

Gesprächsgeschichte

Optionales Modul für die Backend-Persistenz der Chat-Benutzeroberfläche. Jede Konversation ist ein Container mit Titel/Metadaten. Die angehängte Nachricht löst kein LLM aus, sondern bleibt nur bestehen (wird bei Chat-Abschlüssen verwendet). Vollständiges CRUD + Nachrichtenanhang.

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。

Kontoverwaltung

Registrierung/Login/Passwort-Reset/2FA/Profilbearbeitung/DSGVO-Self-Service-Deaktivierung. Die meisten Endpunkte sind für Webanwendungsflüsse vorgesehen. Backend-Integration ist nur me() / change-password / 2FA. Alle geschützten Endpunkte verwenden Bearer-Token.

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()

API-Schlüsselverwaltung

API-Schlüssel dynamisch erstellen/widerrufen und monatliches Verbrauchslimit (monthly_spend_cap_usd), Alarm-Webhook bei Überschreitung des Schwellenwerts (nur HTTPS) und geografische Routing-Richtlinie (nur CN / nur im Ausland / beliebig) festlegen. create() gibt full_key nur einmal zurück. Speichern Sie es unbedingt.

full_key wird nur einmal angezeigt
Der von create() zurückgegebene full_key ist der vollständige String sk-xc-..., den Nexevo nie wieder anzeigen wird (nur der Hash wird gespeichert). Stellen Sie sicher, dass Sie die Datei sofort nach der Erstellung im Schlüsselmanager oder in der .env-Datei speichern. Bei Verlust kann es nur rückgängig gemacht und neu aufgebaut werden.
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(无限额)。

Rechnung/Nutzung/Aufladen

Saldo, Tagesnutzung, Aufschlüsselung nach Tier (by_tier: fast / balanced / passthrough / byok), Stripe-Aufladung. Der Abrechnungs-Tier wird durch das model-Feld der Anfrage bestimmt — model=nexevo/fast → fast Pauschalpreis; eine echte Modell-ID → passthrough +5 %. Behandle alle Geldzeichenketten als decimal — parse sie nicht als float.

Verwenden Sie eine Zeichenfolge für den Betrag, verwenden Sie nicht parseFloat
Alle Beträge (balance_usd / cost / amount_usd) werden als Zeichenfolgen zurückgegeben, wobei die ursprüngliche Genauigkeit (Dezimalzahl) beibehalten wird. Bei direktem parseFloat geht möglicherweise die Mantisse verloren. Verwenden Sie daher stattdessen die Decimal/BigNumber-Bibliothek für Addition und Subtraktion.
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-序号。

Organisation/Mehrere Benutzer

Mehrbenutzerverwaltung von Geschäftskonten. Unterstützt drei Rollen: Eigentümer/Administrator/Entwickler, Mitgliedereinladung/Entfernung/Eigentumsübertragung. Alle Schlüssel und Abrechnungen werden unter dem Organisationsnamen geteilt und sind für den Zugriff durch das Unternehmensteam geeignet.

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",
)

RLHF-Feedback

Rufen Sie generation_id aus dem Chat-Antwort-Header X-Nexevo-Generation-Id ab, senden Sie Daumen hoch/runter + optionalen Kommentar + Tag. Das Feedback geht direkt an das Datenschwungrad und das selbstlernende Routing wird es nutzen, um zukünftige Modellauswahlen zu optimieren.

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
Das Feedback fließt direkt in das selbstlernende Routing ein
Eingereichte Daumen hoch/runter sind nicht nur Statistiken – der selbstlernende Router (Bandit + ELO) wird sie nutzen, um zukünftige Auswahlmodelle in Echtzeit anzupassen. Mehr Feedback = automatische Verbesserung der Produktqualität.

Nächster Schritt

Ressourcenmanagement — Nexevo Docs | Nexevo.ai