Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
System One API firmy TypeSafe to format żądań i odpowiedzi służący do oceny stanu aplikacji względem pytań o określonych typach oraz zwracania ustrukturyzowanych odpowiedzi. W Azure Databricks wysyłasz żądania System One przez Unity Gateway do usługi modelu Unity Catalog hostowanej przez Databricks, a nie do modelu TypeSafe. Na przykład OpenJev (Qwen3.5 4B) to otwarty model oparty na Qwen3.5, który obsługuje API System One.
Korzystaj z interfejsu API System One, gdy aplikacja potrzebuje zwięzłej, uporządkowanej decyzji zamiast generowanego tekstu. Może to być dobre dopasowanie, gdy liczy się czas odpowiedzi, na przykład do decyzji, czy żądanie wymaga eskalacji, wyboru etykiety routingu lub oceny według rubryki. Czas reakcji zależy od usługi modelu i obciążenia żądań.
W przypadku decyzji dotyczących wierszy tabeli w SQL zobacz ai_decidefunkcję.
Requirements
- Przestrzeń robocza obsługująca Unity Catalog i Unity Gateway.
- Usługa modelu katalogu Unity wspierana modelem zgodnym z System One. Przykład wykorzystuje usługę modelu
openjev-qwen35-4b, której pełna kwalifikowana nazwa tosystem.ai.openjev-qwen35-4b. - Uprawnienie do uruchamiania usługi modelu.
Ścieżka System One wymaga usługi modelu Unity Catalog. Nie obsługuje usługi dostawcy modelu ani punktu końcowego obsługującego Unity Catalog.
Wykonaj zapytanie do usługi modelu
Treść żądania zawiera w pełni kwalifikowaną nazwę usługi modelu, stan do oceny oraz jedno lub więcej nazwanych pytań. Każde pytanie używa jednego z typów noul, choice, lub score .
Poniższe żądanie zawiera po jednym pytaniu każdego typu:
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
Użyj w pełni kwalifikowanej nazwy usługi modelu Unity Catalog, system.ai.openjev-qwen35-4b, w polu model żądania.
Pola żądania
| Pole | Typ | Description |
|---|---|---|
model |
String | W pełni kwalifikowana nazwa modelu usługi Unity Catalog, taka jak system.ai.openjev-qwen35-4b. |
state |
Ciąg znaków, obiekt lub tablica | Treść do oceny. Użyj ciągu znaków dla tekstu lub danych strukturalnych dla rekordów, rozmów lub stanu aplikacji. |
questions |
Object | Niepusta mapa identyfikatorów pytań na definicje pytań. Odpowiedź używa tych samych identyfikatorów w obiekcie answers. |
Każde pytanie ma type, opcjonalne instructions, oraz specyficzne criteriadla typu:
Pytania Noul
Pytanie noul zwraca prawdopodobieństwo, że odpowiedź brzmi tak. Obiekt opcjonalny criteria opisuje, co znaczą true i false. Dostarcz albo instructions lub opis dla true lub false. Odpowiedź zawiera liczbę noul od 0 (nie) do 1 (tak).
Pytania z wyborem
Pytanie choice, które pozwala wybrać jedną opcję z obiektu criteria. Każda opcja odpowiada opisowi lub null, gdy dodatkowy opis nie jest potrzebny. Zdefiniuj 1–255 opcji. Odpowiedź zawiera wybrane choice, prawdopodobieństwo dla każdej opcji oraz wartość confidence .
Oceń pytania
Pytanie oceniające score stan względem uporządkowanej criteria tablicy. Odpowiedź zawiera ważone prawdopodobieństwem score, element legend, który mapuje indeksy poziomów na kryteria, prawdopodobieństwa dla każdego poziomu oraz wartość confidence. Zdefiniuj od 1 do 10 poziomów.
Format odpowiedzi
Odpowiedź zawiera identyfikator modelu oraz jedną odpowiedź na każde pytanie w answers. Użycie tokena pojawia się w usage, z input_tokens i 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
}
}
Ta odpowiedź opiera się na powyższym żądaniu, z zaokrągleniem wartości liczbowych. Odpowiedzi, prawdopodobieństwa, wartości pewności, liczba tokenów oraz zwrócony identyfikator modelu różnią się w zależności od żądania i backendu. Wartość response model identyfikuje model raportowany przez backend i może różnić się od tej w pełni kwalifikowanej nazwy modelu usługi żądania.
Błędy żądań
W przypadku błędów walidacji żądań trasa zwraca HTTP 422 wraz z tablicą detail, opisującą nieprawidłowe żądanie.