Respan: Span-01 Lite
Span-01 Lite est le profil de notation des comportements de Respan, désigné sous un nom distinct, pour les conversations textuelles et les traces d’agents. Il s’appuie sur des comportements définis par l’appelant et renvoie pour chacun les probabilités présent, absent et non observable, selon le même processus de notation documenté que Span-01.
À propos du modèle
Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.
Span-01 Lite est un profil de modèle désigné sous un nom distinct au sein de la famille Span-01 de Respan, consacrée à la notation des comportements. Le guide de démarrage rapide et le tableau des modèles de l’éditeur présentent Lite comme l’un des deux profils qui partagent le même processus de notation. Il reçoit une interaction textuelle et des définitions de comportements rédigées en langage courant, puis renvoie trois probabilités pour chaque définition : présent, absent et non observable. La sortie utile du profil est un relevé de comportements assorti d’une incertitude explicite, et non une réponse rédigée à la conversation.
Choisir l’observation et ses limites
Définissez le comportement avec les termes qui correspondent à votre tâche. Pour un contrôle de transfert vers un humain, précisez s’il s’agit du cas où l’utilisateur demande explicitement à parler à une personne, de celui où l’assistant indique qu’un transfert est nécessaire, ou de l’une ou l’autre de ces conditions. Si une simple déception ne doit pas compter, indiquez-le. Pour un contrôle d’excuses, définissez quelle formulation constitue une excuse plutôt que de vous fier à une étiquette imprécise. Chaque définition possède un identifiant que l’outil de notation renvoie avec ses probabilités.
L’ensemble des comportements appartient à l’appelant. Des exemples comme la frustration, les promesses non fondées, le mauvais usage d’outils ou les actions répétitives d’un agent sont des définitions à fournir, et non une liste fixe de catégories natives. Veillez à ce que chaque définition soit observable dans l’interaction fournie. Un segment court peut suffire à établir si l’assistant s’est excusé tout en ne contenant aucun élément prouvant qu’un problème externe a réellement été résolu.
Préparer le segment de conversation
Dans l’entrée documentée par Respan, les messages précédents figurent dans span.input et le tour évalué dans span.output. Le contenu d’un message est une chaîne de caractères. Conservez le contexte nécessaire pour comprendre le tour, notamment les rôles des interlocuteurs, la demande pertinente de l’utilisateur et tout élément textuel sur lequel l’assistant s’est appuyé. Pour un contrôle qualité, fournissez le tour réel plutôt qu’une paraphrase qui ferait disparaître le comportement évalué.
Une revue illustrative peut porter sur un message d’utilisateur décrivant des difficultés répétées et une réponse de l’assistant proposant d’enquêter. Définissez la frustration de l’utilisateur et une promesse de l’assistant comme des observations distinctes. Si le résultat d’un outil compte pour juger si une affirmation était fondée, conservez le texte pertinent de ce résultat dans le contexte. La sortie est une évaluation de ces définitions dans le segment fourni ; le modèle ne mène pas l’enquête promise et ne modifie pas la conversation elle-même.
Présent, absent et non observable
La réponse de notation contient l’identifiant du comportement avec p_present, p_absent et p_not_observable, dont la somme est d’environ 1. Non observable signifie que la trace ne permet pas de répondre à la question. Cette valeur se distingue d’absent. Pour une définition telle que l’acceptation d’une solution par le client, un segment qui se termine avant la réaction du client constitue un élément incomplet, même si la réponse de l’assistant paraît assurée.
Conservez les trois valeurs lorsque vous préparez un résultat en vue d’une revue. Une catégorie choisie d’après la valeur la plus élevée peut être utile pour un affichage, mais la distribution conserve le degré d’incertitude de l’observation. N’utilisez pas une faible valeur de présence à elle seule pour conclure que le comportement ne s’est certainement pas produit. Lorsque l’absence d’éléments domine, l’action utile peut consister à obtenir le contexte pertinent ou à conserver le résultat comme inconnu plutôt qu’à inventer une explication.
Plusieurs définitions sur les mêmes éléments
Le processus de notation de l’éditeur évalue plusieurs définitions de comportements ensemble sur une même trace et renvoie un résultat pour chaque identifiant, dans l’ordre de la requête. Sa documentation ne fixe aucun plafond du nombre de comportements par requête. Cela n’établit ni une fenêtre de tokens universelle ni une taille de trace illimitée. Gardez des définitions ciblées et des éléments pertinents, et conservez l’association entre chaque résultat renvoyé et la définition qui l’a produit.
Les résultats par comportement sont des observations indépendantes et non une réponse unique à choix exclusif. La frustration, une excuse et une proposition de transfert peuvent toutes être présentes dans le même échange. Leurs distributions individuelles à trois issues ont un sens au sein de chaque définition ; additionner les valeurs de présence de différents comportements ne produit ni une distribution de catégories normalisée ni un score ordonné sur une grille d’évaluation.
Conserver le profil sélectionné avec ses résultats
Le concepteur documente les noms Lite et standard avec une forme de requête et de résultat commune. Ce contrat permet de préparer les traces et d’interpréter les probabilités de comportement pour l’un ou l’autre des profils nommés. Il n’établit pas que Lite possède les mêmes poids, le même nombre de paramètres ou la même qualité que l’autre édition. Gardez le profil sélectionné identifiable lors de la revue de ses résultats plutôt que d’échanger silencieusement des résultats issus d’éditions différentes.
Utilisez des conversations étiquetées issues de la tâche visée pour choisir les seuils de journalisation, de routage ou de revue. Conservez pour inspection les résultats à forte probabilité non observable et les observations limites, et comparez toute erreur apparente avec le tour d’origine et la définition du comportement. L’artefact final utile contient l’identifiant du segment de texte, la définition, le profil sélectionné et le résultat probabiliste complet à trois issues. Une étape ultérieure de l’application décide de la suite à donner à cette observation ; la sortie de notation de Lite n’exécute pas elle-même un transfert, ne bloque pas une réponse et ne génère pas de correction.
Ailoot Ultra · System One POST /v1/systemone respan/span-01-lite
respan/span-01-litePremiers pas
Span-01 Lite est le profil de notation des comportements de Respan, désigné sous un nom distinct, pour les conversations textuelles et les traces d’agents. Il s’appuie sur des comportements définis par l’appelant et renvoie pour chacun les probabilités présent, absent et non observable, selon le même processus de notation documenté que Span-01.
- Entrées acceptées
- Texte
- Résultats
- decisions
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · System One POST /v1/systemone
- Types d’entrée
text- Types de sortie
decisions- Format de sortie
- json
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites respan/span-01-lite | Par défaut— |
Champprovider | Typeschema | ExigenceFacultatif | Valeurs et limites | Par défaut— |
Champquestions | Typeobject | ExigenceObligatoire | Valeurs et limites | Par défaut— |
Champsession_id | Typestring | ExigenceFacultatif | Valeurs et limites | Par défaut— |
Champstate | Typeschema | ExigenceObligatoire | Valeurs et limites | Par défaut— |
Champtrace | Typeschema | ExigenceFacultatif | Valeurs et limites | Par défaut— |
Champuser | Typestring | ExigenceFacultatif | Valeurs et limites | Par défaut— |
Champquestions.<id>.type | Typestring | ExigenceObligatoire | Valeurs et limites noul, choice, score | Par défaut— |
Champquestions.<id>.instructions | Typestring|object|array | ExigenceObligatoire | Valeurs et limites | Par défaut— |
Champquestions.<id>.criteria | Typeobject|array | ExigenceFacultatif | Valeurs et limites Conditions: choice/score : obligatoires ; noul : facultatif. Les critères de choice forment un objet ; score est un tableau avec minItems égal à 1. | Par défaut— |
Champquestions.<id>.criteria.true | Typestring|object|array | ExigenceObligatoire | Valeurs et limites S’applique lorsque: objet de critères noul fourni | Par défaut— |
Champquestions.<id>.criteria.false | Typestring|object|array | ExigenceObligatoire | Valeurs et limites S’applique lorsque: objet de critères noul fourni | Par défaut— |
Combinaisons d’éléments d’entrée
noul · Obligatoire : state, questions.<id>.type=noul, questions.<id>.instructions
choice · Obligatoire : state, questions.<id>.type=choice, questions.<id>.instructions, criteria object
score · Obligatoire : state, questions.<id>.type=score, questions.<id>.instructions, criteria array with minItems1
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, state, questions |
Paramètrematerial_types | Contrattext |
Paramètreoptional_controls | Contratprovider, session_id, trace, user |
Paramètremultimodal_input_binding | Contratnull |
Cycle de vie : synchronous
Envoyez l’identifiant exact du modèle et conservez la réponse native complète.
Tarifs
Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.
- Mode rapide
- Non précisé Lorsque le mode rapide est sélectionné
- Mode Flex
- Non précisé Lorsque le mode flex est sélectionné
- Effort de raisonnement maximal
- Non précisé Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)
Tarifs Ailoot
Prix par configuration
Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.
| Configuration | Barème tarifaire | Tokens de contexte, plus de | Tokens de contexte, jusqu’à la limite incluse | Coût |
|---|---|---|---|---|
| ConfigurationTarifs de base des tokens | Barème tarifaireTarif de base | Tokens de contexte, plus de— | Tokens de contexte, jusqu’à la limite incluseSans borne supérieure | Coût Entrée · Tokens en entrée $0 / 1K tokens Sortie · Tokens en sortie $0 / 1K tokens Entrée · Lecture du cache — / 1K tokens Entrée · Écriture dans le cache — / 1K tokens Entrée · Écriture dans le cache, 1 h — / 1K tokens |
| ConfigurationPalier 1 de longueur de requête | Barème tarifaire— | Tokens de contexte, plus de0 | Tokens de contexte, jusqu’à la limite incluseSans borne supérieure | Coût Entrée · Tokens en entrée $0 / 1K tokens Sortie · Tokens en sortie $0 / 1K tokens Entrée · Lecture du cache — / 1K tokens Entrée · Écriture dans le cache — / 1K tokens Entrée · Écriture dans le cache, 1 h — / 1K tokens |
Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →
Exemples de requêtes
Ailoot Ultra · System One
{
"model": "respan/span-01-lite",
"questions": {
"is_bug": {
"criteria": {
"false": "The customer is asking a question or requesting a feature.",
"true": "The customer describes broken or unexpected product behavior."
},
"instructions": "Is the customer reporting a software defect?",
"type": "noul"
},
"team": {
"criteria": {
"account": "Login, permissions, or profile issues.",
"frontend": "Rendering, layout, or browser compatibility issues.",
"payments": "Checkout, billing, or payment processing issues."
},
"instructions": "Which team should own this ticket?",
"type": "choice"
},
"urgency": {
"criteria": [
"Can wait for the next release",
"Should be fixed this week",
"Blocking revenue right now"
],
"instructions": "How urgent is this ticket?",
"type": "score"
}
},
"state": {
"customer_tier": "enterprise",
"ticket": "My checkout page shows a blank screen after I click Pay. I have tried two browsers."
}
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_REQUEST_FILE:?Set your actual JSON request file}"
export AILOOT_REQUEST_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads(Path(os.environ['AILOOT_REQUEST_FILE']).read_text(encoding='utf-8'))
if not isinstance(p,dict): raise SystemExit('Request must be a JSON object')
p['model']='respan/span-01-lite'
Path('request.json').write_text(json.dumps(p,ensure_ascii=False),encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/systemone \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path('result.json').read_text()),ensure_ascii=False,indent=2))
PY_RESULT
Recevoir et enregistrer les résultats
Ailoot Ultra · System One
json
Conserver tous les résultats terminés
Conservez chaque réponse, fichier et partie de contenu renvoyés dans leur intégralité.
Chaque réponse fournie pour un identifiant de question est conservée avec son type exact, sa valeur noul/choice/score, son degré de confiance, ses probabilités et sa légende. L’intégralité du JSON d’origine est enregistrée et renvoyée uniquement après le règlement.
Si la réponse d’origine doit être vérifiée
Conservez l’opération d’origine et la réponse complète ou partielle ; ne rejouez pas le POST.
Champs de la réponse
| Champ | Type |
|---|---|
Champmodel | Typestring |
Champid | Typestring |
Champprovider | Typestring |
Champanswers.<id>.type | Typestring |
Champanswers.<id>.noul | Typenumber |
Champanswers.<id>.choice | Typestring |
Champanswers.<id>.score | Typenumber |
Champanswers.<id>.confidence | Typenumber |
Champanswers.<id>.probabilities | Typeobject |
Champanswers.<id>.legend | Typeobject |
Champusage.input_tokens | Typeinteger |
Champusage.output_tokens | Typeinteger |
Champusage.cost | Typenumber |
Erreurs et étapes suivantes
| Réponse | Condition | Étape suivante |
|---|---|---|
Réponse400 · invalid_request_error | ConditionChamp obligatoire, représentation ou valeur non valide | Étape suivanteCorrigez le champ de requête indiqué. |
Alias
Alias du modèle
Ailoot Ultra respan/span-01-lite
Alias des chemins de méthode
Utilisez les chemins de méthode indiqués ci-dessus.
ID d’appel associés
FAQ · Respan: Span-01 Lite
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/systemone·respan/span-01-lite:text→decisions- Quels champs la requête utilise-t-elle ?
POST /v1/systemone·respan/span-01-lite:model,provider,questions,session_id,state,trace,user