Agentdienste im Unity-Katalog

Important

Dieses Feature befindet sich in der Betaversion. Kontoadministratoren können den Zugriff auf dieses Feature über die Seite " Vorschau" der Kontokonsole steuern. Siehe Manage Azure Databricks Previews.

Agent Services bieten all Ihren KI-Agents ein Zuhause im Unity-Katalog. Registrieren Sie Agents aus jedem Team an einem zentralen Ort, durchsuchen und entdecken Sie sie dort zusammen mit Ihren Tabellen, Modellen und Funktionen, und legen Sie Berechtigungen mit denselben Berechtigungsvergaben fest, die auch Ihre anderen Assets im Unity Catalog schützen.

Entdecken von Agents im Katalog-Explorer

Nach der Registrierung wird ein Agentdienst im Katalog-Explorer unter dem Schema angezeigt, in dem er erstellt wurde. Jeder, der über READ_METADATA für den Agentdienst verfügt, kann es zusammen mit den Tabellen, Modellen und Funktionen in demselben Schema durchsuchen. Wählen Sie einen Agentdienst aus, um den Namen, die Beschreibung, die Verbindung und die aktuellen Berechtigungen anzuzeigen.

Verwenden Sie das comment Feld, um eine Beschreibung hinzuzufügen, wenn Sie einen Agentdienst erstellen oder aktualisieren. Diese Beschreibung wird im Katalog-Explorer angezeigt und hilft Teamkollegen zu verstehen, was der Agent beim Durchsuchen tut.

Dadurch erhält Ihre Organisation einen einzigen Ort, um zu sehen, welche Agents vorhanden sind, wer sie besitzt und wer Zugriff hat, ohne sie über separate Systeme oder Dokumentationen hinweg verfolgen zu müssen.

Requirements

  • Um einen Agentdienst zu erstellen, müssen Sie über USE CATALOG und USE SCHEMA für den übergeordneten Katalog und das übergeordnete Schema, CREATE SERVICE für das Schema sowie USE CONNECTION für die Verbindung verfügen, auf die der Agentdienst verweist.
  • Um Berechtigungen für einen Agentdienst zu verwalten, müssen Sie über MANAGE_ACCESS_CONTROL für den Agentdienst verfügen.

Erstellen eines Agentdiensts

Ein Agentdienst verweist auf eine vorhandene Unity-Katalogverbindung, die den Host und die Anmeldeinformationen für den Agent enthält. Erstellen Sie die Verbindung, bevor Sie den Agentdienst erstellen.

Im folgenden Beispiel wird ein Agentdienst namens support_agent im Schema main.default erstellt:

databricks api post \
  "/api/2.1/unity-catalog/agent-services?parent=schemas/main.default&agent_service_id=support_agent" \
  --json '{
    "agent_service_type": "AGENT_SERVICE_TYPE_EXTERNAL",
    "comment": "Support agent for the customer team",
    "config": {
      "connection": {
        "name": "connections/main.default.my_agent_connection"
      },
      "base_path": "/v1/chat",
      "system_prompt": "You are a helpful support assistant."
    }
  }'

Die Antwort enthält den Ressourcennamen des Agentdiensts:

{
  "name": "agent-services/main.default.support_agent",
  "agent_service_type": "AGENT_SERVICE_TYPE_EXTERNAL",
  "created_by": "you@company.com",
  "config": {
    "connection": { "name": "main.default.my_agent_connection" },
    "base_path": "/v1/chat",
    "system_prompt": "You are a helpful support assistant."
  }
}

Agentdienste abrufen und auflisten

Einen einzelnen Agent-Dienst über seinen vollständigen Namen abrufen:

databricks api get "/api/2.1/unity-catalog/agent-services/main.default.support_agent"

Alle Agentdienste in einem Schema auflisten:

databricks api get "/api/2.1/unity-catalog/agent-services?parent=schemas/main.default"

Um Agentdienste im gesamten Metastore auflisten zu können, lassen Sie den Schemafilter weg:

databricks api get "/api/2.1/unity-catalog/agent-services"

Aktualisieren eines Agentdiensts

Wenn Sie bestimmte Felder aktualisieren möchten, ohne andere zu überschreiben, verwenden Sie eine PATCH Anforderung, und geben Sie an, welche Felder geändert werden sollen. Im folgenden Beispiel wird die Systemaufforderung aktualisiert, während alle anderen Felder unverändert bleiben:

databricks api patch \
  "/api/2.1/unity-catalog/agent-services/main.default.support_agent?update_mask=config.system_prompt" \
  --json '{ "config": { "system_prompt": "You are a concise support assistant." } }'

Felder, die Sie aktualisieren können: comment, config.system_prompt, config.base_path.

Zugriff gewähren

Legen Sie die Berechtigungen für einen Agentdienst mit demselben Berechtigungsmodell fest, das auch Ihre anderen absicherbaren Objekte in Unity Catalog schützt. Gewähren Sie Benutzern und Dienstprinzipalen EXECUTE folgende Rechte:

databricks api patch \
  "/api/2.1/unity-catalog/permissions/AGENT_SERVICE/main.default.support_agent" \
  --json '{
    "changes": [
      { "principal": "teammate@company.com", "add": ["EXECUTE"] }
    ]
  }'

Aktuelle Finanzhilfen prüfen:

databricks api get "/api/2.1/unity-catalog/permissions/AGENT_SERVICE/main.default.support_agent"

Zugriff widerrufen:

databricks api patch \
  "/api/2.1/unity-catalog/permissions/AGENT_SERVICE/main.default.support_agent" \
  --json '{
    "changes": [
      { "principal": "teammate@company.com", "remove": ["EXECUTE"] }
    ]
  }'

Zuzuweisende Berechtigungen: EXECUTE, READ_METADATA, MANAGE, MANAGE_ACCESS_CONTROL, . ALL_PRIVILEGES

Löschen eines Agentdiensts

databricks api delete "/api/2.1/unity-catalog/agent-services/main.default.support_agent"

Limitations

Während der Betaversion gelten die folgenden Einschränkungen:

  • Der Laufzeitaufruf ist nicht verfügbar. Agents können nicht über einen registrierten Agent-Service aufgerufen werden. Registrierung und Berechtigungsverwaltung sind jetzt verfügbar.
  • Dienstrichtlinien und Ratelimits werden von der API nicht unterstützt. Beim Versuch, diese Felder festzulegen, wird ein Fehler zurückgegeben.
  • SQL DDL für Agentdienste ist nicht verfügbar. Erstellen und Verwalten von Agentdiensten mit der REST-API.
  • full_name- und owner-Felder werden in dieser Veröffentlichung in null-Antworten als GET zurückgegeben.
  • Die globale Suche in Unity Catalog zeigt keine Agent-Dienste an.

Nächste Schritte