DBMS_CLOUD_AI-Package
Das Package DBMS_CLOUD_AI
mit Select AI erleichtert und konfiguriert die Übersetzung von Eingabeaufforderungen in natürlicher Sprache, um SQL-Anweisungen zu generieren, auszuführen und zu erläutern. Ermöglicht außerdem Retrieval Augmented Generation und Interaktionen in natürlicher Sprache, einschließlich des Chats mit LLMs.
- DBMS_CLOUD_AI Überblick
Beschreibt die Verwendung des PackagesDBMS_CLOUD_AI
. - Zusammenfassung der DBMS_CLOUD_AI-Unterprogramme
In diesem Abschnitt werden dieDBMS_CLOUD_AI
-Unterprogramme behandelt, die mit Autonomous AI Database bereitgestellt werden.
Übergeordnetes Thema: Von autonomer KI-Datenbank bereitgestellte Packagereferenz
DBMS_CLOUD_AI - Überblick
Beschreibt die Verwendung des Packages DBMS_CLOUD_AI
.
Verwenden Sie das Package DBMS_CLOUD_AI
, um KI-Profile zu erstellen und für den Zugriff auf ein Large Language Model (LLM) zu konfigurieren. Legen Sie das AI-Profil in der aktuellen Datenbankbenutzersession fest, um Aufgaben wie das Generieren, Ausführen und Erläutern von SQL auszuführen. Ermöglichen Sie außerdem Retrieval Augmented Generation und Interaktionen in natürlicher Sprache, einschließlich des Chats mit LLMs.
Weitere Informationen zu unterstützten Plattformen und LLMs finden Sie unter Informationen zur ausgewählten KI.
Übergeordnetes Thema: DBMS_CLOUD_AI Package
Zusammenfassung der DBMS_CLOUD_AI-Unterprogramme
In diesem Abschnitt werden die DBMS_CLOUD_AI
-Unterprogramme behandelt, die mit der autonomen KI-Datenbank bereitgestellt werden.
Unterprogramm | Beschreibung |
---|---|
Mit dieser Prozedur wird ein neues AI-Profil zum Übersetzen von Eingabeaufforderungen in natürlicher Sprache in SQL-Anweisungen erstellt. |
|
Stellt AI-Profilattribute bereit, die Sie konfigurieren können. |
|
Bei dieser Prozedur wird ein aktives AI-Profil in der aktuellen Session gelöscht. |
|
Bei diesem Verfahren wird ein AI-Profil in der aktuellen Datenbank deaktiviert. |
|
Bei diesem Verfahren wird ein vorhandenes AI-Profil gelöscht. |
|
Mit dieser Prozedur kann ein AI-Profil in der aktuellen Datenbank verwendet werden. |
|
Mit dieser Funktion können Sie Select AI zustandslos mit Ihrem vorhandenen Profil verwenden. | |
Diese Funktion erzeugt synthetische Daten. |
|
Diese Funktion gibt den Profilnamen zurück, der in der aktuellen Session verwendet wird. |
|
Diese Prozedur legt AI-Profilattribute fest. |
|
Diese Prozedur legt das AI-Profil für die aktuelle Datenbank fest. |
|
Verwenden Sie dieses Verfahren, um das Senden von Daten an Ihr LLM zu ermöglichen. |
|
Verwenden Sie dieses Verfahren, um das Senden von Daten an Ihr LLM zu deaktivieren. |
|
Unter diesem Thema wird beschrieben, wie Sie die Genauigkeit der Abfragegenerierung verbessern können, indem Sie ein Feedback an Select AI geben. |
|
Dies ist ein Standardvektorindex, der erstellt wird, wenn Sie |
|
Mit diesem Verfahren können Sie eine Konversation erstellen. |
|
Mit dieser Funktion können Sie eine Konversation erstellen und die Konversationskennung in anderen Verfahren verwenden. |
|
Verwenden Sie die Unterhaltungsattribute, um Ihre Unterhaltungen anzupassen. |
|
Diese Prozedur aktualisiert eine vorhandene Prozedur mit benutzerdefinierten Parametern. |
|
Diese Prozedur legt die Konversationsunterstützung in der aktuellen Sitzung fest. |
|
Mit dieser Prozedur können Sie den Parameter |
|
Mit dieser Prozedur können Sie alle in der aktuellen Session festgelegten |
|
Diese Prozedur löscht eine bestimmte Eingabeaufforderung. |
|
Bei diesem Verfahren werden eine gesamte Unterhaltung und ihre Metadaten gelöscht. |
|
Diese Funktion fasst Ihren Inhalt basierend auf den Parametern zusammen. |
|
Mit den zusammengefassten Attributen können Sie die Summengenerierung anpassen. |
|
Bei dieser Prozedur wird ein Vektorindex in der angegebenen Vektordatenbank erstellt und mit Daten aus einem Objektspeicher mit einem asynchronen Scheduler-Job aufgefüllt. |
|
Mit diesem Verfahren wird ein Vektorspeicherindex entfernt. Es entfernt normalerweise das Vektorspeicher-Indexobjekt und löscht die Vektordatenbank. |
|
Mit dieser Prozedur wird ein Vektorindexobjekt in der aktuellen Datenbank deaktiviert. Wenn diese Option deaktiviert ist, kann ein AI-Profil den Vektorindex nicht verwenden, und das System lädt keine Daten in den Vektorspeicher. |
|
Mit dieser Prozedur wird ein zuvor deaktiviertes Vektorindexobjekt aktiviert oder aktiviert. |
|
Diese Prozedur aktualisiert einen vorhandenen Vektorspeicherindex mit einem angegebenen Wert des Vektorindexattributs. |
|
Stellt Vektorindexprofilattribute bereit, die Sie konfigurieren können. |
- Prozedur CREATE_PROFILE
Die Prozedur erstellt ein neues AI-Profil zum Übersetzen von Eingabeaufforderungen in natürlicher Sprache in SQL-Anweisungen. - Profilattribute
Attribute eines AI-Profils helfen bei der Verwaltung und Konfiguration des Verhaltens des AI-Profils. Einige Attribute sind optional und haben einen Standardwert. - Prozedur CLEAR_PROFILE
Mit dieser Prozedur werden alle aktiven AI-Profile gelöscht, die in der aktuellen Session festgelegt sind. Nachdem Sie ein aktives Profil gelöscht haben, können SieSELECT AI
nicht mehr in der SQL-Befehlszeile verwenden oder das festgelegte AI-Profil beim Aufrufen vonDBMS_CLOUD_AI.GENERATE
verwenden. Dieses Verfahren löscht das Profil nicht. - Prozedur DROP_PROFILE
Die Prozedur löscht ein vorhandenes AI-Profil. Wenn das Profil nicht vorhanden ist, löst die Prozedur einen Fehler aus. - Prozedur ENABLE_PROFILE
Mit dieser Prozedur wird das vom Benutzer angegebene AI-Profil aktiviert. Die Prozedur ändert den Status des AI-Profils inENABLED
. - Prozedur DISABLE_PROFILE
Mit dieser Prozedur wird das AI-Profil in der aktuellen Datenbank deaktiviert. Der Status des AI-Profils wird durch diese Prozedur inDISABLED
geändert. - FEEDBACK-Prozedur
Mit diesem Verfahren können Sie Select AI FEEDBACK geben, um die Genauigkeit der Abfragegenerierung potenziell zu verbessern. Sie können sowohl positives als auch negatives Feedback sowie Textkommentare und geänderte SQL-Abfragen abgeben. - Vektorindex für FEEDBACK
Mit der Option "KI" wird ein Standardvektorindex mit dem Namen<profile_name>_FEEDBACK_VECINDEX
mit Standardattributen erstellt, wenn Sie das Feedbackfeature zum ersten Mal verwenden. - GET_PROFILE-Funktion
Diese Funktion gibt den in der aktuellen Session festgelegten AI-Profilnamen zurück. - Prozedur SET_ATTRIBUTE
Mit dieser Prozedur können Sie AI-Profilattribute festlegen. Es wird überladen, um Attributwerte verschiedener Typen zu akzeptieren. - GENERATE-Funktion
Diese Funktion stellt eine AI-Übersetzung bereit, wenn eine zustandslose Datenbankverbindung verwendet wird. Mit Ihrem vorhandenen AI-Profil können Sie diese Funktion verwenden, um die unterstützten Aktionen auszuführen, wieshowsql
,runsql
,explainsql
,narrate
,summarize
undchat
. Die Standardaktion istshowsql
. - Prozedur SET_PROFILE
Diese Prozedur legt das AI-Profil für die aktuelle Session fest. - Prozedur CREATE_CONVERSATION
Mit dieser Prozedur können Sie eine Unterhaltung erstellen und automatischconversation_id
innerhalb der Prozedur festlegen. - CREATE_CONVERSATION-Funktion
Diese Funktion erstellt eine Unterhaltung und gibt die zugehörigeconversation_id
zurück, die in anderen Prozeduren oder Funktionen wieDBMS_CLOUD_AI.SET_CONVERSATION_ID
undDBMS_CLOUD_AI.GENERATE
verwendet werden kann. - CREATE_CONVERSATION Attribute
Diese Attribute verwalten den Unterhaltungskontext, einschließlich der Aufbewahrungsdauer, der Anzahl der Prompts mit Antworten zum Speichern oder Anzeigen sowie Metadaten wie Titel und Beschreibung zur Referenz. Einige Attribute sind optional und haben einen Standardwert. - Prozedur UPDATE_CONVERSATION
Mit dieser Prozedur wird eine vorhandene Unterhaltung mit einem angegebenen Wert der Unterhaltungsattribute aktualisiert. - Prozedur SET_CONVERSATION_ID
Dieses Verfahren legt die aktuelle Unterhaltung auf die angegebene ID fest. Nachfolgende Prompts enthalten vorhandene Unterhaltungs-Prompts basierend auf den konfigurierten Attributen der Unterhaltung. - GET_CONVERSATION_ID-Funktion
Diese Funktion gibt die derzeit in der Session festgelegte Unterhaltungs-ID mit der ProzedurDBMS_CLOUD_AI.SET_CONVERSATION_ID
oderDBMS_CLOUS_AI.CREATE_CONVERSATION
zurück. Wenn Sie keine Unterhaltung festgelegt haben, gibt die Funktion NULL zurück. Wenn Sie die Konversation löschen, wird sie auch in der Sitzung gelöscht. - Prozedur CLEAR_CONVERSATION_ID
Dieses Verfahren löscht eine in der Session festgelegte Unterhaltungs-ID, um die Unterhaltungsfunktion fürSELECT AI <ACTION> <PROMPT>
zu deaktivieren. Wenn Sie keine Konversation festgelegt haben, löst das System keinen Fehler aus. - Prozedur DELETE_CONVERSATION_PROMPT
Die Prozedur entfernt eine bestimmte Eingabeaufforderung aus der Unterhaltung. - Prozedur DROP_CONVERSATION
Die Prozedur entfernt die Unterhaltung und alle zugehörigen Prompts und die zugehörigen Antworten. Nach dem Löschen wirdconversation_id
ungültig. Wenn eine Unterhaltung gelöscht wird, während sie in der Sitzung festgelegt wird, wird sie automatisch gelöscht. - Funktion SUMMARIZE
Diese Funktion fasst den Inhalt basierend auf den Anpassungsoptionen zusammen, die Sie als Parameter angeben. - SUMMARIZE-Parameter
Diese Attribute verwalten die Generierung einer Übersicht mit benutzerdefinierten Parametern. Einige Attribute sind optional und haben einen Standardwert. - TRANSLATE-Funktion
Mit dieser Funktion können Sie den Text in die angegebenetarget_language
übersetzen. - GENERATE_SYNTHETIC_DATA-Funktion
Mit dieser Prozedur können Sie synthetische Daten für eine einzelne Tabelle, mehrere Tabellen oder ein vollständiges Schema generieren. - ENABLE_DATA_ACCESS-Prozedur
Diese Prozedur ermöglicht das Senden von Daten an LLM für anwendbare Select AI-Features. Dies ist das Standardverhalten. Diese Prozedur kann nur von einem Administrator ausgeführt werden. - DISABLE_DATA_ACCESS-Prozedur
Dieses Verfahren deaktiviert das Senden von Daten an LLM für anwendbare Select AI-Features. Diese Prozedur kann nur von einem Administrator ausgeführt werden. - CREATE_VECTOR_INDEX-Prozedur
Mit dieser Prozedur wird ein Vektorindex in der angegebenen Vektordatenbank erstellt und mit Daten aus einem Objektspeicher mit einem asynchronen Scheduler-Job aufgefüllt. - Prozedur DROP_VECTOR_INDEX
Mit dieser Prozedur wird ein Vektorspeicherindex entfernt. Es entfernt normalerweise das Vektorspeicher-Indexobjekt und löscht den Vektorspeicher. Wenn dieser Wert aufFALSE
gesetzt ist, stellt das Argumentinclude_data
sicher, dass die Prozedur das Vektorspeicherindexobjekt nur entfernt, während der Vektorspeicher beibehalten wird. - Prozedur DISABLE_VECTOR_INDEX
Dieses Verfahren deaktiviert ein Vektorindexobjekt in der aktuellen Datenbank. Wenn diese Option deaktiviert ist, kann ein AI-Profil den Vektorindex nicht verwenden. Das System lädt keine Daten in den Vektorspeicher, da neue Daten zum Objektspeicher hinzugefügt werden, und führt keine Indexierung, Suche oder Abfrage basierend auf dem Index durch. - Prozedur ENABLE_VECTOR_INDEX
Mit dieser Prozedur wird ein zuvor deaktiviertes Vektorindexobjekt aktiviert oder aktiviert. Wenn Sie einen Vektorindex erstellen, ist er standardmäßig so aktiviert, dass das AI-Profil ihn für die Indexierung und Suche verwenden kann. - UPDATE_VECTOR_INDEX-Prozedur
Mit dieser Prozedur wird ein vorhandener Vektorspeicherindex mit einem angegebenen Wert des Vektorindexattributs aktualisiert. Es wird überladen, um Attributwerte verschiedener Typen zu akzeptieren. - Vektorindexattribute
Mit Attributen eines Vektorindex können Sie das Verhalten des Vektorindex verwalten und konfigurieren. Sie können nach Bedarf benutzerdefinierte Indexattribute hinzufügen. Einige Attribute sind optional und haben einen Standardwert.
Übergeordnetes Thema: DBMS_CLOUD_AI Package
Prozedur CREATE_PROFILE
Die Prozedur erstellt ein neues AI-Profil zum Übersetzen von Eingabeaufforderungen in natürlicher Sprache in SQL-Anweisungen.
Syntax
DBMS_CLOUD_AI.CREATE_PROFILE
profile_name IN VARCHAR2,
attributes IN CLOB DEFAULT NULL,
status IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL
);
Parameter
Parameter | Beschreibung |
---|---|
|
Ein Name für das AI-Profil. Der Profilname muss den Benennungsregeln der Oracle SQL-ID entsprechen. Der Profilname darf maximal 125 Zeichen lang sein. Dies ist ein obligatorischer Parameter. |
|
Profilattribute im JSON-Format. Weitere Informationen finden Sie unter Profilattribute für KI. Der Standardwert ist NULL. |
status |
Status des Profils. Der Standardwert ist aktiviert. |
|
Beschreibung für das AI-Profil. Der Standardwert ist NULL. |
Beispiel
BEGIN
DBMS_CLOUD_AI.CREATE_PROFILE
(
profile_name => 'OpenAI',
attributes => JSON_OBJECT('provider' value 'openai',
'credential_name' value 'openai_cred'),
status => 'enabled',
description => 'AI profile to use OpenAI for SQL translation'
);
END;
/
Profilattribute
Attribute
Attributname | Beschreibung |
---|---|
|
Bietet zusätzliche Metadaten zu Datenbanktabellen und -spalten mit dem 26ai-Annotationsfeature. Die gültigen Werte sind
|
|
Name des bereitgestellten Azure OpenAI Service-Modells. Der Name darf nur alphanumerische Zeichen, Unterstriche (_) und Bindestriche (-) enthalten. Der Name darf nicht mit einem Unterstrich (_) oder einem Bindestrich (-) enden. Informationen zum Abrufen der |
|
Name des bereitgestellten Einbettungsmodells von Azure OpenAI. Der Name darf nur alphanumerische Zeichen, Unterstriche und Bindestriche enthalten. Der Name darf nicht mit einem Bindestrich oder Unterstrich beginnen oder enden. |
|
Name der Azure-Dienstressource OpenAI. Der Ressourcenname darf nur alphanumerische Zeichen und Bindestriche enthalten und darf nicht mit einem Bindestrich beginnen oder enden. Informationen zum Abrufen der |
|
Gibt an, ob Select AI das LLM anweisen soll, SQL ohne Beachtung der Groß-/Kleinschreibung für Spalten zu generieren, die Zeichenfolgen- oder Textwerte enthalten. Folgende Werte werden unterstützt:
Der Standardwert ist |
|
Enthält Tabellen- und Spaltenkommentare in den Metadaten, die zum Übersetzen von Eingabeaufforderungen in natürlicher Sprache mit KI verwendet werden.
|
|
Verwaltet, ob referenzielle Integritäts-Constraints wie Primär- und Fremdschlüssel in die an das LLM gesendeten Metadaten eingeschlossen werden sollen. Die gültigen Werte sind
|
|
Ein Attribut |
|
Der Name der Zugangsdaten für den Zugriff auf die AI-Provider-APIs. Zugangsdaten mit Bearer-Token können erstellt werden, indem der Providername als Benutzername und das Bearer-Token als Kennwort verwendet werden. Vault-Secret-Zugangsdaten werden ebenfalls unterstützt. Die Hauptauthentifizierung, z. B. der Azure-Service-Principal, wird ebenfalls unterstützt. Weitere Informationen zur Konfiguration finden Sie unter Azure Service Principal für den Zugriff auf Azure-Ressourcen verwenden. Dies ist ein obligatorisches Attribut. Siehe Prozedur CREATE_CREDENTIAL. |
|
Das im AI-Profil definierte Einbettungsmodell. Im Folgenden werden die unterstützten KI-Provider für die Einbettungsmodelle mit ihren Standardwerten aufgeführt:
Hinweis
|
|
Gibt an, ob das LLM auf die Generierung von SQL beschränkt werden soll, das nur Tabellen verwendet, die von der Objektliste abgedeckt werden. Folgende Werte werden unterstützt:
Bei den Werten ist die Groß-/Kleinschreibung nicht zu beachten. Der Standardwert ist |
|
Gibt die Anzahl der Token an, die pro Generation vorhergesagt werden sollen. Der Standardwert ist 1024. Weitere Informationen finden Sie unter Tokenizer. |
|
Der Name des KI-Modells, mit dem Antworten generiert werden. Siehe KI-Provider und LLMs auswählen, und geben Sie den Modellnamen an. Hinweis
|
|
Array von JSON-Objekten, das Eigentümer- und Objektnamen angibt, die für die Übersetzung in natürlicher Sprache in SQL zulässig sind. Um alle Objekte eines bestimmten Benutzers einzuschließen, lassen Sie den "Namen" weg, und geben Sie nur den "Eigentümer"-Schlüssel im JSON-Objekt an. Folgende Objekttypen können verwendet werden:
Bei der Übersetzung der natürlichen Sprache in SQL werden der Objektname, der Objekteigentümer, Objektspalten und Kommentare über HTTPS-Anforderungen an den AI-Provider gesendet. Vermeiden Sie die Angabe von Objekten mit sensiblem Objektnamen, Spaltennamen oder Kommentaren in der Objektliste. KI-Provider haben möglicherweise Einschränkungen bei der Größe der Metadaten, die in Übersetzungsanforderungen zulässig sind. Beschränken Sie die Liste der Objekte, die für die Eingabeaufforderungen in natürlicher Sprache durch die Anwendungsbenutzer geeignet sind. Format:
Externe Tabellen, die mit der Synchronisierung von OCI Data Catalog oder AWS Glue erstellt wurden, können auch die Objektliste verwenden. Auf diese Weise können Sie Metadaten in zentralen Datenkatalogen verwalten und die Metadaten direkt für die Übersetzung von Eingabeaufforderungen in natürlicher Sprache mit KI verwenden. |
|
Gibt an, ob Metadaten für die relevantesten Tabellen oder alle Tabellen an das LLM gesendet werden sollen. Unterstützte Werte sind:
Wenn |
|
Gibt das Format an, in dem die API erwartet, dass Daten gesendet und empfangen werden. Verwenden Sie dieses Attribut, um Textantworten zu generieren. Dieses Attribut gilt für OCI Generative AI-Chatmodelle in einem dedizierten KI-Cluster. Geben Sie dieses Attribut an, wenn Sie eine Modell-OCID im Attribut Unterstützte Werte sind:
|
|
Gibt die OCID des Compartments an, auf das Sie beim Aufrufen des OCI Generative AI-Service zugreifen dürfen. Die Compartment-ID kann alphanumerische Zeichen, Bindestriche und Punkte enthalten. Der Standardwert ist die Compartment-ID der PDB. |
|
Diese Attribute geben die Endpunkt-OCID des dedizierten KI-Hostingclusters von Oracle an. Die Endpunkt-ID kann alphanumerische Zeichen, Bindestriche und Punkte enthalten. Informationen zum Suchen der Endpunkt-OCID finden Sie unter Details eines Endpunkts in generativer KI abrufen. Wenn Sie das dedizierte KI-Cluster von Oracle verwenden möchten, müssen Sie die Endpunkt-OCID des Hostingclusters angeben. Standardmäßig ist die Endpunkt-ID leer, und das Modell ist auf einer gemeinsamen Infrastruktur On-Demand. |
|
Dieses Attribut gibt den Laufzeittyp des angegebenen Modells an. Dieses Attribut gilt für OCI Generate Text models in einem dedizierten KI-Cluster. Geben Sie dieses Attribut an, wenn Sie eine Modell-OCID im Attribut Alle zulässigen Werte finden Sie in OCI Generative AI runtimeType. Siehe LlmInferenceRequest-Referenz. Folgende Werte werden unterstützt:
Hinweis
Dieses Attribut ist veraltet. Verwenden Sie oci_apiformat .
|
|
KI-Provider für das KI-Profil. Unterstützte Provider
Dies ist ein obligatorisches Attribut. |
|
Gibt den API-Endpunkt für OpenAI-kompatible Provider an. Dieses Attribut ist nur für OpenAI-kompatible Provider spezifisch. Geben Sie Beispiel: |
|
Dieses Attribut gibt den Speicherort des generativen KI-Clusters an, das Sie verwenden möchten. Der Bereich kann alphanumerische Zeichen und Bindestriche enthalten.
Hinweis
Das Oracle Generative AI-Cluster ist in Chicago, Frankfurt, London und anderen ausgewählten Regionen verfügbar. Weitere Informationen finden Sie unter Regionen mit generativer KI. Die Standardregion für AWS ist Die Standardregion ist |
|
Der generierte Text wird am Anfang der frühesten Stoppsequenz beendet. Die Sequenz wird in den Text integriert. Der Attributwert muss ein gültiges Array von Zeichenfolgenwerten im JSON-Format sein. |
|
Das Sampling von Generate Text-Modellen beinhaltet Zufälligkeit, so dass der gleiche Prompt bei jedem "Generate" verschiedene Ausgaben ergeben kann. Temperatur ist eine nicht-negative Gleitkommazahl, die verwendet wird, um den Grad der Zufälligkeit zu optimieren. Niedrigere Temperaturen bedeuten weniger zufällige Generationen. Weitere Informationen finden Sie unter Temperatur. Dieser Parameter gilt für alle unterstützten Dienstleister. |
|
Name des Vektorindex. Der Vektorindexname muss den Benennungsregeln der Oracle SQL-ID entsprechen. Die maximale Länge des Vektorspeichernamens beträgt 125 Zeichen. |
|
Die Sprache des Eingabetextes, der zur Übersetzung an den Anbieter gesendet wird. Akzeptiert entweder den vollständigen Sprachnamen oder den Sprachcode (language_code ), der von Providern unterstützt wird. Bei den Werten ist die Groß-/Kleinschreibung nicht zu beachten.
|
|
Die Sprache, in die der Anbieter den Text übersetzt. Akzeptiert entweder den vollständigen Sprachnamen oder den Sprachcode ( |
BEGIN
DBMS_CLOUD_AI.CREATE_PROFILE
(
profile_name => 'COHERE',
attributes =>
'{"provider": "cohere",
"credential_name": "COHERE_CRED",
"object_list": [{"owner": "ADB_USER"}],
"max_tokens":512,
"stop_tokens": [";"],
"model": "command-nightly",
"temperature": 0.5,
"comments": true,
"source_language": "en",
"target_language": "french"
}');
END;
/
Das folgende Beispiel zeigt benutzerdefinierte Profilattribute mit OCI Generative AI:
BEGIN
DBMS_CLOUD_AI.CREATE_PROFILE
(
profile_name => 'GENAI',
attributes => '{"provider": "oci",
"credential_name": "GENAI_CRED",
"object_list": [{"owner": "SH", "name": "customers"},
{"owner": "SH", "name": "countries"},
{"owner": "SH", "name": "supplementary_demographics"},
{"owner": "SH", "name": "profits"},
{"owner": "SH", "name": "promotions"},
{"owner": "SH", "name": "products"}],
"oci_compartment_id": "ocid1.compartment.oc1...",
"oci_endpoint_id": "ocid1.generativeaiendpoint.oc1.us-chicago-1....",
"region": "us-chicago-1",
"model": "cohere.command-light",
"oci_apiformat": "COHERE"
}');
END;
/
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Prozedur CLEAR_PROFILE
Bei diesem Verfahren werden alle aktiven AI-Profile gelöscht, die in der aktuellen Session festgelegt wurden. Nachdem Sie ein aktives Profil gelöscht haben, können Sie SELECT AI
nicht mehr in der SQL-Befehlszeile verwenden oder das festgelegte AI-Profil beim Aufrufen von DBMS_CLOUD_AI.GENERATE
verwenden. Dieses Verfahren löscht das Profil nicht.
Syntax
DBMS_CLOUD_AI.CLEAR_PROFILE
;
Beispiel
BEGIN
DBMS_CLOUD_AI.CLEAR_PROFILE
;
END;
/
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Prozedur DROP_PROFILE
Das Verfahren löscht ein vorhandenes AI-Profil. Wenn das Profil nicht vorhanden ist, löst die Prozedur einen Fehler aus.
Syntax
DBMS_CLOUD_AI.DROP_PROFILE
(
profile_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE
);
Parameter
Parameter | Beschreibung |
---|---|
|
Name des AI-Profils |
|
Wenn Der Standardwert für diesen Parameter ist |
Beispiel
BEGIN
DBMS_CLOUD_AI.DROP_PROFILE
(profile_name => 'OPENAI');
END;
/
Hinweise zur Verwendung
Verwenden Sie force
, um ein Profil zu löschen und Fehler zu ignorieren, wenn kein AI-Profil vorhanden ist.
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Prozedur ENABLE_PROFILE
Diese Prozedur aktiviert das AI-Profil, das der Benutzer angibt. Die Prozedur ändert den Status des AI-Profils in ENABLED
.
Syntax
DBMS_CLOUD_AI.ENABLE_PROFILE
(
profile_name IN VARCHAR2
);
Parameter
Parameter | Beschreibung |
---|---|
|
Name für das zu aktivierende AI-Profil Dieser Parameter ist obligatorisch. |
Beispiel zum Aktivieren des AI-Profils
BEGIN
DBMS_CLOUD_AI.ENABLE_PROFILE
(
profile_name => 'OPENAI'
);
END;
/
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Prozedur DISABLE_PROFILE
Mit dieser Prozedur wird das AI-Profil in der aktuellen Datenbank deaktiviert. Der Status des AI-Profils wird durch diese Prozedur in DISABLED
geändert.
Syntax
DBMS_CLOUD_AI.DISABLE_PROFILE
(
profile_name IN VARCHAR2
);
Parameter
Parameter | Beschreibung |
---|---|
|
Name für das AI-Profil. Dieser Parameter ist obligatorisch. |
Beispiel
BEGIN
DBMS_CLOUD_AI.DISABLE_PROFILE
(
profile_name => 'OPENAI'
);
END;
/
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
FEEDBACK-Verfahren
Syntax
DBMS_CLOUD_AI.FEEDBACK(
profile_name IN VARCHAR2,
sql_id IN DBMS_ID,
feedback_type IN VARCHAR2 DEFAULT NULL,
response IN CLOB DEFAULT NULL,
feedback_content IN CLOB DEFAULT NULL,
operation IN VARCHAR2 DEFAULT 'ADD'
);
DBMS_CLOUD_AI.FEEDBACK(
profile_name IN VARCHAR2,
sql_text IN CLOB,
feedback_type IN VARCHAR2 DEFAULT NULL,
response IN CLOB DEFAULT NULL,
feedback_content IN CLOB DEFAULT NULL,
operation IN VARCHAR2 DEFAULT 'ADD'
);
Parameter
Parameter | Beschreibung |
---|---|
|
Gibt das zu verwendende AI-Profil an. Wenn Sie keine Dies ist ein obligatorischer Parameter. |
|
Gibt die SQL-Abfrage an. Eine Dies ist ein obligatorischer Parameter. |
|
Enthält den vollständigen Text der SQL-Abfrage. Dies ist ein obligatorischer Parameter. |
|
Gibt den Feedbacktyp an. Die verfügbaren Werte sind:
Hinweis
Mit der Prozedur DBMS_CLOUD_AI.FEEDBACK können Sie sql_id oder sql_text angeben. Daher ist feedback_type erforderlich. Wenn Sie die Aktion feedback verwenden, bestimmt oder interpretiert das LLM den Feedbacktyp dynamisch.
Dies ist ein obligatorischer Parameter, wenn |
|
Stellt das korrekte SQL-Abfrageergebnis dar, das der Benutzer erwartet. Dies ist ein obligatorischer Parameter, wenn |
|
Erfasst das Feedback des Benutzers in natürlicher Sprache. Sie können diesen Parameter zusammen mit |
|
Gibt die auszuführende Operation an. Folgende Werte werden akzeptiert:
|
Beispiel
Das folgende Beispiel zeigt, wie Sie mit der Prozedur DBMS_CLOUD_AI.FEEDBACK
die generierte SQL akzeptieren oder verbessern, indem Sie die Parameter aus der Prozedur angeben.
EXEC DBMS_CLOUD_AI.FEEDBACK
(profile_name=>'OCI_FEEDBACK1',
sql_id=> '852w8u83gktc1',
feedback_type=>'positive',
operation=>'add');
EXEC DBMS_CLOUD_AI.FEEDBACK
(profile_name=>'OCI_FEEDBACK1',
sql_text=> 'select ai showsql how many movies',
feedback_type=> 'negative',
response=>'SELECT SUM(1) FROM "ADB_USER"."MOVIES"',
feedback_content=>'Use SUM instead of COUNT');
EXEC DBMS_CLOUD_AI.FEEDBACK
(profile_name=>'OCI_FEEDBACK1',
sql_id=> '852w8u83gktc1',
operation=>'delete');
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Vektor-Index für FEEDBACK
<profile_name>_FEEDBACK_VECINDEX
mit Standardattributen zu erstellen, wenn Sie das Feedbackfeature zum ersten Mal verwenden.
Sie können die zugehörigen Attribute wie similarity_threshold
und match_limit
mit der Prozedur DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX
ändern. Mit diesem Index können Sie zukünftig generierte SQL basierend auf dem Feedback verfeinern. Diese Tabelle wird gelöscht, wenn das zugehörige AI-Profil gelöscht wird. Sie können auch <profile_name>_FEEDBACK_VECINDEX
löschen. Wenn Sie dies tun, verwendet Select AI kein Feedback mehr als Hinweise für die Aktionen runsql
, showsql
und explainsql
. Wenn Sie jedoch neues Feedback mit der Funktion "KI-Feedback auswählen" übermitteln, erstellt Select AI automatisch einen neuen Feedbackvektorindex
Der Standardwert
match_limit
für feedback
ist 3.
Vektortabellenname
Die Tabelle <profile_name>_FEEDBACK_VECINDEX$VECTAB
enthält Vektordarstellungen (Einbettungen) von Benutzerfeedback zusammen mit anderen Parametern, die von Select AI zur Verbesserung der SQL-Generierung im Zeitverlauf verwendet werden.
Parameter
Spalte | Beschreibung |
---|---|
|
Umfasst JSON-Objektattribute gemäß der FEEDBACK-Prozedur. |
|
Enthält die Benutzereingabeaufforderung. |
|
Enthält Vektordarstellungen (Einbettungen) der Benutzereingabeaufforderung. |
Beispiel
Das folgende Beispiel veranschaulicht die Verwendung der automatisch generierten Vektorindextabelle zur Abfrage und Rückmeldung.
SQL> select content, attributes from OCI_FEEDBACK1_FEEDBACK_VECINDEX$VECTAB where JSON_VALUE(attributes, '$.sql_text') = 'select ai showsql how many movies';
CONTENT
----------------------------------------------------------------------------------------------------
how many movies
ATTRIBUTES
----------------------------------------------------------------------------------------------------
{"response":"SELECT SUM(1) FROM \"ADB_USER\".\"MOVIES\"","feedback_type":"negative","sql_id":null,"sql_text":"select ai showsql how many movies","feedback_content":null}
DBMS_CLOUD_AI.feedback Procedure(Positive Feedback)
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Funktion GET_PROFILE
Diese Funktion gibt den AI-Profilnamen zurück, der in der aktuellen Session festgelegt wurde.
Syntax
DBMS_CLOUD_AI.GET_PROFILE
;
Beispiel
In diesem Beispiel wird gezeigt, wie Sie den Namen des Profils in der aktuellen Session anzeigen können.
SELECT DBMS_CLOUD_AI.GET_PROFILE
from DUAL;
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Prozedur SET_ATTRIBUTE
Mit dieser Prozedur können Sie AI-Profilattribute festlegen. Es wird überladen, um Attributwerte verschiedener Typen zu akzeptieren.
Syntax
DBMS_CLOUD_AI.SET_ATTRIBUTE
(
profile_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN {BOOLEAN|VARCHAR2}
);
DBMS_CLOUD_AI.SET_ATTRIBUTE
(
profile_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN CLOB DEFAULT NULL
);
Parameter
Nur der Eigentümer kann die Attribute des AI-Profils festlegen oder ändern. Eine Liste der unterstützten Attribute finden Sie unter Profilattribute.
Parameter | Beschreibung |
---|---|
|
Name des AI-Profils, für das Sie die Attribute festlegen möchten. Dieser Parameter ist obligatorisch. |
|
Name des AI-Profilattributs Dieser Parameter ist obligatorisch. |
|
Wert des Profilattributs. Der Wert kann den Typ Der Standardwert ist NULL. |
Beispiele
BEGIN
DBMS_CLOUD_AI.SET_ATTRIBUTE
(
profile_name => 'OPENAI',
attribute_name => 'credential_name',
attribute_value => 'OPENAI_CRED_NEW'
);
END;
/
Im folgenden Beispiel wird der Typ NUMBER
als attribute_value
akzeptiert.
BEGIN
DBMS_CLOUD_AI.SET_ATTRIBUTE(
profile_name => 'OCI_PROFILE',
attribute_name => 'temperature',
attribute_value => 0.5
);
END;
/
Im folgenden Beispiel wird der Typ BOOLEAN
als attribute_value
akzeptiert.
BEGIN
DBMS_CLOUD_AI.SET_ATTRIBUTE
(
profile_name => 'OCI_PROFILE',
attribute_name => 'comments',
attribute_value => 'true'
);
END;
/
Im folgenden Beispiel wird der Typ VARCHAR2
als attribute_value
akzeptiert.
BEGIN
DBMS_CLOUD_AI.SET_ATTRIBUTE
(
profile_name => 'OCI_PROFILE',
attribute_name => 'model',
attribute_value => 'meta.llama-3.3-70b-instruct'
);
END;
/
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Funktion GENERATE
showsql
, runsql
, explainsql
, narrate
, summarize
und chat
. Die Standardaktion ist showsql
.
Mit dieser Funktion können auch einige oder alle Profilattribute überschrieben werden.
Syntax
DBMS_CLOUD_AI.GENERATE
(
prompt IN CLOB,
profile_name IN VARCHAR2 DEFAULT NULL,
action IN VARCHAR2 DEFAULT NULL,
attributes IN CLOB DEFAULT NULL,
params IN CLOB
) RETURN CLOB;
Parameter
Parameter | Beschreibung |
---|---|
|
Eingabeaufforderung in natürlicher Sprache zum Übersetzen mit KI. Die Eingabeaufforderung kann Dieser Parameter ist obligatorisch. |
|
Name des AI-Profils. Dieser Parameter ist optional, wenn in der Session bereits ein AI-Profil mit Der Standardwert ist NULL. Folgende Bedingungen gelten:
Hinweis
Bei Database Actions können Sie entweder das Argument profile_name in DBMS_CLOUD_AI.GENERATE angeben oder zwei Schritte als PL/SQL-Skript ausführen: DBMS_CLOUD_AI.SET_PROFILE und DBMS_CLOUD_AI.GENERATE .
|
action |
Aktion zum Übersetzen natürlicher Eingabeaufforderungen mit KI. Die unterstützten Aktionen umfassen:
Beschreibungen der Aktionen sind in Eingabeaufforderungen mit KI-Schlüsselwort eingeben enthalten. |
attributes |
Überschreiben Sie bestimmte AI-Profilattribute, indem Sie Attribute im JSON-Format angeben. Weitere Informationen finden Sie unter Profilattribute. |
params |
Geben Sie Konversationsparameter an. Siehe CREATE_CONVERSATION Attribute. Sie können nur die folgenden Parameter angeben:
|
Beispiele
Beispiel: Funktion GENERATE für die Auswahl von KI-Aktionen verwenden
Die folgenden Beispiele veranschaulichen die Aktionen runsql
, showsql
, explainsql
, narrate
, summarize
, translate
und chat
, die mit der Funktion DBMS_CLOUD_AI.GENERATE
verwendet werden können. Weitere Informationen finden Sie auch unter Eingabeaufforderungen mit AI-Schlüsselwort eingeben.
Beispiel für die Aktion runsql
:
SELECT DBMS_CLOUD_AI.GENERATE
(prompt => 'how many customers',
profile_name => 'OPENAI',
action => 'runsql)
FROM dual;
Beispiel für die Aktion showsql
:
SELECT DBMS_CLOUD_AI.GENERATE
(prompt => 'how many customers',
profile_name => 'OPENAI',
action => 'showsql')
FROM dual;
Beispiel für die Aktion explainsql
:
SELECT DBMS_CLOUD_AI.GENERATE
(prompt => 'how many customers',
profile_name => 'OPENAI',
action => 'explainsql)
FROM dual;
Beispiel für die Aktion narrate
:
SELECT DBMS_CLOUD_AI.GENERATE
(prompt => 'how many customers',
profile_name => 'OPENAI',
action => 'narrate')
FROM dual;
Beispiel für die Aktion chat
:
SELECT DBMS_CLOUD_AI.GENERATE
(prompt => 'what is oracle autonomous database',
profile_name => 'OPENAI',
action => 'chat')
FROM dual;
summarize
:SELECT DBMS_CLOUD_AI.GENERATE
(
prompt => TO_CLOB(
DBMS_CLOUD.GET_OBJECT(
credential_name => 'STORE_CRED',
object_uri => 'https://objectstorage.ca-toronto-1.oraclecloud.com' ||
'/n/namespace-string/b/bucketname/o/data_folder/' ||
'summary/test_4000_words.txt')),
profile_name => 'GENAI_LLAMA',
action => 'SUMMARIZE')
from DUAL;
Ergebnis:
The music streaming industry, led by Spotify, has revolutionized the way
people consume music, with streaming accounting for 80% of the American
recording industry's revenue. However, this shift has also complicated the
lives of artists trying to survive in an on-demand, hyper-abundant present.
Spotify's business model, which pays royalties based on an artist's
popularity, has led to concerns about the fairness of the system, with some
artists earning little to no royalties. The company's dominance has also
changed the way people listen to music, with a focus on convenience and
personalized playlists. Liz Pelly's book, "Mood Machine: The Rise of Spotify
and the Costs of the Perfect Playlist," explores the impact of Spotify's rise
on the music industry and listeners, arguing that the platform's emphasis on
affect and mood has led to a homogenization of music and a loss of autonomy
for listeners. As the music industry continues to evolve, questions remain
about the future of music creation and consumption, and whether artists will
be able to thrive in a system that prioritizes convenience and profit over
artistic expression.
Die folgenden Beispiele zeigen die Aktion translate
:
translate
im Prompt.
Ihr KI-Profil muss die Zielsprache angeben.
SELECT DBMS_CLOUD_AI.GENERATE
('select ai translate text to be translated')
FROM dual;
Das folgende Beispiel zeigt die in der Funktion DBMS_CLOUD_AI.GENERATE
bereitgestellte Aktion translate
zusammen mit target_language
und source_language
. In diesem Beispiel wird generative KI-Übersetzung verwendet. Der Eingabetext this is a document
in Englisch (source_language: "en"
) wird ins Französische (target_language: "fr"
) übersetzt.
DECLARE
l_attributes clob := '{"target_language": "fr", "source_language": "en"}';
output clob;
BEGIN
output := DBMS_CLOUD_AI.GENERATE(
prompt => 'this is a document',
profile_name => 'oci_translate',
action => 'translate',
attributes => l_attributes
);
Sie können DBMS_CLOUD_AI.GENERATE
in einer Prozedur verwenden und die Funktion ausführen. Im folgenden Beispiel werden ai_prompt
, profile_name
und action
als Eingabeparameter verwendet und DBMS_CLOUD_AI.GENERATE
aufgerufen.
create or replace FUNCTION call_select_ai (ai_prompt IN VARCHAR2,
ai_profile IN VARCHAR2,
ai_action IN VARCHAR2) -- valid for 'chat', 'narrate', 'showsql'
RETURN CLOB AS sai_resp clob;
BEGIN
sai_resp := DBMS_CLOUD_AI.GENERATE(prompt => ai_prompt,
profile_name => ai_profile,
action => ai_action);
return(sai_resp);
END call_select_ai;
Das folgende Beispiel zeigt, wie Sie die Funktion DBMS_CLOUD_AI.GENERATE
in einer Unterhaltungseinstellung verwenden. In diesem Beispiel wird davon ausgegangen, dass bereits eine Unterhaltung erstellt wurde.
SELECT DBMS_CLOUD_AI.GENERATE
(
prompt => 'What is the difference in weather between Seattle and San Francisco?',
profile_name => 'GENAI',
action => 'CHAT',
params => '{"conversation_id":"30C9DB6E-EA4D-AFBA-E063-9C6D46644B92"}') AS RESPONSE;
Ergebnis:
RESPONSE
--------------------------------------------------------------------------------
Seattle and San Francisco, both located in the Pacific Northwest and Northern
California respectively, experience a mild oceanic climate. However, there are
some notable differences in their weather patterns:
1. **Temperature**: San Francisco tends to be slightly warmer than Seattle,
especially during the summer months. San Francisco's average temperature ranges
from 45?F (7?C) in winter to 67?F (19?C) in summer, while Seattle's average
temperature ranges from 38?F (3?C) in winter to 64?F (18?C) in summer.
2. **Rainfall**: Seattle is known for its rainy reputation, with an average
annual rainfall of around 37 inches (94 cm). San Francisco receives less rainfall,
with an average of around 20 inches (51 cm) per year. However, San Francisco's
rainfall is more concentrated during the winter months, while Seattle's rainfall
is more evenly distributed throughout the year.
......
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Prozedur SET_PROFILE
Diese Prozedur legt das AI-Profil für die aktuelle Session fest.
Nachdem Sie ein AI-Profil für die Datenbanksession festgelegt haben, wird jede SQL-Anweisung mit dem Präfix SELECT AI
als Prompt in natürlicher Sprache betrachtet. Je nachdem, welche Aktion Sie mit dem Präfix AI
angeben, wird eine Antwort mit AI generiert. Informationen zur Verwendung des Präfixes AI
finden Sie unter Beispiele für die Verwendung von Select AI und AI-Schlüsselwort zum Eingeben von Prompts verwenden. Optional können Sie die Profilattribute überschreiben oder Attribute ändern, indem Sie sie im JSON-Format angeben. Informationen zum Festlegen der Attribute finden Sie unter Prozedur SET_ATTRIBUTE.
Das AI-Profil kann nur für die aktuelle Session festgelegt werden, wenn der Eigentümer des AI-Profils der Sessionbenutzer ist.
Um ein AI-Profil für alle Sessions eines bestimmten Datenbankbenutzers oder für alle Benutzersessions in der Datenbank festzulegen, sollten Sie einen Datenbankereignistrigger für das Ereignis AFTER LOGON
für den bestimmten Benutzer oder die gesamte Datenbank verwenden. Weitere Informationen finden Sie unter CREATE TRIGGER-Anweisung.
Syntax
DBMS_CLOUD_AI.SET_PROFILE
(
profile_name IN VARCHAR2,
);
Parameter
Parameter | Beschreibung |
---|---|
|
Ein Name für das AI-Profil in der aktuellen Session. Dieser Parameter ist obligatorisch. |
Beispiel
BEGIN
DBMS_CLOUD_AI.SET_PROFILE
(
profile_name => 'OPENAI'
);
END;
/
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Prozedur CREATE_CONVERSATION
Mit diesem Verfahren können Sie eine Unterhaltung erstellen und automatisch die conversation_id
innerhalb der Prozedur festlegen.
Wenn Sie die Prozedur
DBMS_CLOUD_AI.CREATE_COVERSATION
verwenden, können Sie die Einstellung von conversation_id
überspringen, da sie von der Prozedur automatisch festgelegt wird.
Syntax
DBMS_CLOUD_AI.CREATE_COVERSATION
(
attributes IN CLOB DEFAULT NULL
);
Parameter
Parameter | Beschreibung |
---|---|
|
Attribute für Unterhaltung im JSON-Format. Weitere Informationen finden Sie unter CREATE_CONVERSATION Attribute. Der Standardwert ist NULL. |
Beispiel
Das folgende Beispiel zeigt das Erstellen einer Unterhaltung ohne Anpassung.
EXEC DBMS_CLOUD_AI.CREATE_COVERSATION
;
Ergebnis:
PL/SQL procedure successfully completed.
Das folgende Beispiel zeigt das Erstellen einer Unterhaltung mit benutzerdefinierten Parametern, wie title
, description
, retention_days
und conversation_length
.
-- Create conversation with custom attributes
SELECT DBMS_CLOUD_AI.CREATE_COVERSATION
(
attributes => '{"title":"Conversation 1",
"description":"this is a description",
"retention_days":5,
"conversation_length":5}')
AS conversation_id FROM dual;
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Funktion CREATE_CONVERSATION
Diese Funktion erstellt eine Unterhaltung und gibt die zugehörige conversation_id
zurück, die in anderen Prozeduren oder Funktionen wie DBMS_CLOUD_AI.SET_CONVERSATION_ID
und DBMS_CLOUD_AI.GENERATE
verwendet werden kann.
Oracle empfiehlt, conversation_id
festzulegen, um die Unterhaltung zu aktivieren. Alternativ können Sie conversation_id
in der Funktion DBMS_CLOUD_AI.GENERATE
festlegen.
Wenn Sie die Prozedur
DBMS_CLOUD_AI.CREATE_COVERSATION
verwenden, können Sie die Einstellung von conversation_id
überspringen, da sie von der Prozedur automatisch festgelegt wird.
Syntax
DBMS_CLOUD_AI.CREATE_COVERSATION
(
attributes IN CLOB DEFAULT NULL
) RETURN VARCHAR2;
Parameter
Parameter | Beschreibung |
---|---|
|
Attribute für Unterhaltung im JSON-Format. Weitere Informationen finden Sie unter CREATE_CONVERSATION Attribute. Der Standardwert ist NULL. |
Beispiel
Das folgende Beispiel zeigt, wie Sie mit der Funktion DBMS_CLOUD_AI.CREATE_COVERSATION
eine Unterhaltung ohne Anpassung erstellen.
SELECT DBMS_CLOUD_AI.CREATE_COVERSATION
FROM DUAL;
Ergebnis:
CREATE_CONVERSATION
------------------------------------
30C9DB6E-EA4D-AFBA-E063-9C6D46644B92
Das folgende Beispiel zeigt, wie Sie mit der Funktion DBMS_CLOUD_AI.CREATE_COVERSATION
Attribute wie title
, retention_days
und conversation_length
angeben.
SELECT DBMS_CLOUD_AI.CREATE_COVERSATION
(
attributes => '{"title":"This is a test conversation",
"retention_days":7,
"conversation_length":20}')
FROM DUAL;
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
CREATE_CONVERSATION-Attribute
Attribute
Attributname | Standardwert | Beschreibung |
---|---|---|
|
Neue Unterhaltung |
Der vom Benutzer zugewiesene Name für die Unterhaltung. Wenn diese Option nicht angegeben ist, generiert das LLM ein LLM, wenn die Unterhaltung zum ersten Mal mit einer Eingabeaufforderung verwendet wird. |
|
NULL |
Stellt eine benutzerdefinierte Beschreibung bereit, die den Zweck oder den Kontext der Unterhaltung zusammenfasst. Wenn es nicht bereitgestellt wird, generiert das LLM eines, wenn die Unterhaltung zum ersten Mal mit einer Eingabeaufforderung verwendet wird, und aktualisiert es beim 5. Einsatz erneut, um genauere und relevantere Informationen aufzunehmen. |
|
7 |
Geben Sie an, wie viele Tage die Unterhaltungshistorie beibehalten werden soll. Dieser wird ab dem Erstellungsdatum in der Datenbank gespeichert. Wenn Sie den Wert weglassen, setzt das System ihn auf den Standardwert 7. Wenn Sie die Konversation auf 0 setzen, wird sie beibehalten, bis Sie sie mit der Prozedur |
|
NULL |
Geben Sie die Anzahl der letzten Prompts und Antworten an, die in die aktuelle Eingabeaufforderung aufgenommen werden sollen. Der maximal zulässige Wert beträgt 999. Sie können diesen Wert außer Kraft setzen, indem Sie den Parameter
conversation_length in der Funktion DBMS_CLOUD_AI.GENERATE angeben oder ihn im AI-Profil mit SELECT AI <ACTION> <PROMPT> festlegen. Wenden Sie die folgenden Prioritätsregeln für conversation_length an:
Wenn keiner von ihnen die |
DBMS_CLOUD_AI.CREATE_CONVERSATION
anpassen können.-- Create conversation with custom attributes
SELECT DBMS_CLOUD_AI.CREATE_CONVERSATION(
attributes => '{"title":"Conversation 1",
"description":"this is a description",
"retention_days":5,
"conversation_length":5}')
AS conversation_id FROM dual;
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Prozedur UPDATE_CONVERSATION
Diese Prozedur aktualisiert eine vorhandene Konversation mit einem angegebenen Wert der Konversationsattribute.
Syntax
DBMS_CLOUD_AI.UPDATE_CONVERSATION(
conversation_id IN VARCHAR2,
attributes IN CLOB
);
Parameter
Parameter | Beschreibung |
---|---|
|
Eindeutige Nummer, die einer Unterhaltung zugewiesen ist. Dies ist ein obligatorischer Parameter. |
|
Attribute für Unterhaltung im JSON-Format. Weitere Informationen finden Sie unter CREATE_CONVERSATION Attribute. |
Beispiel
EXEC DBMS_CLOUD_AI.UPDATE_CONVERSATION(
conversation_id => '30C9DB6E-EA4E-AFBA-E063-9C6D46644B92',
attributes => '{"retention_days":20,
"description":"This a sample description",
"title":"Sample title",
"conversation_length":20}');
Ergebnis:
PL/SQL procedure successfully completed.
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Prozedur SET_CONVERSATION_ID
Diese Prozedur setzt die aktuelle Konversation auf die angegebene Kennung. Nachfolgende Prompts enthalten vorhandene Unterhaltungs-Prompts basierend auf den konfigurierten Attributen der Unterhaltung.
Syntax
DBMS_CLOUD_AI.SET_CONVERSATION_ID(
conversation_id IN VARCHAR2
);
Parameter
Parameter | Beschreibung |
---|---|
|
Eindeutige Nummer, die einer Unterhaltung in der aktuellen Sitzung zugewiesen ist. Dieser Parameter ist obligatorisch. |
Beispiel
EXEC DBMS_CLOUD_AI.SET_CONVERSATION_ID('30C9DB6E-EA4D-AFBA-E063-9C6D46644B92');
Ergebnis:
PL/SQL procedure successfully completed.
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Funktion GET_CONVERSATION_ID
DBMS_CLOUD_AI.SET_CONVERSATION_ID
oder DBMS_CLOUS_AI.CREATE_CONVERSATION
verwendet. Wenn Sie keine Unterhaltung festgelegt haben, gibt die Funktion NULL zurück. Wenn Sie die Unterhaltung löschen, löscht das System sie in der Session als well.See Prozedur CLEAR_CONVERSATION_ID.
Syntax
DBMS_CLOUD_AI.GET_CONVERSATION_ID
RETURN VARCHAR2;
Beispiel
In diesem Beispiel wird die Konversationskennung angezeigt, die in der aktuellen Sitzung festgelegt wurde.
SELECT DBMS_CLOUD_AI.GET_CONVERSATION_ID;
Ergebnis:
--------------------------------------------------------------------------------
30C9DB6E-EA4F-AFBA-E063-9C6D46644B92
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Prozedur CLEAR_CONVERSATION_ID
Bei dieser Prozedur wird eine in der Session festgelegte Unterhaltungs-ID gelöscht, um die Unterhaltungsfunktion für SELECT AI <ACTION> <PROMPT>
zu deaktivieren. Wenn Sie keine Konversation festgelegt haben, löst das System keinen Fehler aus.
Syntax
DBMS_CLOUD_AI.CLEAR_CONVERSATION_ID;
Beispiel
Dieses Beispiel zeigt die Anzeige der aktuellen Konversations-ID in der Session, das Löschen der ID und die Prüfung der Änderung.
-- A conversation id is set in the session
SELECT DBMS_CLOUD_AI.GET_CONVERSATION_ID FROM dual;
GET_CONVERSATION_ID
--------------------------------------------------------------------------------
3A88BFF0-1D7E-B3B8-E063-9C6D46640ECD
-- Clear the conversation id
EXEC DBMS_CLOUD_AI.CLEAR_CONVERSATION_ID;
PL/SQL procedure successfully completed.
-- The conversation id is removed from the session
SELECT DBMS_CLOUD_AI.GET_CONVERSATION_ID FROM dual;
GET_CONVERSATION_ID
--------------------------------------------------------------------------------
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Prozedur DELETE_CONVERSATION_PROMPT
Die Prozedur entfernt eine bestimmte Eingabeaufforderung aus der Konversation.
Syntax
DBMS_CLOUD_AI.DELETE_CONVERSATION_PROMPT(
conversation_prompt_id IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE
);
Parameter
Parameter | Beschreibung |
---|---|
|
Eindeutige Nummer, die einer Eingabeaufforderung in einer Konversation zugewiesen ist. Sie können die Prompt-ID suchen, indem Sie die View Dies ist ein obligatorischer Parameter. |
|
Wenn Der Standardwert für diesen Parameter ist |
Beispiel
EXEC DBMS_CLOUD_AI.DELETE_CONVERSATION_PROMPT('30C9DB6E-EA61-AFBA-E063-9C6D46644B92');
Ergebnis:
PL/SQL procedure successfully completed.
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Prozedur DROP_CONVERSATION
Die Prozedur entfernt die Konversation und alle zugehörigen Prompts und die zugehörigen Antworten. Nach dem Löschen wird conversation_id
ungültig. Wenn eine Unterhaltung gelöscht wird, während sie in der Sitzung festgelegt wird, wird sie automatisch gelöscht.
Syntax
DBMS_CLOUD_AI.DROP_CONVERSATION(
conversation_id IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE
);
Parameter
Parameter | Beschreibung |
---|---|
|
Eindeutige Nummer, die einer Unterhaltung zugewiesen ist. Dies ist ein obligatorischer Parameter. |
|
Wenn Der Standardwert für diesen Parameter ist |
Beispiel
EXEC DBMS_CLOUD_AI.DROP_CONVERSATION('30C9DB6E-EA4D-AFBA-E063-9C6D46644B92');
Ergebnis:
PL/SQL procedure successfully completed.
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Funktion SUMMARIZIEREN
Syntax
DBMS_CLOUD_AI.SUMMARIZE(
content IN CLOB DEFAULT NULL,
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2 DEFAULT NULL,
profile_name IN VARCHAR2 DEFAULT NULL,
user_prompt IN CLOB DEFAULT NULL,
params IN CLOB DEFAULT NULL
) RETURN CLOB;
Parameter
Parameter | Beschreibung |
---|---|
|
Gibt den Text an, den Sie zusammenfassen möchten. Entweder Dies ist kein erforderlicher Parameter. |
|
Identifiziert das Zugangsdatenobjekt, das zur Authentifizierung mit dem Objektspeicher verwendet wird. Sie müssen diese Zugangsdaten mit
DBMS_CLOUD.CREATE_CREDENTIAL erstellen.
Hinweis
Verwenden Sie diesen Parameter nur, wenn Sie location_uri angeben.
|
|
Liefert die URI, in der der Text gespeichert ist, oder den Pfad zu einer lokalen Datei. Entweder Beispiel: Objektspeicher: Lokale Datei: |
|
Gibt das zu verwendende AI-Profil an. Wenn Sie keine Der Standardwert ist NULL. |
|
Stellt eine Eingabeaufforderung in natürlicher Sprache bereit, um die Zusammenfassung zu leiten oder anzupassen. Sie können zusätzliche Anweisungen über Übersichtsparameter hinaus aufnehmen. Beispiel: Die Zusammenfassung muss mit "Zusammenfassung des Artikels" beginnen: "'' Dieser Parameter ist nicht obligatorisch. |
params |
Definiert Zusammenfassungsparameter. Siehe Parameter SUMMARIZE. |
Beispiel
Weitere Informationen finden Sie unter Beispiel: AI Summarize auswählen.
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
SUMMARIZIERUNGsparameter
Attribute
Attributname | Standardwert | Beschreibung |
---|---|---|
|
0 |
Gibt die ungefähre Mindestanzahl von Wörtern an, die von der generierten Übersicht erwartet werden. Hinweis
Dieser Parameter fungiert als Richtlinie und nicht als strenger Grenzwert: Die tatsächliche Länge der Zusammenfassung kann je nach bereitgestelltem Inhalt und der Interpretation des Modells variieren. |
|
200 |
Gibt die ungefähre maximale Anzahl von Wörtern an, die von der generierten Übersicht erwartet werden.
Hinweis
Dieser Parameter fungiert als Richtlinie und nicht als strenger Grenzwert. Die tatsächliche Länge der Zusammenfassung kann je nach bereitgestelltem Inhalt und Interpretation des Modells variieren. |
|
Absatz |
Gibt den Formatstil für die Zusammenfassung an. Folgende Übersichtsformatoptionen sind verfügbar:
|
|
map_reduce |
Wenn der Text das Tokenlimit überschreitet, das das LLM verarbeiten kann, muss er in verwaltbare Chunks aufgeteilt werden. Mit diesem Parameter können Sie die Methode für die Verarbeitung dieser Blöcke auswählen. Folgende Optionen werden bereitgestellt:
|
|
low |
Bestimmt, wie eng die Zusammenfassung dem ursprünglichen Wortlaut der Eingabe folgt. Es steuert, inwieweit das Modell es extrahiert oder umformuliert. Im Folgenden werden die Optionen aufgeführt:
Hinweis
Diese Einstellung dient als Richtlinie für das Zusammenfassungsverhalten des Modells. Sie erzwingt keine strikte Regel. Der tatsächliche Stil und der Wortlaut der Zusammenfassung können je nach Eingabeinhalt und Modellentscheidungen variieren. |
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
TRANSLATE-Funktion
target_language
übersetzen.
Sie können die Parameter source_language
und target_language
in der Funktion angeben oder sie aus dem AI-Profil des Benutzers übernehmen. Wenn Ihr KI-Profil kein source_language
-Attribut enthält, erkennt der generative KI-Provider automatisch die Eingabesprache. Wenn das Attribut target_language
fehlt, gibt Select AI einen Fehler zurück.
Syntax
DBMS_CLOUD_AI.TRANSLATE
(
profile_name IN VARCHAR2,
text IN CLOB,
source_language IN VARCHAR2 DEFAULT NULL,
target_language IN VARCHAR2 DEFAULT NULL
) RETURN CLOB;
Parameter
Parameter | Beschreibung |
---|---|
|
Gibt das zu verwendende AI-Profil an. Dies ist kein erforderlicher Parameter. |
|
Gibt den Text an, den Sie übersetzen möchten. Dies ist ein obligatorischer Parameter. |
|
Sprache des Eingabetextes |
|
Sprache, in die der Text übersetzt wird. |
Beispiel
Weitere Informationen finden Sie unter Beispiel: AI Translate auswählen.
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Funktion GENERATE_SYNTHETIC_DATA
Im Folgenden wird die Syntax zum Generieren synthetischer Daten für eine einzelne Tabelle beschrieben.
Syntax
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA
(
profile_name IN VARCHAR2,
object_name IN DBMS_ID,
owner_name IN DBMS_ID,
record_count IN NUMBER,
user_prompt IN CLOB DEFAULT NULL,
params IN CLOB DEFAULT NULL
);
Im Folgenden wird die Syntax zum Generieren synthetischer Daten für mehrere Tabellen beschrieben.
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA(
profile_name IN VARCHAR2,
object_list IN CLOB,
params IN CLOB DEFAULT NULL
);
Wenn Sie nicht möchten, dass Tabellendaten oder Vektorsuchdokumente an ein LLM gesendet werden, kann ein Benutzer mit Administratorberechtigungen diesen Zugriff für alle Benutzer der angegebenen Datenbank deaktivieren. Dadurch wird die Aktion narrate
deaktiviert.
Parameter
Parameter | Erforderlich | Beschreibung |
---|---|---|
|
Ja |
Das AI-Profil mit den erforderlichen LLM-Serviceinformationen. Dies kann mit der Prozedur CREATE_PROFILE erstellt werden. |
|
Ja | Geben Sie einen Tabellennamen an, um synthetische Daten aufzufüllen.
|
owner_name |
Nein |
Geben Sie den Datenbankbenutzer an, der Eigentümer des referenzierten Objekts ist. Wenn kein bestimmter Eigentümer angegeben ist, verwendet die Prozedur standardmäßig das Schema des Benutzers, der sie ausführt. |
record_count |
Nein |
Die Anzahl der Datensätze, die synthetisch generiert werden sollen. |
|
Nein | Zusätzliche Informationen, die ein Benutzer erwähnen kann, um synthetische Daten zu generieren. Beispiel: Um einen Datensatz für eine Tabelle namens MOVIE mit einer Spalte release_date zu generieren, kann user_prompt Folgendes sein:
Das Veröffentlichungsdatum für die Filme sollte 2019 sein |
|
Nein |
Optionale Attribute, die im JSON-Objektzeichenfolgenformat angegeben werden, um das Verhalten einer API zu ändern. Siehe Optionale Parameter. |
|
Ja | Verwenden Sie diesen Parameter, um synthetische Daten in mehreren Tabellen zu generieren. Dieser Parameter nimmt Informationen zu Tabellenobjekten zusammen mit seinen Argumenten auf und enthält dieselben Argumente, die in der einzelnen Tabelle angegeben sind. Siehe object_list Parameter. |
Optionale Werte
Parameter | Wertdatentyp | Wert | Beschreibung |
---|---|---|---|
|
Nummer |
|
Geben Sie die Anzahl der Zeilen aus der Tabelle an, die als Beispiel für das LLM bei der Datengenerierung verwendet werden sollen. Der Wert 0 bedeutet, dass keine Beispielzeilen verwendet werden. Der Standardwert ist |
|
Boolescher Wert |
|
Aktivieren oder deaktivieren Sie die Verwendung von Tabellenstatistikinformationen. Der Standardwert ist |
|
Zeichenfolge |
Gültige Werte:
|
Weisen Sie einen Prioritätswert zu, der die Anzahl der parallelen Anforderungen definiert, die zum Generieren synthetischer Daten an das LLM gesendet werden. Aufgaben mit höherer Priorität verbrauchen mehr Datenbankressourcen und werden schneller abgeschlossen. Der Standardwert ist
Die maximale Anzahl gleichzeitiger paralleler Prozesse für die Generierung synthetischer Daten ist auf 64 begrenzt. |
|
Boolescher Wert |
|
Aktivieren oder deaktivieren Sie das Senden von Kommentaren an das LLM, um die Datengenerierung zu steuern. Der Standardwert ist |
object_list-Parameter
Parameter | Wertdatentyp | Erforderlich | Beschreibung |
---|---|---|---|
|
Zeichenfolge |
Ja |
Gibt den Datenbankbenutzer an, der Eigentümer des referenzierten Objekts ist. Wenn kein bestimmter Eigentümer angegeben ist, verwendet die Prozedur standardmäßig das Schema des Benutzers, der sie ausführt. |
|
Zeichenfolge |
Nein |
Geben Sie einen Tabellennamen an, um synthetische Daten aufzufüllen. Die Berechtigung SELECT und INSERT für die Tabellenobjekte sind für den Benutzer erforderlich, der die Tabelle it.The verwendet, die entweder leer ist oder Datensätze enthält.
|
|
Nummer |
Nein |
Die Anzahl der Datensätze, die synthetisch generiert werden sollen. Bitte geben Sie eine Zahl größer als 0 an. Geben Sie |
|
Nummer |
Nein |
Der Prozentsatz der Anzahl der Datensätze, die synthetisch generiert werden sollen. Bitte geben Sie eine Zahl größer als 0 an. Bei einer Metadatenklondatenbank, in der die Tabellenmetadaten einschließlich Statistiken beibehalten werden, wird der Parameter Geben Sie Wenn Sie den Parameter
record_count_percentage verwenden, wird die endgültige Datensatzanzahl in der Tabelle wie folgt berechnet:
|
|
Zeichenfolge | Nein | Entspricht: user_prompt in Parameters. Die user_prompt ist mit einem bestimmten Tabellenobjekt verknüpft.
|
Beispiele
Die folgenden Beispiele zeigen die Funktion DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA
zum Generieren synthetischer Daten für eine einzelne Tabelle und mehrere Tabellen. Ein vollständiges Beispiel und weitere Beispiele finden Sie unter Beispiel: Synthetische Daten generieren.
BEGIN
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA(
profile_name => 'GENAI',
object_name => 'Director',
owner_name => 'ADB_USER',
record_count => 5
);
END;
/
PL/SQL procedure successfully completed.
BEGIN
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA(
profile_name => 'GENAI',
object_list => '[{"owner": "ADB_USER", "name": "Director","record_count":5},
{"owner": "ADB_USER", "name": "Movie_Actor","record_count":5},
{"owner": "ADB_USER", "name": "Actor","record_count":10},
{"owner": "ADB_USER", "name": "Movie","record_count":5,"user_prompt":"all movies are released in 2009"}]'
);
END;
/
PL/SQL procedure successfully completed.
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Prozedur ENABLE_DATA_ACCESS
Dieses Verfahren ermöglicht das Senden von Daten an LLM für anwendbare Select AI-Features. Dies ist das Standardverhalten. Diese Prozedur kann nur von einem Administrator ausgeführt werden.
Diese Prozedur kontrolliert den Datenzugriff für die folgenden Select AI-Funktionen:
- Aktion
narrate
- Retrieval Augmented Generation (RAG)
- Synthetische Datengenerierung
Syntax
DBMS_CLOUD_AI.ENABLE_DATA_ACCESS
();
Parameter
Für dieses Verfahren sind keine Parameter erforderlich.
Beispiel für die Aktivierung des Datenzugriffs
BEGIN
DBMS_CLOUD_AI.ENABLE_DATA_ACCESS
();
END;
/
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Prozedur DISABLE_DATA_ACCESS
Dieses Verfahren deaktiviert das Senden von Daten an LLM für anwendbare Select AI-Features. Diese Prozedur kann nur von einem Administrator ausgeführt werden.
Diese Prozedur begrenzt die folgenden Select AI-Funktionen:
- Aktion
narrate
- Retrieval Augmented Generation (RAG)
- Synthetische Datengenerierung
Syntax
DBMS_CLOUD_AI.DISABLE_DATA_ACCESS
();
Parameter
Für dieses Verfahren sind keine Parameter erforderlich.
Beispiel zum Deaktivieren des Datenzugriffs
BEGIN
DBMS_CLOUD_AI.DISABLE_DATA_ACCESS
();
END;
/
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Prozedur CREATE_VECTOR_INDEX
Bei dieser Prozedur wird ein Vektorindex in der angegebenen Vektordatenbank erstellt und mit Daten aus einem Objektspeicher mit einem asynchronen Scheduler-Job aufgefüllt.
Syntax
PROCEDURE CREATE_VECTOR_INDEX(
index_name IN VARCHAR2,
attributes IN CLOB DEFAULT NULL,
status IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL
);
Parameter
Parameter | Beschreibung |
---|---|
|
Name des Vektorindex. Der Vektorindexname muss den Benennungsregeln der Oracle SQL-ID entsprechen. Der Name des Vektorspeichers darf maximal 125 Zeichen lang sein. Dies ist ein obligatorischer Parameter. |
|
Benutzerdefinierte Attribute für den Vektorindex in JSON. Eine Liste der konfigurierbaren Parameter finden Sie unter Vektorindexattribute. Der Standardwert ist NULL. |
status |
Status des Vektorindex. Mögliche Werte sind:
Der Standardwert ist Deaktiviert. |
|
Beschreibung für den Vektorindex. Der Standardwert ist NULL. |
Beispiel
Im folgenden Beispiel wird gezeigt, wie Sie einen Vektorindex erstellen und die Attribute als JSON-Parameter konfigurieren.
BEGIN
DBMS_CLOUD_AI.CREATE_VECTOR_INDEX
(
index_name => 'MY_INDEX'
attributes => JSON_OBJECT(
'vector_db_provider' value 'oracle',
'vector_table_name' value 'oracle_mycollection',
'profile_name' value 'OCIGENAI',
'location' value
'https://objectstorage.us-phoenix-1.' ||
'oraclecloud.com/n/mynamespace/b/mybucket',
'object_store_credential_name' value 'OS_CRED',
'chunk_size' value 2048,
'chunk_overlap' value 256,
'refresh_rate' value 720)
);
END;
/
Prozedur DROP_VECTOR_INDEX
Mit diesem Verfahren wird ein Vektorspeicherindex entfernt. Es entfernt normalerweise das Vektorspeicher-Indexobjekt und löscht den Vektorspeicher. Wenn dieser Wert auf FALSE
gesetzt ist, stellt das Argument include_data
sicher, dass die Prozedur das Vektorspeicherindexobjekt nur entfernt, während der Vektorspeicher beibehalten wird.
Syntax
PROCEDURE DROP_VECTOR_INDEX(
index_name IN VARCHAR2,
include_data IN BOOLEAN DEFAULT TRUE,
force IN BOOLEAN DEFAULT FALSE
);
Parameter
Parameter | Beschreibung |
---|---|
|
Name des Vektorindex. Der Vektorindexname muss den Benennungsregeln der Oracle SQL-ID entsprechen. Der Name des Vektorspeichers darf maximal 125 Zeichen lang sein. Dies ist ein obligatorischer Parameter. |
|
Gibt an, ob sowohl der Vektorspeicher des Kunden als auch der Vektorindex zusammen mit dem Vektorindexobjekt gelöscht werden. Mögliche Werte:
Der Standardwert ist |
force |
Gibt an, ob Fehler ignoriert werden sollen, die auftreten, wenn der Vektorindex nicht vorhanden ist. Mögliche Werte:
Wenn dieser Parameter auf Der Standardwert ist |
Beispiel
BEGIN
DBMS_CLOUD_AI.DROP_VECTOR_INDEX(
index_name => 'MY_INDEX',
include_data => FALSE,
force => TRUE
);
END;
/
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Prozedur DISABLE_VECTOR_INDEX
Mit dieser Prozedur wird ein Vektorindexobjekt in der aktuellen Datenbank deaktiviert. Wenn diese Option deaktiviert ist, kann ein AI-Profil den Vektorindex nicht verwenden. Das System lädt keine Daten in den Vektorspeicher, da neue Daten zum Objektspeicher hinzugefügt werden, und führt keine Indexierung, Suche oder Abfrage basierend auf dem Index durch.
Syntax
DBMS_CLOUD_AI.DISABLE_VECTOR_INDEX
(
index_name IN VARCHAR2
);
Parameter
Parameter | Beschreibung |
---|---|
|
Name des Vektorindex. Der Vektorindexname muss den Benennungsregeln der Oracle SQL-ID entsprechen. Der Name des Vektorspeichers darf maximal 125 Zeichen lang sein. Dies ist ein obligatorischer Parameter. |
Beispiel
Sie können einen Vektorindex deaktivieren, indem Sie den Namen des Vektorindex angeben.
BEGIN
DBMS_CLOUD_AI.DISABLE_VECTOR_INDEX
(index_name => 'MY_INDEX');
END;
/
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Prozedur ENABLE_VECTOR_INDEX
Mit dieser Prozedur wird ein zuvor deaktiviertes Vektorindexobjekt aktiviert oder aktiviert. Wenn Sie einen Vektorindex erstellen, ist er standardmäßig so aktiviert, dass das AI-Profil ihn für die Indexierung und Suche verwenden kann.
Wenn diese Option aktiviert ist, ermöglicht ein Vektorindex es einem AI-Profil, neue Daten aus einem Objektspeicher mit einer benutzerdefinierten Aktualisierungsrate in einen Vektorspeicher zu laden. Sie können den Parameter refresh_rate
über die JSON-Objektliste angeben. Informationen zum Konfigurieren der JSON-Attribute finden Sie unter Vektorindexattribute.
Syntax
DBMS_CLOUD_AI.ENABLE_VECTOR_INDEX
(
index_name IN VARCHAR2
);
Parameter
Parameter | Beschreibung |
---|---|
|
Name des Vektorindex. Der Vektorindexname muss den Benennungsregeln der Oracle SQL-ID entsprechen. Der Name des Vektorspeichers darf maximal 125 Zeichen lang sein. Dies ist ein obligatorischer Parameter. |
Beispiel
Sie können einen Vektorindex aktivieren oder aktivieren, indem Sie den Vektorindexnamen wie folgt angeben:
BEGIN
DBMS_CLOUD_AI.ENABLE_VECTOR_INDEX
(index_name => 'MY_INDEX');
END;
/
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Prozedur UPDATE_VECTOR_INDEX
Diese Prozedur aktualisiert einen vorhandenen Vektorspeicherindex mit einem angegebenen Wert des Vektorindexattributs. Es wird überladen, um Attributwerte verschiedener Typen zu akzeptieren.
Syntax
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX
(
index_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN VARCHAR2
);
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX
(
index_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN CLOB DEFAULT NULL
);
Parameter
Parameter | Beschreibung |
---|---|
|
Name des Vektorindex. Der Vektorindexname muss den Benennungsregeln der Oracle SQL-ID entsprechen. Der Name des Vektorspeichers darf maximal 125 Zeichen lang sein. Dies ist ein obligatorischer Parameter. |
|
Name der benutzerdefinierten Attribute, die in der Prozedur Sie können die folgenden Attribute nicht ändern:
Dies ist ein obligatorischer Parameter. |
attribute_value |
Vom Benutzer angegebener Wert für die benutzerdefinierte Der Standardwert ist NULL. |
Beispiel
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX
(
index_name => 'MY_INDEX',
attribute_name => 'object_storage_credential_name',
attribute_value => 'NEW_CRED'
);
END;
/
Im folgenden Beispiel wird der Typ NUMBER
als attribute_value
akzeptiert.
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX
(
index_name => 'MY_INDEX',
attribute_name => 'match_limit',
attribute_value => 10
);
END;
/
Im folgenden Beispiel wird der Typ VARCHAR2
als attribute_value
akzeptiert.
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX
(
index_name => 'MY_INDEX',
attribute_name => 'profile_name',
attribute_value => 'AI_PROF2'
);
END;
/
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI
Vektorindexattribute
Attribute
Attributname | Wert | Erforderlich | Beschreibung |
---|---|---|---|
chunk_size |
1024 (Standard)
|
Nein |
Textgröße für das Blockieren der Eingabedaten. Bei Textdaten bedeutet dies die Anzahl der Zeichen. |
chunk_overlap |
128 (Standard)
|
Nein |
Gibt die Anzahl sich überschneidender Zeichen zwischen angrenzenden Textblöcken an. Dieses Attribut ist nützlich, um kontextbezogene Kontinuität und Genauigkeit bei der Textverarbeitung sicherzustellen, indem Überschneidungen zwischen Segmenten zugelassen werden. Dadurch wird der Verlust kontextbezogener Informationen an Chunk-Grenzen verhindert. |
|
NA | Ja |
Dieser Parameter gibt die URI der Quelldatei oder Verzeichnisse und Quelldateien an. Platzhaltermuster werden sowohl für Quelldatei-URIs als auch für Verzeichnisse unterstützt. URIs der Cloud-Quelldatei: Sie können eine Quelldatei-URI für Bucket oder Unterordner angeben. Sie können Platzhalter verwenden, um Unterordner oder Dateinamen anzugeben. Das Zeichen " Beispiel mit Platzhaltern: location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o/year=????/month=??/*.csv Das Format der URIs ist vom benutzten Cloud-Objektspeichersystem abhängig. Weitere Einzelheiten finden Sie unter URI-Formate für DBMS_CLOUD. Verzeichnis: Sie können ein Verzeichnis und einen Dateinamen angeben. Das Format für die Angabe eines Verzeichnisses lautet: Sie können nur Platzhalter verwenden, um Dateinamen in einem Verzeichnis anzugeben. Das Zeichen Verwenden Sie doppelte Anführungszeichen, um einen Verzeichnisnamen anzugeben, bei dem die Groß-/Kleinschreibung beachtet wird. Beispiel: Um ein Anführungszeichen einzuschließen, verwenden Sie zwei Anführungszeichen. Beispiel: Die Dateien an diesem Speicherort können Dokumente in Formaten wie PDF, DOC, JSON, XML oder HTML sein. Siehe Unterstützte Dokumentformate. |
|
5 (Standard)
|
Nein |
Gibt die maximale Anzahl von Ergebnissen an, die in einer Vektorsuchabfrage zurückgegeben werden sollen. Dadurch wird die Ausgabegröße gesteuert und die Effizienz von Datenabrufvorgängen verbessert. |
|
NA | Ja |
Gibt den Namen der Zugangsdaten für den Zugriff auf einen Objektspeicher an. |
|
<vector_index_name>$VECPIPELINE |
Nein |
Gibt den Namen der Dataload-Pipeline für Vektorindizes an. Dieses Attribut wird automatisch für den Vektorindex festgelegt. Sie können es nicht angeben oder ändern. Mit dem Pipelinenamen können Sie das Dataload des Vektorindex mit Pipelines überwachen und Fehler beheben überwachen. |
|
NA | Ja |
Name des AI-Profils, das zum Einbetten von Quelldaten und Benutzer-Prompts verwendet wird. |
|
1440 Minuten (Standard)
|
Nein |
Intervall für die Aktualisierung von Daten im Vektorspeicher. Die Einheit ist Minuten. |
|
0 (Standard)
|
Nein |
Definiert die minimale Ähnlichkeitsebene, die erforderlich ist, damit zwei Elemente als Übereinstimmung betrachtet werden. Dies ist nützlich, um Ergebnisse in Übereinstimmungsalgorithmen zu filtern, um die Relevanz sicherzustellen. |
|
Eine Zeichenfolge, die einem der in der Beschreibung angegebenen Werte entspricht. |
Nein |
Gibt den Typ der Entfernungsberechnung an, die zum Vergleichen von Vektoren in einer Datenbank verwendet wird, und bestimmt, wie die Ähnlichkeit zwischen Elementen quantifiziert wird. Gültige Werte für Oracle 23ai:
|
|
|
Ja |
Gibt den Providernamen an, der als Vektorspeicher verwaltet und dient. |
|
NA | Nein |
Gibt die Anzahl der Elemente in jedem Vektor innerhalb des Vektorspeichers an und definiert die Größe und Struktur der Datendarstellung. |
|
|
Nein |
Gibt den Namen der Tabelle oder Sammlung an, in der Vektoreinbettungen und Blockdaten gespeichert werden. |
BEGIN
DBMS_CLOUD_AI.CREATE_VECTOR_INDEX
(
index_name => 'MY_INDEX',
attributes => '{"vector_db_provider": "oracle",
"location": "https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/my_namespace/my_bucket/my_data_folder",
"object_storage_credential_name": "OCI_CRED",
"profile_name": "OPENAI_ORACLE",
"vector_dimension": 1024,
"vector_distance_metric": "cosine",
"chunk_overlap":128,
"chunk_size":1024
}');
END;
/
/
In diesem Beispiel wird ein Platzhaltermuster (*) in der Object Storage-URI als Parameter location
angegeben. Es lädt alle CSV-Dateien aus der Object Storage-URI.
BEGIN
DBMS_CLOUD_AI.CREATE_VECTOR_INDEX(
index_name => 'MY_INDEX',
attributes => JSON_OBJECT(
'vector_db_provider' value 'oracle',
'vector_table_name' value 'oracle_mycollection',
'profile_name' value 'OCIGENAI',
'location' value 'https://objectstorage.myregion.oraclecloud.com/n/my$namespace/b/bucketname/o/year=????/month=??/file*.csv)',
'object_storage_credential_name' value 'OS_CRED',
'chunk_size' value 2048,
'chunk_overlap' value 256,
'refresh_rate' value 720)
);
END;
/
In diesem Beispiel werden Verzeichnisobjekte im Parameter location
mit einem Platzhaltermuster angegeben. Es lädt alle CSV-Dateien im Verzeichnis MY_DIR
.
BEGIN
DBMS_CLOUD_AI.CREATE_VECTOR_INDEX(
index_name => 'MY_INDEX',
attributes => JSON_OBJECT(
'vector_db_provider' value 'oracle',
'vector_table_name' value 'oracle_mycollection',
'profile_name' value 'OCIGENAI',
'location' value 'MY_DIR:*.csv',
'object_storage_credential_name' value 'OS_CRED',
'chunk_size' value 2048,
'chunk_overlap' value 256,
'refresh_rate' value 720)
);
END;
/
In diesem Beispiel werden Verzeichnisobjekte im Parameter location
mit einem Platzhaltermuster angegeben, bei denen die Groß-/Kleinschreibung beachtet wird. Es lädt alle CSV-Dateien im Verzeichnis My_Dir
.
BEGIN
DBMS_CLOUD_AI.CREATE_VECTOR_INDEX(
index_name => 'MY_INDEX',
attributes => JSON_OBJECT(
'vector_db_provider' value 'oracle',
'vector_table_name' value 'oracle_mycollection',
'profile_name' value 'OCIGENAI',
'location' value '"My_Dir":*.csv',
'object_storage_credential_name' value 'OS_CRED',
'chunk_size' value 2048,
'chunk_overlap' value 256,
'refresh_rate' value 720)
);
END;
/
In diesem Beispiel wird im Parameter location
ein Verzeichnisobjekt angegeben, bei dem die Groß-/Kleinschreibung beachtet wird. Verwenden Sie dazu ein Platzhaltermuster (*). Es lädt alle Dateien im Verzeichnis My_Dir
.
BEGIN
DBMS_CLOUD_AI.CREATE_VECTOR_INDEX(
index_name => 'MY_INDEX',
attributes => JSON_OBJECT(
'vector_db_provider' value 'oracle',
'vector_table_name' value 'oracle_mycollection',
'profile_name' value 'OCIGENAI',
'location' value '"My_Dir":*',
'object_storage_credential_name' value 'OS_CRED',
'chunk_size' value 2048,
'chunk_overlap' value 256,
'refresh_rate' value 720)
);
END;
/
In diesem Beispiel wird ein Verzeichnisobjekt angegeben, und im Parameter location
wird ein Dateinamenpräfix wie test verwendet. Es lädt alle Dateien im Verzeichnis MY_DIR
, deren Namen mit test beginnen.
BEGIN
DBMS_CLOUD_AI.CREATE_VECTOR_INDEX(
index_name => 'MY_INDEX',
attributes => JSON_OBJECT(
'vector_db_provider' value 'oracle',
'vector_table_name' value 'oracle_mycollection',
'profile_name' value 'OCIGENAI',
'location' value 'MY_DIR:test*',
'object_storage_credential_name' value 'OS_CRED',
'chunk_size' value 2048,
'chunk_overlap' value 256,
'refresh_rate' value 720)
);
END;
/
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_AI