Delen via


Een agent implementeren voor generatieve AI-toepassingen

Implementeer uw AI-agent in Mosaic AI Model Serving met behulp van de deploy() functie van de Python-API van agentframework. Implementatie maakt een dienend eindpunt met ingebouwde hulpprogramma's voor schaalbaarheid, bewaking en samenwerking.

Uw geïmplementeerde agent kan automatisch worden geïntegreerd met de evaluatie- en bewakingsmogelijkheden van MLflow 3 , waaronder realtime tracering, de beoordelings-app voor feedback van belanghebbenden en bewaking.

Requirements

MLflow 3

  • Registreer uw agent in Unity Catalog.
  • Installeer MLflow 3.1.3 of hoger om agents te implementeren met behulp van de deploy() API van databricks.agents.
  • Voor het implementeren van agents van buiten een Databricks-notebook is SDK-versie 1.1.0 of hoger vereist databricks-agents .

Installeer de vereisten:

# Install prerequisites
%pip install mlflow>=3.1.3 databricks-agents>=1.1.0

# Restart Python to make sure the new packages are picked up
dbutils.library.restartPython()

MLflow 2.x

Important

Databricks raadt aan om MLflow 3 te gebruiken om agents te implementeren, omdat sommige MLflow 2-logboekregistratiefunctionaliteit wordt afgeschaft. Bekijk gedetailleerde implementatieacties.

  • Registreer uw agent in Unity Catalog.
  • Installeer MLflow 2.13.1 of hoger om agents te implementeren met behulp van de deploy() API van databricks.agents.
  • Voor het implementeren van agents van buiten een Databricks-notebook is databricks-agents SDK-versie 0.12.0 of hoger vereist.

Installeer de vereisten:

# Install prerequisites
%pip install mlflow>=2.13.1 databricks-agents>=0.12.0

# Restart Python to make sure the new packages are picked up
dbutils.library.restartPython()

Agents implementeren met behulp van deploy()

Zet uw agent in op een eindpunt voor modelgebruik.

from databricks import agents

deployment = agents.deploy(uc_model_name, uc_model_info.version)

# Retrieve the query endpoint URL for making API requests
deployment.query_endpoint

Wanneer u deploy() aanroept, stelt Databricks automatisch een productie-infrastructuur in en integreert uw agent met AI-functies van MLflow gen door het volgende te doen:

Waarschuwing

Als u een agent implementeert vanuit een notebook dat is opgeslagen in een Databricks Git-directory, werkt MLflow 3 realtime tracering standaard niet.

Stel het experiment in op een niet-Git-gekoppeld experiment met behulp van mlflow.set_experiment() voordat u het agents.deploy() uitvoert om realtime tracering in te schakelen.

De functie deploy() voert standaard de volgende acties uit:

  • Hiermee maakt u een model voor eindpunt voor het hosten van uw agent met automatische schaalaanpassing en taakverdeling
  • Voorziet in beveiligde authenticatie voor uw agent om toegang te krijgen tot onderliggende resources
  • Maakt realtime-bewaking mogelijk via MLflow-experimenttracering en geautomatiseerde kwaliteitsevaluatie voor productieverkeer
  • Stelt samenwerking tussen belanghebbenden in met behulp van de beoordelings-app voor feedbackverzameling

Zie Gedetailleerde implementatieacties voor meer informatie.

Implementatie aanpassen

Geef aanvullende argumenten door aan deploy() om de implementatie te personaliseren. U kunt bijvoorbeeld schalen naar nul inschakelen voor niet-actieve eindpunten door scale_to_zero_enabled=Truedoor te geven. Dit vermindert de kosten, maar verhoogt de tijd voor het leveren van initiële query's.

Zie Databricks Agents Python APIvoor meer parameters.

Agentimplementaties ophalen en verwijderen

Bestaande agentimplementaties ophalen of beheren. Zie De Python-API van Databricks-agents.

from databricks.agents import list_deployments, get_deployments, delete_deployment

# Print all current deployments
deployments = list_deployments()
print(deployments)

# Get the deployment for a specific agent model name and version
agent_model_name = ""    # Set to your Unity Catalog model name
agent_model_version = 1  # Set to your agent model version
deployment = get_deployments(model_name=agent_model_name, model_version=agent_model_version)

# List all deployments
all_deployments = list_deployments()

# Delete an agent deployment
delete_deployment(model_name=agent_model_name, model_version=agent_model_version)

Authenticatie voor afhankelijke bronnen

Agenten moeten zich vaak authenticeren bij andere bronnen om taken te voltooien wanneer zij worden ingezet. Een agent moet bijvoorbeeld toegang krijgen tot een Vector Search-index om een query uit te voeren op ongestructureerde gegevens.

Zie Verificatie voor AI-agents voor informatie over verificatiemethoden, inclusief wanneer ze moeten worden gebruikt en hoe u deze instelt.

Gedetailleerde implementatieacties

De volgende tabel bevat gedetailleerde implementatieacties die het gevolg zijn van een deploy() aanroep. Het kan tot 15 minuten duren voordat implementaties zijn voltooid.

MLflow 3

deploy() actie Description
Eindpunt voor modellering maken Hiermee maakt u een schaalbaar REST API-eindpunt dat uw agent dient voor gebruikersgerichte toepassingen met automatische taakverdeling.
Beveiligde verificatie inrichten Biedt automatisch referenties met korte levensduur waarmee uw agent toegang heeft tot door Databricks beheerde resources (Vector Search-indexen , Functies van Unity Catalog, enzovoort) met minimale vereiste machtigingen.
Databricks controleert of de eigenaar van het eindpunt over de juiste machtigingen beschikt voordat referenties worden uitgegeven, waardoor onbevoegde toegang wordt voorkomen.
Voor niet-Databricks-resources geeft u omgevingsvariabelen met geheimen door aan deploy(). Zie Toegang tot resources configureren vanuit het model dat eindpunten bedient.
Beoordelings-app inschakelen Biedt een webinterface waar belanghebbenden met uw agent kunnen communiceren en feedback kunnen geven. Zie Feedback van domeinexperts verzamelen.
Realtime tracering inschakelen Registreert alle agentinteracties in realtime naar een MLflow-experiment, wat directe zichtbaarheid biedt voor bewaking en foutopsporing.
  • Traceringen van uw eindpunt worden naar het momenteel actieve MLflow-experiment geschreven (bepaald met mlflow.set_experiment())
  • Alle agents in het eindpunt delen hetzelfde experiment voor opslag van traceergegevens
  • Traceringen worden ook naar inferentietabellen geschreven voor langetermijnopslag
Productiebewaking inschakelen (bèta) Hiermee configureert u een geautomatiseerde kwaliteitsevaluatie die scorers op productieverkeer uitvoert. Zie productiebewaking.
Deductietabellen inschakelen Hiermee maakt u tabellen waarmee invoer en antwoorden van logboekaanvragen worden vastgelegd voor controle en analyse.
  • Waarschuwing: Aanvraaglogboeken en evaluatielogboeken zijn afgeschaft en worden in een toekomstige release verwijderd. Gebruik in plaats daarvan MLflow 3 realtime tracering. Zie de afschaffing van aanvraaglogboeken en evaluatielogboeken voor migratierichtlijnen.
  • Alle agents gebruiken AI Gateway-deductietabellen voor logboekregistratie
  • Alleen logboekvelden voor streaming-antwoorden die compatibel zijn met ResponsesAgent, ChatAgenten ChatCompletion schema's
REST API-aanvragen registreren en app-feedback beoordelen Registreert API-aanvragen en feedback naar een deductietabel.
Waarschuwing: Het feedbackmodel is afgeschaft en wordt verwijderd in een toekomstige release. Voer een upgrade uit naar MLflow 3 en gebruik in plaats daarvan de log_feedback API. Zie Feedback van gebruikers verzamelen.
  • Maak een feedbackmodel om feedback van de beoordelings-app te accepteren en te registreren.
  • Dit model wordt bediend via hetzelfde CPU-servereindpunt als uw geïmplementeerde agent.

MLflow 2

deploy() actie Description
Eindpunt voor modellering maken Hiermee maakt u een schaalbaar REST API-eindpunt dat uw agent dient voor gebruikersgerichte toepassingen met automatische taakverdeling.
Beveiligde verificatie inrichten Biedt automatisch referenties met korte levensduur waarmee uw agent toegang heeft tot door Databricks beheerde resources (Vector Search-indexen , Functies van Unity Catalog, enzovoort) met minimale vereiste machtigingen.
Databricks controleert of de eigenaar van het eindpunt over de juiste machtigingen beschikt voordat referenties worden uitgegeven, waardoor onbevoegde toegang wordt voorkomen.
Voor niet-Databricks-resources geeft u omgevingsvariabelen door samen met geheimen aan deploy(). Zie Toegang tot resources configureren vanuit het model dat eindpunten bedient.
Beoordelings-app inschakelen Biedt een webinterface waar belanghebbenden met uw agent kunnen communiceren en feedback kunnen geven. Zie Feedback van domeinexperts verzamelen.
Deductietabellen inschakelen Hiermee maakt u tabellen waarmee invoer en antwoorden van logboekaanvragen worden vastgelegd voor controle en analyse.
Waarschuwing: Aanvraaglogboeken en evaluatielogboeken zijn afgeschaft en worden in een toekomstige release verwijderd. Zie de afschaffing van aanvraaglogboeken en evaluatielogboeken voor migratierichtlijnen.
REST API-aanvragen registreren en app-feedback controleren (afgeschaft) Registreert API-aanvragen en feedback naar een deductietabel.
Waarschuwing: Het feedbackmodel is afgeschaft en wordt verwijderd in een toekomstige release. Voer een upgrade uit naar MLflow 3 en gebruik in plaats daarvan de log_feedback API. Zie Feedback van gebruikers verzamelen.
  • Maak een feedbackmodel om feedback van de beoordelings-app te accepteren en te registreren.
  • Dit model wordt bediend via hetzelfde CPU-servereindpunt als uw geïmplementeerde agent.

Volgende stappen