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 de lenguaje natural y soporta la generación aumentada de recuperación (RAG). Esta es la acción por defecto y no necesita 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

La acción narrate soporta tanto el lenguaje natural como SQL (NL2SQL) y RAG.

Para NL2SQL, narrate envía el resultado de una consulta SQL ejecutada por la base de datos al LLM, que genera una descripción de lenguaje natural de ese resultado.

Para RAG, cuando el perfil AI incluye un índice vectorial, 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.

Para las conversaciones a corto plazo basadas en sesiones, 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.

Para varias conversaciones con nombre, solo se envían al LLM los historiales de peticiones de datos relacionados con el chat. Consulte Seleccionar conversaciones de IA para obtener más información.

showprompt

Esta acción admite NL2SQL y RAG. Esta acción no admite la generación de datos sintéticos, explainsql y narrate.

Muestre la petición de datos construida que se enviaría al modelo de IA generativa.

summarize

Genera un resumen del contenido para el texto y los archivos grandes mediante proveedores de IA especificados por el usuario. Si su perfil de AI está definido en la sesión, puede utilizar SELECT AI SUMMARIZE <TEXT>.

Consulte Generar un resumen con Seleccionar IA y Ejemplo: Seleccionar acciones de IA para obtener más información.

Si desea personalizar la generación de resumen, utilice la función DBMS_CLOUD_AI.SUMMARIZE. Consulte Ejemplo: Seleccionar resumen de IA para obtener más información.

feedback

Le permite proporcionar comentarios en lenguaje natural para mejorar la capacidad del LLM para generar consultas SQL más precisas. Puede utilizarlo junto con las otras acciones de Select AI, como runsql, showsql y explainsql. Consulte Comentarios para obtener más información.

Nota

Esta función sólo está disponible en Oracle Database 23ai. Si utiliza narrate, asegúrese de que el perfil está configurado para la generación de SQL y no para RAG.

translate

Le permite utilizar la IA generativa del servicio de traducción de OCI para traducir su petición de datos al idioma preferido especificado como atributo target_language en su perfil de IA.

agent

Llama al equipo del agente para que procese la petición de datos en lenguaje natural. Consulte Seleccionar agente de AI y Ejemplos de uso de Seleccionar agente de AI para obtener más información.

Para obtener más información sobre cómo utilizar estas acciones, consulte Ejemplos de uso de Select AI.

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.