Uwaga
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.
Ważne
Ta funkcja jest dostępna w wersji beta.
Monitorowanie produkcji umożliwia ciągłą ocenę jakości aplikacji GenAI przez automatyczne uruchamianie punktów oceny na żywo. Usługa monitorowania jest uruchamiana co 15 minut, oceniając konfigurowalną próbkę śladów przy użyciu takich samych ocen, jakich używasz w trakcie rozwoju.
Jak to działa
Po włączeniu monitorowania produkcyjnego dla eksperymentu MLflow:
- Automatyczne wykonywanie — zadanie w tle jest uruchamiane co 15 minut (po początkowej konfiguracji)
- Ocena skorelowana — każdy skonfigurowany moduł oceniania jest uruchamiany na próbce śladów produkcyjnych
- Załącznik opinii — wyniki są dołączane jako opinie do każdego ocenianego śladu
- Archiwizowanie danych — wszystkie ślady (nie tylko próbkowane) są zapisywane w Tabeli Delty w Katalogu Unity na potrzeby analizy
Usługa monitorowania zapewnia spójną ocenę przy użyciu tych samych punktów oceny z programowania, zapewniając automatyczną ocenę jakości bez ręcznej interwencji.
Ostrzeżenie
Obecnie monitorowanie produkcyjne obsługuje tylko wstępnie zdefiniowane oceny. Skontaktuj się z przedstawicielem konta usługi Databricks, jeśli musisz uruchomić niestandardowe wskaźniki oparte na kodzie lub oparte na języku LLM w środowisku produkcyjnym.
Referencja API
utwórz_monitor_zewnętrzny
Tworzy monitor dla aplikacji GenAI obsługiwanej poza usługą Databricks. Po utworzeniu monitor rozpoczyna automatyczne ocenianie śladów zgodnie z skonfigurowanym pakietem oceny.
# These packages are automatically installed with mlflow[databricks]
from databricks.agents.monitoring import create_external_monitor
create_external_monitor(
*,
catalog_name: str,
schema_name: str,
assessments_config: AssessmentsSuiteConfig | dict,
experiment_id: str | None = None,
experiment_name: str | None = None,
) -> ExternalMonitor
Parametry
Parametr | Typ | Opis |
---|---|---|
catalog_name |
str |
Nazwa katalogu Unity, w którym zostanie utworzona tabela archiwum śladów |
schema_name |
str |
Nazwa schematu w Unity Catalog, w którym zostanie utworzona tabela archiwum trasowania |
assessments_config |
AssessmentsSuiteConfig lub dict |
Konfiguracja zestawu testów do przeprowadzenia na danych śladowych |
experiment_id |
str lub None |
Identyfikator eksperymentu MLflow do skojarzenia z monitorem. Domyślnie jest to aktualnie aktywny eksperyment |
experiment_name |
str lub None |
Nazwa eksperymentu MLflow do skojarzenia z monitorem. Domyślnie jest to aktualnie aktywny eksperyment |
Zwraca
ExternalMonitor
— Utworzony obiekt monitora zawierający identyfikator eksperymentu, konfigurację i adresy URL monitorowania
Przykład
import mlflow
from databricks.agents.monitoring import create_external_monitor, AssessmentsSuiteConfig, BuiltinJudge, GuidelinesJudge
# Create a monitor with multiple scorers
external_monitor = create_external_monitor(
catalog_name="workspace",
schema_name="default",
assessments_config=AssessmentsSuiteConfig(
sample=0.5, # Sample 50% of traces
assessments=[
BuiltinJudge(name="safety"),
BuiltinJudge(name="relevance_to_query"),
BuiltinJudge(name="groundedness", sample_rate=0.2), # Override sampling for this scorer
GuidelinesJudge(
guidelines={
"mlflow_only": [
"If the request is unrelated to MLflow, the response must refuse to answer."
],
"professional_tone": [
"The response must maintain a professional and helpful tone."
]
}
),
],
),
)
print(f"Monitor created for experiment: {external_monitor.experiment_id}")
print(f"View traces at: {external_monitor.monitoring_page_url}")
pobierz_zewnętrzny_monitor
Pobiera istniejący monitor dla aplikacji GenAI obsługiwanej poza usługą Databricks.
# These packages are automatically installed with mlflow[databricks]
from databricks.agents.monitoring import get_external_monitor
get_external_monitor(
*,
experiment_id: str | None = None,
experiment_name: str | None = None,
) -> ExternalMonitor
Parametry
Parametr | Typ | Opis |
---|---|---|
experiment_id |
str lub None |
Identyfikator eksperymentu MLflow skojarzonego z monitorem |
experiment_name |
str lub None |
Nazwa eksperymentu MLflow skojarzonego z monitorem |
Zwraca
ExternalMonitor
- Pobrany obiekt monitora
Podnosi
-
ValueError
- Gdy ani experiment_id, ani experiment_name nie są podane -
NoMonitorFoundError
- Kiedy nie znaleziono monitora dla danego eksperymentu
Przykład
from databricks.agents.monitoring import get_external_monitor
# Get monitor by experiment ID
monitor = get_external_monitor(experiment_id="123456789")
# Get monitor by experiment name
monitor = get_external_monitor(experiment_name="my-genai-app-experiment")
# Access monitor configuration
print(f"Sampling rate: {monitor.assessments_config.sample}")
print(f"Archive table: {monitor.trace_archive_table}")
aktualizuj_zewnętrzny_monitor
Aktualizuje konfigurację istniejącego monitora. Konfiguracja jest całkowicie zastępowana (nie scalona) nowymi wartościami.
# These packages are automatically installed with mlflow[databricks]
from databricks.agents.monitoring import update_external_monitor
update_external_monitor(
*,
experiment_id: str | None = None,
experiment_name: str | None = None,
assessments_config: AssessmentsSuiteConfig | dict,
) -> ExternalMonitor
Parametry
Parametr | Typ | Opis |
---|---|---|
experiment_id |
str lub None |
Identyfikator eksperymentu MLflow skojarzonego z monitorem |
experiment_name |
str lub None |
Nazwa eksperymentu MLflow skojarzonego z monitorem |
assessments_config |
AssessmentsSuiteConfig lub dict |
Zaktualizowana konfiguracja, która całkowicie zastąpi istniejącą konfigurację |
Zwraca
ExternalMonitor
- Zaktualizowany obiekt monitora
Podnosi
-
ValueError
- Gdy nie podano assessments_config
usuń_zewnętrzny_monitor
Usuwa monitor dla aplikacji GenAI działającej poza środowiskiem Databricks.
# These packages are automatically installed with mlflow[databricks]
from databricks.agents.monitoring import delete_external_monitor
delete_external_monitor(
*,
experiment_id: str | None = None,
experiment_name: str | None = None,
) -> None
Parametry
Parametr | Typ | Opis |
---|---|---|
experiment_id |
str lub None |
Identyfikator eksperymentu MLflow skojarzonego z monitorem |
experiment_name |
str lub None |
Nazwa eksperymentu MLflow skojarzonego z monitorem |
Przykład
from databricks.agents.monitoring import delete_external_monitor
# Delete monitor by experiment ID
delete_external_monitor(experiment_id="123456789")
# Delete monitor by experiment name
delete_external_monitor(experiment_name="my-genai-app-experiment")
Klasy konfiguracji
KonfiguracjaPakietuOcen
Konfiguracja zestawu testów, które mają być uruchamiane na śladach z aplikacji GenAI.
# These packages are automatically installed with mlflow[databricks]
from databricks.agents.monitoring import AssessmentsSuiteConfig
@dataclasses.dataclass
class AssessmentsSuiteConfig:
sample: float | None = None
paused: bool | None = None
assessments: list[AssessmentConfig] | None = None
Atrybuty
Atrybut | Typ | Opis |
---|---|---|
sample |
float lub None |
Globalna częstotliwość próbkowania z zakresu od 0,0 do 1,0 (włącznie). Poszczególne oceny mogą to zastąpić |
paused |
bool lub None |
Czy monitorowanie jest wstrzymane |
assessments |
list[AssessmentConfig] lub None |
Lista analiz do uruchomienia na śladach |
Metody
from_dict
Tworzy element AssessmentsSuiteConfig z reprezentacji słownikowej.
@classmethod
def from_dict(cls, data: dict) -> AssessmentsSuiteConfig
pobierz_wytyczne_sędzia
Zwraca pierwszy element GuidelinesJudge z listy ocen lub Brak, jeśli nie zostanie znaleziony.
def get_guidelines_judge(self) -> GuidelinesJudge | None
Przykład
from databricks.agents.monitoring import AssessmentsSuiteConfig, BuiltinJudge, GuidelinesJudge
# Create configuration with multiple assessments
config = AssessmentsSuiteConfig(
sample=0.3, # Sample 30% of all traces
assessments=[
BuiltinJudge(name="safety"),
BuiltinJudge(name="relevance_to_query", sample_rate=0.5), # Override to 50%
GuidelinesJudge(
guidelines={
"accuracy": ["The response must be factually accurate"],
"completeness": ["The response must fully address the user's question"]
}
)
]
)
# Create from dictionary
config_dict = {
"sample": 0.3,
"assessments": [
{"name": "safety"},
{"name": "relevance_to_query", "sample_rate": 0.5}
]
}
config = AssessmentsSuiteConfig.from_dict(config_dict)
BuiltinJudge
Konfiguracja wbudowanego sędziego do uruchamiania na śladach.
# These packages are automatically installed with mlflow[databricks]
from databricks.agents.monitoring import BuiltinJudge
@dataclasses.dataclass
class BuiltinJudge:
name: Literal["safety", "groundedness", "relevance_to_query", "chunk_relevance"]
sample_rate: float | None = None
Atrybuty
Atrybut | Typ | Opis |
---|---|---|
name |
str |
Nazwa wbudowanego sędziego. Musi być jednym z: "safety" , , "groundedness" , "relevance_to_query" "chunk_relevance" |
sample_rate |
float lub None |
Opcjonalna częstotliwość próbkowania dla tego konkretnego sędziego (od 0,0 do 1,0) |
Dostępni sędziowie wbudowani
-
safety
- Wykrywa szkodliwą lub toksyczną zawartość w odpowiedziach -
groundedness
- Ocenia, czy odpowiedzi są uziemione w kontekście pobranym (aplikacje RAG) -
relevance_to_query
— Sprawdza, czy odpowiedzi odpowiadają na żądanie użytkownika -
chunk_relevance
- Ocenia istotność każdego pobranego fragmentu (aplikacje RAG)
Wytyczne Sędzia
Konfiguracja oceny zgodności wytycznych w celu oceny niestandardowych reguł biznesowych.
# These packages are automatically installed with mlflow[databricks]
from databricks.agents.monitoring import GuidelinesJudge
@dataclasses.dataclass
class GuidelinesJudge:
guidelines: dict[str, list[str]]
sample_rate: float | None = None
name: Literal["guideline_adherence"] = "guideline_adherence" # Set automatically
Atrybuty
Atrybut | Typ | Opis |
---|---|---|
guidelines |
dict[str, list[str]] |
Słownik mapujący nazwy wytycznych na listy opisów wytycznych |
sample_rate |
float lub None |
Opcjonalna możliwość zmiany częstotliwości próbkowania dla tego sędziego (od 0,0 do 1,0) |
Przykład
from databricks.agents.monitoring import GuidelinesJudge
# Create guidelines judge with multiple business rules
guidelines_judge = GuidelinesJudge(
guidelines={
"data_privacy": [
"The response must not reveal any personal customer information",
"The response must not include internal system details"
],
"brand_voice": [
"The response must maintain a professional yet friendly tone",
"The response must use 'we' instead of 'I' when referring to the company"
],
"accuracy": [
"The response must only provide information that can be verified",
"The response must acknowledge uncertainty when appropriate"
]
},
sample_rate=0.8 # Evaluate 80% of traces with these guidelines
)
Monitor zewnętrzny
Reprezentuje monitor dla aplikacji GenAI obsługiwany poza Databricks.
@dataclasses.dataclass
class ExternalMonitor:
experiment_id: str
assessments_config: AssessmentsSuiteConfig
trace_archive_table: str | None
_checkpoint_table: str
_legacy_ingestion_endpoint_name: str
@property
def monitoring_page_url(self) -> str
Atrybuty
Atrybut | Typ | Opis |
---|---|---|
experiment_id |
str |
Identyfikator eksperymentu MLflow skojarzonego z tym monitorem |
assessments_config |
AssessmentsSuiteConfig |
Konfiguracja przeprowadzania ocen |
trace_archive_table |
str lub None |
Tabela w Unity Catalog, w której są archiwizowane ślady |
monitoring_page_url |
str |
Adres URL do wyświetlania wyników monitorowania w interfejsie użytkownika platformy MLflow |
Dalsze kroki
- Konfigurowanie monitorowania produkcyjnego — przewodnik krok po kroku dotyczący włączania monitorowania
- Kompilowanie zestawów danych oceny — używanie wyników monitorowania w celu poprawy jakości
- Odniesienie do wstępnie zdefiniowanych oceniających — dostępni wbudowani sędziowie