Nasazení agenta pro generování aplikací AI (obsluha modelů)

Important

Pro nové případy použití doporučuje Databricks nasazovat agenty v Databricks Apps, aby bylo možné plně řídit kód agenta, konfiguraci serveru a pracovní postup nasazení. Viz Vytvoření agenta AI a jeho nasazení v Databricks Apps. Pokud chcete migrovat existujícího agenta, přečtěte si téma Migrace agenta z modelové obsluhy do Databricks Apps.

Nasaďte svého agenta AI na Mosaic AI Model Serving pomocí funkce deploy() z Agent Framework Python API. Nasazení vytvoří obslužný koncový bod s integrovanými nástroji pro škálovatelnost, monitorování a spolupráci.

Nasazený agent se automaticky integruje s možnostmi vyhodnocení a monitorování MLflow 3, včetně trasování v reálném čase, aplikace pro kontrolu zpětné vazby od stakeholderů a monitorování.

Requirements

MLflow 3

  • Zaregistrujte agenta v katalogu Unity.
  • Nainstalujte MLflow 3.1.3 nebo vyšší pro nasazení agentů pomocí deploy() rozhraní API z databricks.agents.
  • Nasazení agentů mimo poznámkový blok Databricks vyžaduje databricks-agents sadu SDK verze 1.1.0 nebo vyšší.

Nainstalujte požadavky:

# 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 doporučuje použít MLflow 3 k nasazení agentů, protože některé funkce protokolování MLflow 2 budou zastaralé. Podívejte se na podrobné akce nasazení.

  • Zaregistrujte agenta v katalogu Unity.
  • Nainstalujte MLflow ve verzi 2.13.1 nebo vyšší, abyste mohli nasadit agenty prostřednictvím rozhraní API deploy() z databricks.agents.
  • Nasazení agentů mimo poznámkový blok Databricks vyžaduje databricks-agents SDK verze 0.12.0 nebo vyšší.

Nainstalujte požadavky:

# 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()

Nasazení agentů pomocí deploy()

Nasazení agenta do koncového bodu obsluhujícího model:

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

Když zavoláte deploy(), Databricks automaticky nastaví produkční infrastrukturu a integruje vašeho agenta s funkcemi AI genu MLflow následujícím způsobem:

Výstraha

Pokud nasazujete agenta z poznámkového bloku uloženého ve složce Databricks Git, trasování MLflow 3 v reálném čase nebude ve výchozím nastavení fungovat.

Pokud chcete povolit trasování v reálném čase, nastavte experiment na experiment nepřidružený k Gitu pomocí mlflow.set_experiment() a teprve poté spusťte agents.deploy().

Funkce deploy() ve výchozím nastavení provádí následující akce:

  • Vytvoří model obsluhující koncový bod pro hostování agenta s automatickým škálováním a vyrovnáváním zatížení.
  • Zřídí zabezpečené ověřování pro agenta pro přístup k podkladovým prostředkům.
  • Umožňuje monitorování v reálném čase prostřednictvím trasování experimentů MLflow a automatizovaného hodnocení kvality v produkčním provozu.
  • Nastaví spolupráci účastníků pomocí Review App pro sběr zpětné vazby.

Další informace najdete v tématu Podrobné akce nasazení.

Přizpůsobení nasazení

Předejte další argumenty k přizpůsobení nasazení pro deploy(). Můžete například povolit škálování na nulu pro nečinné koncové body předáním scale_to_zero_enabled=True. Tím se sníží náklady, ale zvýší se doba obsluhy počátečních dotazů.

Další parametry najdete v tématu Agenti Databricks Python API.

Načtení a odstranění nasazení agenta

Načíst nebo spravovat stávající nasazení agentů. Viz AgentiDatabricks Python API.

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)

Ověřování pro závislé zdroje

Agenti se často potřebují autentizovat k jiným zdrojům, aby při jejich nasazení mohli dokončit úkoly. Například agent může potřebovat přístup k indexu vektorového vyhledávání pro dotazování na nestrukturovaná data.

Informace o metodách ověřování, včetně toho, kdy je použít a jak je nastavit, najdete v tématu Ověřování pro agenty AI (obsluha modelu).

Sítě pro nasazení agentů

Pokud váš pracovní prostor používá Private Link nebo omezené egress síťové zásady, musíte nakonfigurovat síťový přístup, aby bylo nasazení agenta úspěšné. Model obsluhující koncové body vyžaduje odchozí přístup ke stahování závislostí během procesu sestavení kontejneru. Agenti můžou také potřebovat přístup k externím rozhraním API za běhu.

Informace o agentech nasazených v aplikacích Databricks najdete v tématu Nasazení aplikací v prostředích Private Link, kde naleznete podrobné pokyny ke konfiguraci zásad DNS nebo zásad výchozího přenosu dat.

U agentů nasazených ve službě Model Serving ověřte následující:

  • Závislosti při sestavování: Síťová politika musí umožňovat přístup k úložištím balíčků vyžadovaným prostředím vašeho agenta, jako například pypi.org nebo files.pythonhosted.org pro balíčky Python. Azure Databricks protokoluje selhání sestavení způsobené blokovaným síťovým přístupem pomocí network_source_type: ML Build v systémové tabulce system.access.outbound_network. Viz Ověření pomocí obsluhy modelu.
  • Závislosti modulu runtime: Pokud váš agent během odvozování volá externí rozhraní API nebo služby, přidejte tyto domény do seznamu povolených zásad sítě.
  • DNS resolution: V prostředích Private Link ověřte, že váš agent dokáže rozklíčovat názvy hostitelů všech služeb Azure Databricks, na které závisí, jako jsou koncové body Vector Search nebo SQL Warehouse.

Podrobné akce nasazení

Následující tabulka uvádí podrobné akce nasazení, které jsou výsledkem deploy() volání. Dokončení nasazení může trvat až 15 minut.

MLflow 3

deploy() akce Description
Vytvoření koncového bodu obsluhy modelu Vytvoří škálovatelný koncový bod rozhraní REST API, který slouží vašemu agentu pro aplikace přístupné uživatelům s automatickým vyrovnáváním zatížení.
Zřízení zabezpečeného ověřování Automaticky poskytuje krátkodobé přihlašovací údaje, které vašemu agentovi umožňují přístup k prostředkům spravovaným službou Databricks (indexy vektorového vyhledávání, funkce katalogu Unity atd.) s minimálními požadovanými oprávněními.
Databricks ověří, že vlastník koncového bodu má před vydáním přihlašovacích údajů správná oprávnění a brání neoprávněnému přístupu.
V případě jiných prostředků než Databricks předejte proměnné prostředí s tajnostmi do deploy(). Viz Konfigurace přístupu k prostředkům z modelů obsluhujících koncové body.
Povolit aplikaci pro kontrolu Poskytuje webové rozhraní, ve kterém můžou účastníci komunikovat s vaším agentem a poskytovat zpětnou vazbu. Podívejte se na shromažďování zpětné vazby a očekávání označováním existujících stop.
Povolení trasování v reálném čase Zaznamená všechny interakce agentů do experimentu MLflow v reálném čase a poskytuje okamžitou viditelnost monitorování a ladění.
  • Sledování z vašeho koncového bodu se zapisuje do aktuálně aktivního experimentu MLflow (nastaveného pomocí mlflow.set_experiment())
  • Všichni agenti v uzlu sdílejí stejný experiment pro úložiště tras.
  • Zaznamenávání také zapisuje do inferenčních tabulek pro delší uchování.
Povolení produkčního monitorování (beta verze) Konfiguruje automatizované hodnocení kvality, které spouští hodnotící mechanismy v produkčním provozu. Podívejte se na monitorování v produkčním prostředí.
Povolení odvozovacích tabulek Vytvoří tabulky, které protokolují vstupy a odpovědi pro auditování a analýzu.
Protokolování požadavků rozhraní REST API a kontrola zpětné vazby k aplikacím Zaznamenává požadavky rozhraní API a zpětnou vazbu do tabulky inferencí.
Varování:Model zpětné vazby je zastaralý a v budoucí verzi se odebere. Upgradujte na MLflow 3 a místo toho použijte log_feedback rozhraní API. Viz Shromažďování názorů uživatelů.
  • Vytvořte model zpětné vazby, který bude přijímat a protokolovat zpětnou vazbu z aplikace Pro kontrolu.
  • Tento model je obsluhován ve stejném procesoru na stejném koncovém bodě jako váš nasazený agent.

MLflow 2

deploy() akce Description
Vytvoření koncového bodu obsluhy modelu Vytvoří škálovatelný koncový bod rozhraní REST API, který slouží vašemu agentu pro aplikace přístupné uživatelům s automatickým vyrovnáváním zatížení.
Zřízení zabezpečeného ověřování Automaticky poskytuje krátkodobé přihlašovací údaje, které vašemu agentovi umožňují přístup k prostředkům spravovaným službou Databricks (indexy vektorového vyhledávání, funkce katalogu Unity atd.) s minimálními požadovanými oprávněními.
Databricks ověří, že vlastník koncového bodu má před vydáním přihlašovacích údajů správná oprávnění a brání neoprávněnému přístupu.
V případě jiných prostředků než Databricks předejte proměnné prostředí s tajnostmi do deploy(). Viz Konfigurace přístupu k prostředkům z modelů obsluhujících koncové body.
Povolit aplikaci pro kontrolu Poskytuje webové rozhraní, ve kterém můžou účastníci komunikovat s vaším agentem a poskytovat zpětnou vazbu. Podívejte se na shromažďování zpětné vazby a očekávání označováním existujících stop.
Povolení odvozovacích tabulek Vytvoří tabulky, které protokolují vstupy a odpovědi pro auditování a analýzu.
Varování: Protokoly žádostí a protokoly posouzení jsou zastaralé a v budoucí verzi se odeberou. Viz pokyny pro migraci v záznamech žádostí a ukončení podpory pro záznamy posouzení.
Protokolování požadavků rozhraní REST API a kontrola zpětné vazby k aplikacím (zastaralé) Zaznamenává požadavky rozhraní API a zpětnou vazbu do tabulky inferencí.
Varování:Model zpětné vazby je zastaralý a v budoucí verzi se odebere. Upgradujte na MLflow 3 a místo toho použijte log_feedback rozhraní API. Viz Shromažďování názorů uživatelů.
  • Vytvořte model zpětné vazby, který bude přijímat a protokolovat zpětnou vazbu z aplikace Pro kontrolu.
  • Tento model je obsluhován ve stejném procesoru na stejném koncovém bodě jako váš nasazený agent.

Další kroky