Usar palabra clave de IA para introducir peticiones de datos

Utilice AI como palabra clave en una sentencia SELECT para interactuar con la base de datos mediante peticiones de datos en lenguaje natural.

La palabra clave AI en una sentencia SELECT indica al motor de ejecución SQL que utilice el LLM identificado en el perfil de AI activo para procesar el lenguaje natural y generar SQL.

Puede utilizar la palabra clave AI en una consulta con clientes de Oracle, como SQL Developer, OML Notebooks y herramientas de terceros, para interactuar con la base de datos en lenguaje natural.

Nota

No puede ejecutar sentencias PL/SQL, sentencias DDL ni sentencias DML mediante la palabra clave AI.

Sintaxis

La sintaxis para ejecutar el indicador AI es:
SELECT AI action natural_language_prompt

Parámetros

A continuación se muestran los parámetros disponibles para el parámetro action:
Parámetro Descripción

runsql

Ejecuta el comando SQL subyacente para la petición de datos en lenguaje natural. Esta es la acción por defecto y es opcional especificar este parámetro.

showsql

Muestra la sentencia SQL para una petición de datos en lenguaje natural.

explainsql

Explica el SQL generado a partir de la petición de datos en un lenguaje natural. Esta opción envía el SQL generado al proveedor de AI para producir una explicación en lenguaje natural.

narrate

Vuelve a enviar el resultado de la consulta SQL ejecutada por la base de datos al LLM para generar una descripción en lenguaje natural de ese resultado.

Cuando se especifica un índice vectorial en el perfil AI para activar RAG, el sistema utiliza el modelo de transformador especificado (o transformador predeterminado) para crear una incrustación de vectores a partir de la petición de datos de búsqueda de similitud semántica en el almacén de vectores. A continuación, el sistema agrega el contenido recuperado del almacén de vectores a la petición de datos del usuario y lo envía al LLM para generar una respuesta basada en esta información.

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.

chat

Transfiere la petición de datos del usuario directamente al LLM para generar una respuesta, que se proporciona al usuario. Si conversation en la función DBMS_CLOUD_AI.CREATE_PROFILE se define en true, esta opción incluye contenido de interacciones o peticiones de datos anteriores, lo que podría incluir metadatos de esquema.

Notas de uso

  • La palabra clave AI para Seleccionar AI no se admite en Database Actions ni en el servicio APEX. Solo puede utilizar la función DBMS_CLOUD_AI.GENERATE.

    No utilice DBMS_CLOUD_AI.SET_PROFILE en Database Actions ni en el servicio APEX. En su lugar, defina el perfil AI en el argumento profile_name de DBMS_CLOUD_AI.GENERATE.

  • La palabra clave AI solo está soportada en una sentencia SELECT.

  • No puede ejecutar sentencias PL/SQL, sentencias DDL ni sentencias DML mediante la palabra clave AI.

  • La secuencia es SELECT seguida de AI. Estas palabras clave no distinguen entre mayúsculas y minúsculas. Después de definir el perfil de AI mediante DBMS_CLOUD_AI.SET_PROFILE y la acción opcional, el texto posterior a SELECT AI es una petición de datos en lenguaje natural. Si no se define un perfil AI, SELECT AI informa el siguiente error al ejecutar una sentencia SELECT AI:

    ORA-00923: FROM keyword not found where expected
    00923. 00000 -  "FROM keyword not found where expected"
  • Se aplican reglas de uso de caracteres especiales de acuerdo con las directrices de Oracle. Por ejemplo, utilice comillas simples dos veces si está utilizando un apóstrofe en una oración.

    select ai how many customers in SF don''t own their own home
  • Los LLM están sujetos a alucinaciones y los resultados no siempre son correctos:

    • Es posible que SELECT AI no pueda ejecutar la consulta SQL generada para una petición de datos de lenguaje natural específica.

    • Es posible que SELECT AI no pueda generar una consulta SQL para una petición de datos de lenguaje natural específica.

    • Es posible que el LLM no genere una consulta SQL que produzca un resultado correcto en función de la petición de datos en lenguaje natural.

    En este caso, SELECT AI puede responder con información para ayudarle a generar un SQL válido.

  • Para obtener mejores resultados con lenguaje natural para la generación de SQL, utilice vistas o tablas de base de datos con nombres de columna contextuales o considere agregar comentarios de columna que expliquen los valores almacenados en las columnas.

  • Utilice la acción explainsql, como en SELECT AI explainsql, para obtener una explicación más detallada de la sentencia SQL en comparación con SELECT AI showsql.
  • Para acceder a las vistas de DBA o USER, consulte DBMS_CLOUD_AI Views.