Paquete DBMS_CLOUD_AI
El paquete DBMS_CLOUD_AI, con Select AI, facilita y configura la traducción de peticiones de datos en lenguaje natural para generar, ejecutar y explicar sentencias SQL. Además, permite la generación aumentada de recuperación y las interacciones basadas en lenguaje natural, incluido el chat con LLM.
Requisitos
- Para crear un Gateway de NAT en la red virtual en la nube (VCN) donde residen los recursos de la base de datos de IA autónoma, siga las instrucciones de Creación de un Gateway de NAT en la documentación de Oracle Cloud Infrastructure.
- Después de crear el gateway de NAT, agregue una regla de ruta y una regla de seguridad de salida a cada subred (en la VCN), en la que residan las base de datos de IA autónoma, de modo que estos recursos puedan utilizar el gateway para obtener una clave pública de su instancia de de Azure AD:
- Vaya a la página Detalles de subred de la subred.
- En el separador Información de Subred, haga clic en el nombre de la Tabla de Direcciones de la subred para mostrar su página Detalles de Tabla de Direcciones.
- En la tabla de Reglas de ruta existentes, compruebe si ya hay una regla con las siguientes características:
- Destino: 0.0.0.0/0
- Tipo de destino: gateway de NAT
- Destino: nombre del gateway de NAT que acaba de crear en la VCN
Si dicha regla no existe, haga clic en Agregar reglas de ruta y agregue una regla de ruta con estas características.
- Vuelva a la página Detalles de subred de la subred.
- En la tabla Listas de seguridad de la subred, haga clic en el nombre de la lista de seguridad de la subred para mostrar su página Detalles de lista de seguridad.
- En el menú lateral, en Recursos, haga clic en Reglas de salida.
- En la tabla de Reglas de salida existentes, compruebe si ya hay una regla con las siguientes características:
- Tipo de destino: CIDR
- Destino: 0.0.0.0/0
- Protocolo IP: TCP
- Rango de puertos de origen: 443
- Rango de puertos de destino: todos
Si dicha regla no existe, haga clic en Agregar Reglas de Salida y agregue una regla de salida con estas características.
La configuración del proxy HTTP en el entorno debe permitir que la base de datos acceda al proveedor de servicios en la nube.
Note:
La configuración de red, incluido el proxy HTTP, solo se puede editar hasta que la infraestructura de Exadata tenga el estado Necesita activación. Una vez activada, no puede editar esa configuración.La configuración de un proxy HTTP para una infraestructura de Exadata ya aprovisionada necesita una solicitud de servicio (SR) en My Oracle Support. Consulte Creación de una solicitud de servicio en My Oracle Support para obtener más información.
Resumen de subprogramas DBMS_CLOUD_AI
En esta sección se tratan los subprogramas DBMS_CLOUD_AI proporcionados con Autonomous AI Database.
| Subprograma | Descripción |
|---|---|
|
Este procedimiento crea un nuevo perfil de AI para traducir peticiones de datos de lenguaje natural a sentencias SQL. |
|
|
Este procedimiento desactiva un perfil de AI en la base de datos actual. |
|
|
Este procedimiento borra un perfil AI existente. |
|
|
Este procedimiento permite que un perfil AI se utilice en la base de datos actual. |
|
| Esta función genera una sentencia SQL mediante AI para traducir. | |
|
Este procedimiento define los atributos del perfil de AI. |
|
|
Este procedimiento define el perfil de AI para la base de datos actual. |
Procedimiento CREATE_PROFILE
El procedimiento crea un nuevo perfil de AI para traducir peticiones de datos de lenguaje natural a sentencias SQL.
Sintaxis
DBMS_CLOUD_AI.CREATE_PROFILE
profile_name IN VARCHAR2,
attributes IN CLOB DEFAULT NULL,
status IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL
);Parámetros
| parámetro | Descripción |
|---|---|
|
|
Un nombre para el perfil AI. El nombre de perfil debe seguir las reglas de nomenclatura del identificador SQL de Oracle. La longitud máxima del nombre de perfil es de 125 caracteres. Este parámetro es obligatorio. |
|
|
Atributos de perfil en formato JSON. Consulte AI Profile Attributes para obtener más información. El valor por defecto es NULL. |
status |
Estado del perfil. El valor predeterminado es Activar. |
|
|
Descripción del perfil AI. El valor por defecto es NULL. |
Ejemplo
BEGIN
DBMS_CLOUD_AI.CREATE_PROFILE(
profile_name => 'OpenAI,
attributes => JSON_OBJECT('provider' value 'openai',
'credential_name' value 'openai_cred'),
description => 'AI profile to use OpenAI for SQL translation'
);
END;
/
Procedimiento DROP_PROFILE
El procedimiento borra un perfil AI existente. Si el perfil no existe, el procedimiento devuelve un error.
Sintaxis
DBMS_CLOUD_AI.DROP_PROFILE(
profile_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE
);Parámetros
| parámetro | Descripción |
|---|---|
|
|
Nombre del perfil de AI |
|
|
Si es El valor por defecto de este parámetro es |
Ejemplo
BEGIN
DBMS_CLOUD_AI.DROP_PROFILE(profile_name => 'OPENAI');
END;
/Notas de uso
Utilice force para borrar un perfil e ignorar errores si el perfil AI no existe.
Procedimiento ENABLE_PROFILE
Este procedimiento activa el perfil AI que el usuario especifica. El procedimiento cambia el estado del perfil AI a ENABLED.
Sintaxis
DBMS_CLOUD_AI.ENABLE_PROFILE(
profile_name IN VARCHAR2
);Parámetros
| parámetro | Descripción |
|---|---|
|
|
Nombre del perfil AI que se va a activar Este parámetro es obligatorio. |
Ejemplo para activar el perfil AI
BEGIN
DBMS_CLOUD_AI.ENABLE_PROFILE(
profile_name => 'OPENAI'
);
END;
/
Procedimiento DISABLE_PROFILE
Este procedimiento desactiva el perfil de AI en la base de datos actual. Este procedimiento cambia el estado del perfil AI a DISABLED.
Sintaxis
DBMS_CLOUD_AI.DISABLE_PROFILE(
profile_name IN VARCHAR2
);
Parámetros
| parámetro | Descripción |
|---|---|
|
|
Nombre del perfil AI. Este parámetro es obligatorio. |
Ejemplo
BEGIN
DBMS_CLOUD_AI.DISABLE_PROFILE(
profile_name => 'OPENAI'
);
END;
/
Procedimiento SET_ATTRIBUTE
Este procedimiento permite definir atributos de perfil de AI.
Sintaxis
DBMS_CLOUD_AI.SET_ATTRIBUTE(
profile_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN CLOB
);
Parámetros
Solo el propietario puede configurar o modificar los atributos del perfil de AI. Para ver una lista de atributos admitidos, consulte Profile Attributes.
| parámetro | Descripción |
|---|---|
|
|
Nombre del perfil de AI para el que desea definir los atributos. Este parámetro es obligatorio. |
|
|
Nombre del atributo de perfil AI Este parámetro es obligatorio. |
|
|
Valor del atributo del perfil. El valor por defecto es NULL. |
Ejemplo
BEGIN
DBMS_CLOUD_AI.SET_ATTRIBUTE(
profile_name => 'OPENAI',
attribute_name => 'credential_name',
attribute_value => 'OPENAI_CRED_NEW'
);
END;
/
Procedimiento SET_PROFILE
Este procedimiento define el perfil de AI para la sesión actual.
Después de definir un perfil de AI para la sesión de base de datos, cualquier sentencia SQL con el prefijo SELECT AI se considera una petición de datos de lenguaje natural. Según la acción especificada con el prefijo AI, se genera una respuesta mediante AI. Para utilizar el prefijo AI, consulte Use AI Keyword to Enter Prompts. Opcionalmente, es posible sustituir los atributos de perfil o modificar los atributos especificándolos en formato JSON. Consulte Procedimiento SET_ATTRIBUTE para definir los atributos.
El perfil AI solo se puede configurar para la sesión actual si el propietario del perfil AI es el usuario de la sesión.
Para definir un perfil AI para todas las sesiones de un usuario de base de datos específico o para todas las sesiones de usuario de la base de datos, considere el uso de un disparador de evento de base de datos para el evento AFTER LOGON en el usuario específico o en toda la base de datos. Consulte CREATE TRIGGER Statement en Oracle Database 19c Database PL/SQL Language Reference u Oracle Database 26ai Database PL/SQL Language Reference para obtener más información.
Sintaxis
DBMS_CLOUD_AI.SET_PROFILE(
profile_name IN VARCHAR2,
);
Parámetros
| parámetro | Descripción |
|---|---|
|
|
Un nombre para el perfil AI en la sesión actual. Este parámetro es obligatorio. |
Ejemplo
BEGIN
DBMS_CLOUD_AI.SET_PROFILE(
profile_name => 'OPENAI'
);
END;
/
GENERAR Función
showsql, narrate o chat. La acción por defecto es showsql.
La sustitución de algunos o todos los atributos de perfil también es posible mediante esta función.
Sintaxis
DBMS_CLOUD_AI.GENERATE(
prompt IN CLOB,
profile_name IN VARCHAR2 DEFAULT NULL,
action IN VARCHAR2 DEFAULT NULL,
attributes IN CLOB DEFAULT NULL
) RETURN CLOB;
Parámetros
| parámetro | Descripción |
|---|---|
|
|
El lenguaje natural requiere traducir usando IA. La petición de datos puede incluir Este parámetro es obligatorio. |
|
|
Nombre del perfil de AI. Este parámetro es opcional si ya hay un perfil AI definido en la sesión mediante El valor por defecto es NULL. Se aplican las siguientes condiciones:
Note: Para Database Actions, puede especificar el argumentoprofile_name en DBMS_CLOUD_AI.GENERATE o puede ejecutar dos pasos como script PL/SQL: DBMS_CLOUD_AI.SET_PROFILE y DBMS_CLOUD_AI.GENERATE.
|
action |
Acción para traducir la petición de datos natural mediante IA. Las acciones soportadas incluyen Note: Esta función no soporta la acciónrunsql. Si proporciona la acción runsql, devuelve el siguiente error: |
attributes |
Sustituya atributos de perfil de IA específicos proporcionando atributos en formato JSON. Consulte Atributos de perfil para obtener más información. |
Ejemplos
Los siguientes ejemplos ilustran las acciones showsql, narrate y chat que se pueden utilizar con la función DBMS_CLOUD_AI.GENERATE.
Un ejemplo con la acción showsql es el siguiente:
SELECT DBMS_CLOUD_AI.GENERATE(prompt => 'how many customers',
profile_name => 'OPENAI',
action => 'showsql')
FROM dual;
Un ejemplo con la acción narrate es el siguiente:
SELECT DBMS_CLOUD_AI.GENERATE(prompt => 'how many customers',
profile_name => 'OPENAI',
action => 'narrate')
FROM dual;
Un ejemplo con la acción chat es el siguiente:
SELECT DBMS_CLOUD_AI.GENERATE(prompt => 'what is oracle autonomous database',
profile_name => 'OPENAI',
action => 'chat')
FROM dual;
Función GENERATE_SYNTHETIC_DATA
A continuación, se muestra la sintaxis para generar datos sintéticos para una sola tabla.
Sintaxis
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
);
A continuación, se muestra la sintaxis para generar datos sintéticos para varias tablas.
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA(
profile_name IN VARCHAR2,
object_list IN CLOB,
params IN CLOB DEFAULT NULL
);
Si no desea que los datos de tabla o los documentos de búsqueda vectorial se envíen a un LLM, un usuario con privilegios de administrador puede desactivar dicho acceso para todos los usuarios de la base de datos proporcionada. Esto, de hecho, desactiva la acción narrate.
Parámetros
| parámetro | Obligatorio | Descripción |
|---|---|---|
|
|
Sí |
El perfil de AI que contiene la información de servicio del LLM necesaria. Esto se puede crear mediante el procedimiento CREATE_PROFILE. |
|
|
Sí | Especifique un nombre de tabla para rellenar los datos sintéticos.
|
owner_name |
N.º |
Especifique el usuario de la base de datos propietario del objeto al que se hace referencia. Si no se proporciona ningún propietario específico, el procedimiento utiliza por defecto el esquema del usuario que lo ejecuta. |
record_count |
N.º |
El número de registros que se van a generar sintéticamente. |
|
|
N.º | Información adicional que un usuario puede mencionar para generar datos sintéticos. Por ejemplo, para generar un registro para una tabla denominada MOVIE con una columna release_date, user_prompt puede ser:
la fecha de estreno de las películas debería ser en 2019 |
|
|
N.º |
Atributos opcionales proporcionados en formato de cadena de objeto JSON para modificar el comportamiento de una API. Consulte Optional Parameters. |
|
|
Sí | Utilice este parámetro para generar datos sintéticos en varias tablas. Este parámetro incluye información de objeto de tabla junto con sus argumentos y contiene los mismos argumentos proporcionados en la tabla única. Consulte object_list Parameters. |
Parámetros Opcionales
| parámetro | Tipo de dato de valor | Valor | Descripción |
|---|---|---|---|
|
|
Número |
|
Especifique el número de filas de la tabla que desea utilizar como ejemplo para guiar el LLM en la generación de datos. Un valor de 0 significa que no se utilizarán filas de ejemplo. El valor por defecto es |
|
|
Booleano |
|
Active o desactive el uso de la información de estadísticas de tabla. El valor por defecto es |
|
|
Cadena |
Éstos son los valores válidos:
|
Asigne un valor de prioridad que defina el número de solicitudes paralelas enviadas al LLM para generar datos sintéticos. Las tareas con mayor prioridad consumirán más recursos de la base de datos y se completarán más rápido. El valor por defecto es
El número máximo de procesos paralelos simultáneos utilizados para la generación de datos sintéticos está limitado a 64. |
|
|
Booleano |
|
Active o desactive el envío de comentarios al LLM para guiar la generación de datos. El valor por defecto es |
Parámetros object_list
| parámetro | Tipo de dato de valor | Obligatorio | Descripción |
|---|---|---|---|
|
|
Cadena |
Sí |
Especifica el usuario de la base de datos propietario del objeto al que se hace referencia. Si no se proporciona ningún propietario específico, el procedimiento utilizará por defecto el esquema del usuario que lo ejecuta. |
|
|
Cadena |
N.º |
Especifique un nombre de tabla para rellenar los datos sintéticos. Los privilegios SELECT y INSERT en los objetos de tabla son necesarios para que el usuario que utiliza la tabla it.The esté vacío o tenga registros en él.
|
|
|
Número |
N.º |
El número de registros que se van a generar sintéticamente. Proporcione un número mayor que 0. Proporcione |
|
|
Número |
N.º |
Porcentaje del número de registros que se van a generar sintéticamente. Proporcione un número mayor que 0. Para una base de datos de clonación de metadatos, donde se conservan los metadatos de la tabla, incluidas las estadísticas, se soporta el parámetro Proporcione Al utilizar el parámetro
record_count_percentage, el recuento de registros final de la tabla se calcula de la siguiente forma:
|
|
|
Cadena | N.º | Igual que user_prompt en Parámetros. user_prompt está asociado a un objeto de tabla específico.
|
Ejemplos
Los siguientes ejemplos muestran la función DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA para generar datos sintéticos para una sola tabla y varias tablas. Para ver un ejemplo completo y ver más ejemplos, consulte .
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.
ENABLE_DATA_ACCESS Procedimiento
Este procedimiento permite enviar datos al LLM para las funciones de selección de IA aplicables, que es el comportamiento predeterminado. Sólo un administrador puede ejecutar este procedimiento.
Este procedimiento controla el acceso a los datos para las siguientes capacidades de selección de IA:
- acción
narrate - Generación aumentada de recuperación (RAG)
- Generación de datos sintéticos
Sintaxis
DBMS_CLOUD_AI.ENABLE_DATA_ACCESS();Parámetros
Este procedimiento no requiere ningún parámetro.
Ejemplo para activar el acceso a datos
BEGIN
DBMS_CLOUD_AI.ENABLE_DATA_ACCESS();
END;
/
DISABLE_DATA_ACCESS Procedimiento
Este procedimiento desactiva el envío de datos al LLM para las funciones de selección de IA aplicables. Sólo un administrador puede ejecutar este procedimiento.
Este procedimiento limita las siguientes capacidades de selección de IA:
- acción
narrate - Generación aumentada de recuperación (RAG)
- Generación de datos sintéticos
Sintaxis
DBMS_CLOUD_AI.DISABLE_DATA_ACCESS();Parámetros
Este procedimiento no requiere ningún parámetro.
Ejemplo para desactivar el acceso a datos
BEGIN
DBMS_CLOUD_AI.DISABLE_DATA_ACCESS();
END;
/
CREATE_VECTOR_INDEX Procedimiento
Este procedimiento crea un índice vectorial en la base de datos vectorial especificada y lo rellena con datos de un almacén de objetos mediante un trabajo de programador asíncrono.
Sintaxis
PROCEDURE CREATE_VECTOR_INDEX(
index_name IN VARCHAR2,
attributes IN CLOB DEFAULT NULL,
status IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL
); Parámetros
Ejemplo
En el siguiente ejemplo se muestra cómo crear un índice vectorial y configurar los atributos como parámetros JSON.
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;
/
DROP_VECTOR_INDEX Procedimiento
Este procedimiento elimina un índice de almacén de vectores. Normalmente elimina el objeto de índice de almacén de vectores y suprime el almacén de vectores. Si se define en FALSE, el argumento include_data garantiza que el procedimiento solo elimina el objeto de índice de almacén de vectores mientras conserva el almacén de vectores.
Sintaxis
PROCEDURE DROP_VECTOR_INDEX(
index_name IN VARCHAR2,
include_data IN BOOLEAN DEFAULT TRUE,
force IN BOOLEAN DEFAULT FALSE
);
Parámetros
| parámetro | Descripción |
|---|---|
|
|
Nombre del índice vectorial. El nombre del índice vectorial debe seguir las reglas de nomenclatura del identificador de Oracle SQL. La longitud máxima del nombre del almacén de vectores es de 125 caracteres. Este parámetro es obligatorio. |
|
|
Indica si se debe suprimir el almacén de vectores y el índice de vectores del cliente junto con el objeto de índice de vectores. Posibles valores:
El valor por defecto es |
force |
Indica si se deben ignorar los errores que se producen si el índice vectorial no existe. Posibles valores:
Si se define en El valor por defecto es |
Ejemplo
BEGIN
DBMS_CLOUD_AI.DROP_VECTOR_INDEX(
index_name => 'MY_INDEX',
include_data => FALSE,
force => TRUE
);
END;
/
DISABLE_VECTOR_INDEX Procedimiento
Este procedimiento desactiva un objeto de índice vectorial en la base de datos actual. Cuando se desactiva, un perfil AI no puede utilizar el índice vectorial y el sistema no carga datos en el almacén de vectores a medida que se agregan nuevos datos al almacén de objetos y no realiza indexación, búsqueda o consulta en función del índice.
Sintaxis
DBMS_CLOUD_AI.DISABLE_VECTOR_INDEX(
index_name IN VARCHAR2
);
Parámetros
| parámetro | Descripción |
|---|---|
|
|
Nombre del índice vectorial. El nombre del índice vectorial debe seguir las reglas de nomenclatura del identificador de Oracle SQL. La longitud máxima del nombre del almacén de vectores es de 125 caracteres. Este parámetro es obligatorio. |
Ejemplo
Puede desactivar un índice vectorial proporcionando el nombre del índice vectorial.
BEGIN
DBMS_CLOUD_AI.DISABLE_VECTOR_INDEX(index_name => 'MY_INDEX');
END;
/
ENABLE_VECTOR_INDEX Procedimiento
Este procedimiento activa o activa un objeto de índice vectorial previamente desactivado. Por lo general, cuando se crea un índice vectorial, por defecto se activa de modo que el perfil AI pueda utilizarlo para realizar la indexación y la búsqueda.
Cuando se activa, un índice vectorial permite que un perfil AI lo utilice para cargar nuevos datos de un almacén de objetos en un almacén de vectores a un ratio de refrescamiento especificado por el usuario. Puede especificar el parámetro refresh_rate a través de la lista de objetos JSON. Para configurar los atributos JSON, consulte .
Sintaxis
DBMS_CLOUD_AI.ENABLE_VECTOR_INDEX(
index_name IN VARCHAR2
);
Parámetros
| parámetro | Descripción |
|---|---|
|
|
Nombre del índice vectorial. El nombre del índice vectorial debe seguir las reglas de nomenclatura del identificador de Oracle SQL. La longitud máxima del nombre del almacén de vectores es de 125 caracteres. Este parámetro es obligatorio. |
Ejemplo
Puede activar o activar un índice vectorial especificando el nombre del índice vectorial de la siguiente forma:
BEGIN
DBMS_CLOUD_AI.ENABLE_VECTOR_INDEX(index_name => 'MY_INDEX');
END;
/
UPDATE_VECTOR_INDEX Procedimiento
- valores de atributos de varios tipos.
- atributos de índice vectorial como documento JSON y actualiza uno o más atributos de un índice de almacén de vectores existente con el par de nombre y valor de atributo especificado.
Sintaxis
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name IN VARCHAR2,
attributes IN CLOB
);
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
);
Parámetros
| parámetro | Descripción |
|---|---|
|
|
Nombre del índice vectorial. El nombre del índice vectorial debe seguir las reglas de nomenclatura del identificador de Oracle SQL. La longitud máxima del nombre del almacén de vectores es de 125 caracteres. Este parámetro es obligatorio. |
|
|
Especifica los atributos de índice vectorial en formato JSON. Este parámetro es obligatorio. |
|
|
Nombre de los atributos personalizados especificados como parámetros JSON en el procedimiento No puede modificar los siguientes atributos:
Este parámetro es obligatorio. |
attribute_value |
Valor especificado por el usuario para el El valor por defecto es NULL. |
Note:
Utilice el parámetroattributes para especificar pares attribute_name y de valores en formato JSON o los parámetros attribute_name y attribute_value juntos.
Ejemplos
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name => 'MY_INDEX',
attribute_name => 'object_storage_credential_name',
attribute_value => 'NEW_CRED'
);
END;
/
El siguiente ejemplo acepta el tipo NUMBER como attribute_value.
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name => 'MY_INDEX',
attribute_name => 'match_limit',
attribute_value => 10
);
END;
/
El siguiente ejemplo acepta el tipo VARCHAR2 como attribute_value.
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name => 'MY_INDEX',
attribute_name => 'profile_name',
attribute_value => 'AI_PROF2'
);
END;
/
En el siguiente ejemplo se acepta attributes en formato JSON.
BEGIN
DBMS_CLOUD_AI.UPDATE_VECTOR_INDEX(
index_name => 'MY_VECTOR_INDEX',
attributes => '{"match_limit": 10,
"refresh_rate": 30}'
);
END;
/
Atributos de Perfil
Atributos
| Nombre del atributo | Descripción |
|---|---|
|
|
Nombre del modelo desplegado del servicio OpenAI de Azure. El nombre solo puede incluir caracteres alfanuméricos, guiones bajos (_) y guiones (-). El nombre no puede terminar con un guión bajo (_) ni un guión (-). Para saber cómo obtener |
|
|
Nombre del recurso de servicio OpenAI de Azure. El nombre del recurso solo puede incluir caracteres alfanuméricos y guiones, y no puede empezar ni terminar con un guion. Para saber cómo obtener |
|
|
Incluya comentarios de columna en los metadatos utilizados para traducir peticiones de datos de lenguaje natural mediante IA. El tipo de dato Note: Los valores booleanos no se aplican en el procedimientoDBMS_CLOUD_AI.SET_ATTRIBUTE al definir un solo atributo porque el parámetro attribute_value es del tipo de dato CLOB.
|
|
|
Atributo |
|
|
Nombre de la credencial para acceder a las API del proveedor de AI. La credencial que utiliza tokens de portador se puede crear utilizando el nombre de proveedor como nombre de usuario y el token de portador como contraseña. Es un atributo obligatorio. Consulte CREATE_CREDENTIAL Procedimiento. |
|
|
Modelo de incrustación definido en el perfil de IA. A continuación se muestran los proveedores de IA admitidos para incrustar modelos con sus valores predeterminados:
Note: El parámetroembedding_model no es aplicable para Antropic y Hugging Face.
|
|
|
Indica el número de tokens que se deben predecir por generación. El valor por defecto es 1024. Consulte Tokens and Tokenizers para obtener más información. |
|
|
Nombre del modelo de IA que se utiliza para generar respuestas. Modelos soportados para:
Note: Este parámetro no se utiliza para Azure, ya que el modelo se determina al crear el despliegue en el portal Azure OpenAI Service. |
|
|
Matriz de objetos JSON que especifica el propietario y los nombres de objeto elegibles para la traducción de lenguaje natural a SQL. Para incluir todos los objetos de un usuario determinado, omita el "nombre" y especifique solo la clave "propietario" en el objeto JSON. Para traducir el lenguaje natural a SQL, el nombre del objeto, el propietario del objeto, las columnas del objeto y los comentarios se envían al proveedor de AI mediante solicitudes HTTPS. Evite especificar objetos con nombre de objeto confidencial, nombres de columna o comentarios en la lista de objetos. Los proveedores de IA pueden tener un límite en el tamaño de los metadatos permitidos en las solicitudes de traducción. Considere limitar la lista de objetos adecuados para las peticiones de datos de lenguaje natural de los usuarios de la aplicación. Formato:
|
|
|
Especifica el OCID del compartimento al que tiene permiso para acceder al llamar al servicio OCI Generative AI. El ID de compartimento puede contener caracteres alfanuméricos, guiones y puntos. El valor por defecto es el ID de compartimento de la base de datos de IA autónoma. |
|
|
Estos atributos indican el OCID de punto final del cluster de alojamiento de IA dedicada de Oracle. El ID de punto final puede contener caracteres alfanuméricos, guiones y puntos. Para buscar el OCID de punto final, consulte Obtención de detalles de un punto final en IA generativa. Cuando desee utilizar el cluster de IA dedicado de Oracle, debe proporcionar el OCID de punto final del cluster de alojamiento. Por defecto, el ID de punto final está vacío y el modelo está bajo demanda en una infraestructura compartida. |
|
|
Este atributo indica el tipo de tiempo de ejecución del modelo proporcionado. Este atributo es necesario cuando se especifica el atributo Todos los valores permitidos se pueden encontrar en OCI Generative AI runtimeType. Consulte LlmInferenceRequest Reference. Los valores soportados son:
|
|
|
Proveedor de IA para el perfil de IA. Proveedores soportados:
Es un atributo obligatorio. |
|
|
Este atributo indica la ubicación del cluster de IA generativa que desea utilizar. La región puede contener caracteres alfanuméricos y guiones.
Note: El cluster de IA generativa de Oracle está disponible en las regiones de Chicago, Frankfurt y Londres. Consulte Pretrained Foundational Models in Generative AI.us-chicago-1.
|
|
|
El texto generado se terminará al principio de la secuencia de parada más temprana. La secuencia se incorporará al texto. El valor de atributo debe ser una matriz válida de valores de cadena en formato JSON. |
|
|
El muestreo de los modelos Generate Text incorpora aleatoriedad, de modo que la misma petición de datos pueda producir salidas diferentes cada vez que pulse "generate". La temperatura es un número de flotador no negativo utilizado para ajustar el grado de aleatoriedad. Las temperaturas más bajas significan generaciones menos aleatorias. Consulte Temperatura para obtener más detalles. Este parámetro es aplicable a todos los proveedores de servicios soportados. |
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
}');
END;
/
En el siguiente ejemplo se muestran los atributos de perfil personalizados que utilizan 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_runtimetype": "COHERE"
}');
END;
/