CREATE-AGENT¶
Erstellt ein neues Cortex Agent-Objekt mit den angegebenen Attributen und Informationen.
- Siehe auch:
Syntax¶
CREATE [ OR REPLACE ] AGENT [ IF NOT EXISTS ] <name>
[ COMMENT = '<comment>' ]
[ PROFILE = '<profile_object>' ]
FROM SPECIFICATION
$$
<specification_object>
$$;
Erforderliche Parameter¶
nameZeichenfolge, die den Bezeichner (d. h. den Namen) für das Buch angibt. Der Wert muss für das Schema, in dem das Buch erstellt wird, eindeutig sein.
Darüber hinaus muss der Bezeichner mit einem Buchstaben beginnen und darf keine Leer- oder Sonderzeichen enthalten, es sei denn, die gesamte Bezeichnerzeichenfolge wird in doppelte Anführungszeichen gesetzt (z. B.
"My object"). Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß-/Kleinschreibung zu beachten.Weitere Informationen dazu finden Sie unter Anforderungen an Bezeichner.
Optionale Parameter¶
COMMENT = commentBeschreibung des Agenten.
PROFILE = profile_objectGibt den OBJECT-Wert an, der Informationen zum Agentenprofil enthält, wie z. B. Anzeigename, Avatar und Farbe. Serialisieren Sie das
profile_objectwie folgt in eine Zeichenfolge:'{"display_name": "<display_name>", "avatar": "<avatar>", "color": "<color>"}'Die folgende Tabelle beschreibt die Schlüssel-Wert-Paare in diesem Objekt:
Schlüssel
Typ
Beschreibung
display_nameString
Anzeigename für den Agenten.
avatarString
Name oder Bezeichner der Datei des Avatarbilds.
colorString
Farbthema für den Agenten (z. B. „blau“, „ grün“, „rot“)
FROM SPECIFICATION $$ specification_object $$Gibt den VARCHAR-Wert an, der die Einstellungen für einen Agenten wie ein YAML-Objekt enthält.
Das YAML-Objekt sollte die folgende Struktur haben:
models: orchestration: <model_name> orchestration: budget: seconds: <number_of_seconds> tokens: <number_of_tokens> instructions: response: '<response_instructions>' orchestration: '<orchestration_instructions>' system: '<system_instructions>' sample_questions: - question: '<sample_question>' answer: '<sample_answer>' ... tools: - tool_spec: type: '<tool_type>' name: '<tool_name>' description: '<tool_description>' input_schema: type: 'object' properties: <property_name>: type: '<property_type>' description: '<property_description>' required: <required_property_names> ... tool_resources: <tool_name>: <resource_key>: '<resource_value>' ... ...
Die folgende Tabelle beschreibt die Schlüssel-Wert-Paare in diesem Objekt:
Schlüssel
Typ
Beschreibung
modelsEine optionale Modellkonfiguration für den Agenten. Enthält das Orchestrierungsmodell (z. B. claude-4-sonnet). Wenn keines angegeben ist, wird ein Modell automatisch ausgewählt. Derzeit nur für den Schritt der
Orchestrierungverfügbar.orchestrationEine optionale Konfiguration der Orchestrierung, einschließlich Budgeteinschränkungen (z. B. Sekunden, Token).
instructionsOptionale Anweisungen für das Verhalten des Agenten, einschließlich Antwort, Orchestrierung, System und Beispielfragen.
toolsArray von Tool
Eine optionale Liste von Tools, die dem Agenten zur Verfügung stehen. Jedes Tool enthält eine
tool_specmit Typ, Name, Beschreibung und Eingabeschema. Tools können über eine entsprechende Konfiguration intool_resourcesverfügen.tool_resourcesZuordnung von ToolResource
Eine optionale Konfiguration für jedes Tool, auf das im Tools-Array verwiesen wird. Die Schlüssel müssen mit dem Namen des jeweiligen Tools übereinstimmen.
Anforderungen an die Zugriffssteuerung¶
Eine Rolle, die zur Ausführung dieser Operation verwendet wird, muss mindestens die folgenden Berechtigungen haben:
Berechtigung |
Objekt |
Anmerkungen |
|---|---|---|
CREATE-AGENT |
Schema |
Erforderlich, um den Cortex Agent zu erstellen. |
USAGE |
Cortex Search Service |
Erforderlich, um die Cortex Search Services in der Cortex Agents-Anfrage auszuführen. |
USAGE |
Datenbank, Schema, Tabelle |
Erforderlich für den Zugriff auf die Objekte, auf die im semantischen Modell der Cortex Agents verwiesen wird. |
Nutzungshinweise¶
Die Klauseln OR REPLACE und IF NOT EXISTS schließen sich gegenseitig aus. Sie können nicht beide in der gleichen Anweisung verwendet werden.
CREATE OR REPLACE <Objekt>-Anweisungen sind atomar. Das heißt, wenn ein Objekt ersetzt wird, erfolgt das Löschen des alten Objekts und das Erstellen des neuen Objekts in einer einzigen Transaktion.
Metadaten:
Achtung
Kunden müssen sicherstellen, dass bei der Nutzung des Snowflake-Dienstes keine personenbezogenen Daten (außer für ein Objekt „User“), sensible Daten, exportkontrollierte Daten oder andere regulierte Daten als Metadaten eingegeben werden. Weitere Informationen dazu finden Sie unter Metadatenfelder in Snowflake.
Beispiele¶
CREATE OR REPLACE AGENT my_agent1
COMMENT = 'agent level comment'
PROFILE = '{"display_name": "My Business Assistant", "avatar": "business-icon.png", "color": "blue"}'
FROM SPECIFICATION
$$
models:
orchestration: claude-4-sonnet
orchestration:
budget:
seconds: 30
tokens: 16000
instructions:
response: "You will respond in a friendly but concise manner"
orchestration: "For any revenue question use Analyst; for policy use Search"
system: "You are a friendly agent that helps with business questions"
sample_questions:
- question: "What was our revenue last quarter?"
answer: "I'll analyze the revenue data using our financial database."
tools:
- tool_spec:
type: "cortex_analyst_text_to_sql"
name: "Analyst1"
description: "Converts natural language to SQL queries for financial analysis"
- tool_spec:
type: "cortex_search"
name: "Search1"
description: "Searches company policy and documentation"
tool_resources:
Analyst1:
semantic_view: "db.schema.semantic_view"
Search1:
name: "db.schema.service_name"
max_results: "5"
filter:
"@eq":
region: "North America"
title_column: "<title_name>"
id_column: "<column_name>"
$$;