Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La API System One de TypeSafe es un formato de solicitud y respuesta para evaluar el estado de la aplicación frente a preguntas tipadas y devolver respuestas estructuradas. En Azure Databricks, envías las solicitudes de System One a través de Unity Gateway a un servicio modelo de Unity Catalog alojado por Databricks, no a un modelo TypeSafe. Por ejemplo, OpenJev (Qwen3.5 4B) es un modelo abierto basado en Qwen3.5 que soporta la API System One.
Utiliza la API de System One cuando una aplicación necesita una decisión compacta y estructurada en lugar de prosa generada. Puede ser una buena opción cuando el tiempo de respuesta importa, por ejemplo para decidir si una solicitud debe escalarse, elegir una etiqueta de enrutamiento o puntuarla con una rúbrica. El tiempo de respuesta depende del servicio del modelo y de la carga de solicitudes.
Para las decisiones sobre filas de tablas en SQL, consulte la función ai_decide.
Requisitos
- Un espacio de trabajo habilitado para Unity Catalog y Unity Gateway.
- Un servicio de modelo de Unity Catalog respaldado por un modelo compatible con System One. El ejemplo utiliza el
openjev-qwen35-4bservicio modelo, cuyo nombre totalmente cualificado essystem.ai.openjev-qwen35-4b. - Permiso para ejecutar el servicio de modelo.
La ruta System One requiere un servicio de modelos de Unity Catalog. No soporta un servicio de proveedor de modelos ni un punto final que no sea Unity Catalog.
Consulta de un servicio modelo
El cuerpo de la solicitud contiene el nombre del servicio de modelo completamente cualificado, el estado a evaluar y una o más preguntas con nombre. Cada pregunta utiliza uno de los tipos noul, choice o score.
La siguiente solicitud incluye una pregunta de cada tipo:
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "system.ai.openjev-qwen35-4b",
"state": {
"message": "My card was charged twice for the same order and I need a refund.",
"channel": "support"
},
"questions": {
"is_billing": {
"type": "noul",
"instructions": "Is this a billing-related request?",
"criteria": {
"true": "The message concerns a charge, payment, invoice, or refund.",
"false": "The message does not concern billing."
}
},
"intent": {
"type": "choice",
"instructions": "Which intent best matches the message?",
"criteria": {
"refund": "The customer requests a refund.",
"duplicate_charge": "The customer reports being charged more than once.",
"other": "Another request."
}
},
"urgency": {
"type": "score",
"instructions": "How urgent is the request?",
"criteria": [
"Can wait",
"Needs attention soon",
"Urgent"
]
}
}
}' \
https://<workspace_host>/ai-gateway/typesafe/v1/systemone
Utilice el nombre completo del servicio de modelo de Unity Catalog, system.ai.openjev-qwen35-4b, en el campo model de la solicitud.
Campos de solicitud
| Campo | Tipo | Description |
|---|---|---|
model |
String | El nombre completo del servicio de modelo de Unity Catalog, como system.ai.openjev-qwen35-4b. |
state |
Cadena, objeto o array | El contenido para evaluar. Use una cadena para texto o datos estructurados para registros, conversaciones o estado de la aplicación. |
questions |
Object | Un mapa no vacío de IDs de preguntas a definiciones de preguntas. La respuesta utiliza los mismos IDs en el answers objeto. |
Cada pregunta tiene un type, un instructions opcional y un criteria específico del tipo:
Preguntas noul
Una noul pregunta devuelve la probabilidad de que la respuesta sea sí. El objeto opcional criteria describe qué significan true y false. Proporciona instructions o una descripción para true o false. La respuesta contiene un noul número del 0 (no) al 1 (sí).
Preguntas de opción
Una pregunta choice permite seleccionar una opción del objeto criteria. Cada opción se asigna a una descripción o a null cuando no se necesita ninguna descripción adicional. Defina de 1 a 255 opciones. La respuesta contiene el choice seleccionado, una probabilidad para cada opción y un valor confidence.
Puntuar preguntas
Una pregunta score califica el estado respecto a una matriz criteria ordenada. La respuesta contiene una score ponderada por probabilidad, una legend que asigna los índices de nivel a los criterios, probabilidades para cada nivel y un valor de confidence. Defina de 1 a 10 niveles.
Formato de respuesta
La respuesta contiene el identificador del modelo y una respuesta para cada pregunta en answers. El uso de tokens aparece en usage, con input_tokens y output_tokens:
{
"model": "<returned-model-id>",
"answers": {
"is_billing": {
"type": "noul",
"noul": 0.98
},
"intent": {
"type": "choice",
"choice": "duplicate_charge",
"confidence": 0.965,
"probabilities": {
"refund": 0.023,
"duplicate_charge": 0.977,
"other": 0.0002
}
},
"urgency": {
"type": "score",
"score": 1.902,
"confidence": 0.852,
"legend": {
"0": "Can wait",
"1": "Needs attention soon",
"2": "Urgent"
},
"probabilities": {
"0": 0.0069,
"1": 0.0845,
"2": 0.9086
}
}
},
"usage": {
"input_tokens": 238,
"output_tokens": 0
}
}
Esta respuesta se basa en la petición anterior, con los valores numéricos redondeados. Las respuestas, probabilidades, valores de confianza, conteos de tokens y el identificador del modelo devuelto varían según la solicitud y el backend. El valor de respuesta model identifica el modelo reportado por el backend y puede diferir del nombre de servicio modelo totalmente cualificado de la solicitud.
Errores de solicitud
Para los errores de validación de la solicitud, la ruta devuelve HTTP 422 con un detail array que describe la solicitud inválida.