Delen via


AI-agententools

Dit artikel bevat een overzicht van het bouwen van AI-agenthulpprogramma's met behulp van het Mozaïek AI Agent Framework.

Met AI-agenthulpprogramma's kunnen agents taken uitvoeren buiten het genereren van talen, zoals het ophalen van gestructureerde of ongestructureerde gegevens en het uitvoeren van aangepaste code.

Zie Wat zijn samengestelde AI-systemen en AI-agents voor een inleiding tot AI-agents?.

Unity Catalog-functiehulpprogramma's versus hulpprogramma's voor agentcode

Als u een hulpprogramma wilt maken met Mosaic AI Agent Framework, kunt u elke combinatie van de volgende methoden gebruiken:

Methode Beschrijving
Unity Catalog-functies
  • Gedefinieerd en beheerd in Unity Catalog met ingebouwde beveiligings- en nalevingsfuncties
  • Hiermee maakt u een centraal register voor hulpprogramma's die kunnen worden beheerd als andere Unity Catalog-objecten
  • Verleent eenvoudiger vindbaarheid en hergebruik
  • Ideaal voor het toepassen van transformaties en aggregaties op grote gegevenssets
hulpprogramma's voor agentcode
  • Gedefinieerd in de code van de AI-agent
  • Handig voor het aanroepen van REST API's, het gebruik van willekeurige code of het uitvoeren van hulpprogramma's met lage latentie
  • Ontbreekt ingebouwde governance en detectie van functies

Beide methoden zijn compatibel met aangepaste Python-agents of agentcreatiebibliotheken zoals LangGraph.

Ai-agenthulpprogramma's maken

Meer informatie over het maken van AI-agenthulpprogramma's waarmee uw agents aangepaste Python-code kunnen uitvoeren. Zie Aangepaste AI-agenthulpprogramma's maken met Unity Catalog-functies.

Voorbeelden van Agent-hulpprogramma's

Zie de volgende artikelen voor voorbeelden van agenthulpprogramma's:

Unity Catalog-hulpprogramma's toevoegen aan agents

In tegenstelling tot agentcodehulpprogramma's, die zijn gedefinieerd in de code van de agent, moeten Unity Catalog-hulpprogramma's expliciet worden toegevoegd aan agents om ze beschikbaar te maken voor gebruik.

Databricks raadt het gebruik van UCFunctionToolkit aan om Unity Catalog-hulpprogramma's te integreren met frameworks en SDK's voor agentcreatie. Zie Aangepaste AI-agenthulpprogramma's maken met Unity Catalog-functies.

U kunt de AI Playground ook gebruiken om snel Unity Catalog-hulpprogramma's toe te voegen aan agents voor prototypegedrag. Zie prototype-tooloproepagenten in de AI Playground.

Het aanroepen van hulpprogramma's verbeteren met duidelijke documentatie

Goed gedocumenteerde hulpprogramma's helpen AI-agents te begrijpen wanneer en hoe u effectief hulpprogramma's kunt gebruiken. Volg deze aanbevolen procedures bij het documenteren van hulpprogrammaparameters en retourwaarden:

  • Gebruik voor Unity Catalog-functies COMMENT om de functionaliteit en parameters van het hulpprogramma te beschrijven.
  • Definieer duidelijk de verwachte invoer en uitvoer.
  • Geef zinvolle beschrijvingen om de bruikbaarheid te verbeteren.

Voorbeeld: Effectieve hulpprogrammadocumentatie

In het volgende voorbeeld ziet u effectieve COMMENT tekenreeksen voor een functiehulpprogramma van Unity Catalog waarmee een query wordt uitgevoerd op een gestructureerde tabel.

CREATE OR REPLACE FUNCTION main.default.lookup_customer_info(
  customer_name STRING COMMENT 'Name of the customer whose info to look up.'
)
RETURNS STRING
COMMENT 'Returns metadata about a specific customer including their email and ID.'
RETURN SELECT CONCAT(
    'Customer ID: ', customer_id, ', ',
    'Customer Email: ', customer_email
  )
  FROM main.default.customer_data
  WHERE customer_name = customer_name
  LIMIT 1;

Voorbeeld: Ineffectieve hulpprogrammadocumentatie

In het volgende voorbeeld ontbreken belangrijke details, waardoor het voor de AI-agent moeilijker is om het hulpprogramma effectief te gebruiken:

CREATE OR REPLACE FUNCTION main.default.lookup_customer_info(
  customer_name STRING COMMENT 'Name of the customer.'
)
RETURNS STRING
COMMENT 'Returns info about a customer.'
RETURN SELECT CONCAT(
    'Customer ID: ', customer_id, ', ',
    'Customer Email: ', customer_email
  )
  FROM main.default.customer_data
  WHERE customer_name = customer_name
  LIMIT 1;