El motor RAG de Vertex AI es un componente de la plataforma Vertex AI que facilita la generación aumentada de extracción (RAG). El motor RAG permite a los modelos de lenguaje extenso (LLMs) acceder e incorporar datos de fuentes de conocimiento externas, como documentos y bases de datos. Al usar RAG, los LLMs pueden generar respuestas más precisas e informativas.
Lista de parámetros
En esta sección se enumeran los siguientes elementos:
Parámetros | Ejemplos |
---|---|
Consulta los parámetros de gestión de corpus. | Consulta ejemplos de gestión de corpus. |
Consulta los parámetros de gestión de archivos. | Consulta Ejemplos de gestión de archivos. |
Consulta Parámetros de gestión de proyectos. | Consulta Ejemplos de gestión de proyectos. |
Parámetros de gestión de corpus
Para obtener información sobre un corpus de RAG, consulta Gestión de corpus.
Crear un corpus de RAG
En esta tabla se enumeran los parámetros que se usan para crear un corpus de RAG.
Cuerpo de la solicitud
Parámetros | |
---|---|
|
Opcional: inmutable.
Configuración para especificar el tipo de corpus. |
|
Obligatorio: Nombre visible del corpus de RAG. |
|
Opcional: Descripción del corpus de RAG. |
|
Opcional: inmutable: El nombre de la clave CMEK se usa para cifrar los datos en reposo relacionados con el corpus de RAG. El nombre de clave solo se aplica a la opción Formato: |
|
Opcional: inmutable: La configuración de las bases de datos vectoriales. |
|
Opcional: Configuración de Vertex AI Search. Formato: |
CorpusTypeConfig
Parámetros | |
---|---|
|
El valor predeterminado de |
|
Si defines este tipo, el corpus de RAG será un Para obtener más información, consulta Usar Vertex AI RAG Engine como almacén de memoria. |
|
El analizador LLM que se usa para analizar y almacenar contextos de sesión de la API Gemini Live. Puedes crear recuerdos para indexarlos. |
RagVectorDbConfig
Parámetros | |
---|---|
|
Si no se especifica ninguna base de datos vectorial, |
|
Predeterminado. Busca los vecinos más cercanos exactos comparando todos los puntos de datos de tu corpus de RAG. Si no especificas una estrategia durante la creación de tu corpus de RAG, se usará KNN como estrategia de recuperación predeterminada. |
|
Determina el número de capas o niveles del árbol. Si tienesO(10K) archivos RAG en el corpus RAG, asigna el valor 2.
Determina el número de nodos hoja de la estructura basada en árbol.
|
|
Especifica tu instancia de Weaviate. |
|
El endpoint HTTP de la instancia de Weaviate. Este valor no se puede cambiar una vez que se haya definido. Puedes dejarlo vacío en la llamada a la API |
|
La colección de Weaviate a la que se asigna el corpus de RAG. Este valor no se puede cambiar una vez que se haya definido. Puedes dejarlo vacío en la llamada a la API |
|
Especifica tu instancia de Pinecone. |
|
Es el nombre que se usa para crear el índice de Pinecone que se usa con el corpus de RAG. Este valor no se puede cambiar una vez que se haya definido. Puedes dejarlo vacío en la llamada a la API |
|
Especifica tu instancia de Vertex AI Feature Store. |
|
El Vertex AI Feature Store Formato: Este valor no se puede cambiar una vez que se haya definido. Puedes dejarlo vacío en la llamada a la API |
|
Especifica tu instancia de Vertex Vector Search. |
|
Es el nombre de recurso del índice de búsqueda vectorial que se usa con el corpus de RAG. Formato: Este valor no se puede cambiar una vez que se haya definido. Puedes dejarlo vacío en la llamada a la API |
|
Es el nombre de recurso del endpoint del índice de búsqueda vectorial que se usa con el corpus de RAG. Formato: Este valor no se puede cambiar una vez que se haya definido. Puedes dejarlo vacío en la llamada a la API |
|
Es el nombre de recurso completo del secreto almacenado en Secret Manager, que contiene tu clave de API de Weaviate o Pinecone, según la base de datos de vectores que elijas. Formato: Puede dejarlo vacío en la llamada a la API |
|
Opcional: inmutable: Modelo de inserción que se usará para el corpus de RAG. Este valor no se puede cambiar una vez que se haya definido. Si lo dejas vacío, usaremos text-embedding-005 como modelo de inserción. |
Actualizar un corpus de RAG
En esta tabla se enumeran los parámetros que se usan para actualizar un corpus de RAG.
Cuerpo de la solicitud
Parámetros | |
---|---|
|
Opcional: Nombre visible del corpus de RAG. |
|
Opcional: Descripción del corpus de RAG. |
|
El endpoint HTTP de la instancia de Weaviate. Si tu |
|
La colección de Weaviate a la que se asigna el corpus de RAG. Si tu |
|
Es el nombre que se usa para crear el índice de Pinecone que se usa con el corpus de RAG. Si tu |
|
El Vertex AI Feature Store Formato: Si tu |
|
Es el nombre de recurso del índice de búsqueda vectorial que se usa con el corpus de RAG. Formato: Si tu |
|
Es el nombre de recurso del endpoint del índice de búsqueda vectorial que se usa con el corpus de RAG. Formato: Si tu |
|
El nombre de recurso completo del secreto almacenado en Secret Manager, que contiene tu clave de API de Weaviate o Pinecone, depende de la base de datos de vectores que elijas. Formato: |
Listar los corpora de RAG
En esta tabla se enumeran los parámetros que se usan para mostrar los corpora de RAG.
Parámetros | |
---|---|
|
Opcional: El tamaño de página de la lista estándar. |
|
Opcional: El token de la página de lista estándar. Normalmente se obtiene de |
Obtener un corpus de RAG
En esta tabla se enumeran los parámetros que se usan para obtener un corpus de RAG.
Parámetros | |
---|---|
|
Nombre del recurso |
Eliminar un corpus de RAG
En esta tabla se enumeran los parámetros que se usan para eliminar un corpus de RAG.
Parámetros | |
---|---|
|
Nombre del recurso |
Parámetros de gestión de archivos
Para obtener información sobre un archivo RAG, consulta Gestión de archivos.
Subir un archivo RAG
En esta tabla se enumeran los parámetros que se usan para subir un archivo RAG.
Cuerpo de la solicitud
Parámetros | |
---|---|
|
Nombre del recurso |
|
Obligatorio: El archivo que se va a subir. |
|
Obligatorio: La configuración de |
RagFile |
|
---|---|
|
Obligatorio: Nombre visible del archivo RAG. |
|
Opcional: La descripción del archivo RAG. |
UploadRagFileConfig |
|
---|---|
|
Número de tokens que tiene cada fragmento. |
|
La superposición entre los fragmentos. |
Importar archivos RAG
En esta tabla se enumeran los parámetros que se usan para importar un archivo RAG.
Parámetros | |
---|---|
|
Obligatorio: Nombre del recurso Formato: |
|
Ubicación de Cloud Storage. Permite importar archivos concretos y directorios completos de Cloud Storage. |
|
URI de Cloud Storage que contiene el archivo de subida. |
|
Ubicación de Google Drive. Permite importar archivos concretos y carpetas de Google Drive. |
|
El canal de Slack en el que se ha subido el archivo. |
|
La consulta de Jira en la que se sube el archivo. |
|
Las fuentes de SharePoint en las que se sube el archivo. |
|
Número de tokens que tiene cada fragmento. |
|
La superposición entre los fragmentos. |
|
Opcional: Especifica la configuración de análisis de Si no se define este campo, RAG usa el analizador predeterminado. |
|
Opcional: Número máximo de consultas por minuto que este trabajo puede hacer al modelo de inserciones especificado en el corpus. Este valor es específico de este trabajo y no se comparte con otros trabajos de importación. Consulta la página Cuotas del proyecto para definir un valor adecuado. Si no se especifica ningún valor, se usa el valor predeterminado de 1000 QPM. |
GoogleDriveSource |
|
---|---|
|
Obligatorio: ID del recurso de Google Drive. |
|
Obligatorio: El tipo de recurso de Google Drive. |
SlackSource |
|
---|---|
|
Repetido: Información del canal de Slack, incluido el ID y el intervalo de tiempo que se va a importar. |
|
Obligatorio: El ID del canal de Slack. |
|
Opcional: Marca de tiempo inicial de los mensajes que se van a importar. |
|
Opcional: Marca de tiempo final de los mensajes que se van a importar. |
|
Obligatorio: El nombre de recurso completo del secreto almacenado en Secret Manager,
que contiene un token de acceso al canal de Slack que tiene acceso a los IDs de canal de Slack.
Formato: |
JiraSource |
|
---|---|
|
Repetido: Lista de proyectos de Jira que se van a importar por completo. |
|
Repetido: Lista de consultas de Jira personalizadas que se van a importar. Para obtener información sobre JQL (Jira Query Language), consulta
|
|
Obligatorio: La dirección de correo de Jira. |
|
Obligatorio: El URI del servidor Jira. |
|
Obligatorio: Nombre de recurso completo del secreto almacenado en Secret Manager, que contiene la clave de API de Jira que tiene acceso a los IDs de los canales de Slack.
Formato: |
SharePointSources |
|
---|---|
|
Ruta de la carpeta de SharePoint desde la que se va a descargar. |
|
ID de la carpeta de SharePoint desde la que se va a descargar. |
|
Nombre de la unidad desde la que se va a descargar. |
|
El ID de la unidad de la que se va a descargar. |
|
Es el ID de la aplicación registrada en Microsoft Azure Portal.
|
|
Obligatorio: Nombre de recurso completo del secreto almacenado en Secret Manager, que contiene el secreto de la aplicación registrada en Azure. Formato: |
|
Identificador único de la instancia de Azure Active Directory. |
|
Nombre del sitio de SharePoint del que se va a descargar. Puede ser el nombre o el ID del sitio. |
RagFileParsingConfig |
|
---|---|
|
El analizador de diseños que se va a usar para los |
|
Nombre completo del recurso de un procesador o una versión de procesador de Document AI. Formato:
|
|
Número máximo de solicitudes que el trabajo puede enviar al procesador de Document AI por minuto. Consulta https://cloud.google.com/document-ai/quotas y la página Cuota de tu proyecto para definir un valor adecuado. Si no se especifica ningún valor, se usa el valor predeterminado de 120 QPM. |
|
El analizador LLM que se va a usar para |
|
Nombre de recurso de un modelo LLM. Formato:
|
|
Número máximo de solicitudes que el trabajo puede enviar al modelo LLM por minuto. Para definir un valor adecuado para tu proyecto, consulta la sección de cuota de modelo y la página Cuota de tu proyecto. Si no se especifica ningún valor, se usa el valor predeterminado de 5000 QPM. |
Obtener un archivo RAG
En esta tabla se enumeran los parámetros que se usan para obtener un archivo RAG.
Parámetros | |
---|---|
|
Nombre del recurso |
Eliminar un archivo RAG
En esta tabla se enumeran los parámetros que se usan para eliminar un archivo RAG.
Parámetros | |
---|---|
|
Nombre del recurso |
Parámetros de recuperación y predicción
En esta sección se enumeran los parámetros de recuperación y predicción.
Parámetros de recuperación
En esta tabla se enumeran los parámetros de la API retrieveContexts
.
Parámetros | |
---|---|
|
Obligatorio: Nombre de recurso de la ubicación que se va a obtener Formato: |
|
La fuente de datos de Vertex RagStore. |
|
Obligatorio: Consulta de recuperación de RAG única. |
VertexRagStore
VertexRagStore |
|
---|---|
|
lista: Representación de la fuente de RAG. Se puede usar para especificar solo el corpus o |
|
Opcional:
Formato: |
|
lista: Lista de recursos de Formato: |
RagQuery |
|
---|---|
|
La consulta en formato de texto para obtener contextos relevantes. |
|
Opcional: Configuración de recuperación de la consulta. |
RagRetrievalConfig |
|
---|---|
|
Opcional: Número de contextos que se van a obtener. |
|
Opcional: El valor alfa controla la ponderación entre los resultados de búsqueda de vectores densos y dispersos. El intervalo es [0, 1], donde 0 significa que solo se realiza la búsqueda de vectores dispersos y 1 significa que solo se realiza la búsqueda de vectores densos. El valor predeterminado es 0,5, que equilibra la búsqueda de vectores dispersos y densos por igual. La búsqueda híbrida solo está disponible para Weaviate. |
|
Solo devuelve contextos con una distancia vectorial inferior al umbral. |
|
Solo devuelve contextos con una similitud de vector superior al umbral. |
|
Opcional: El nombre del modelo del servicio de ranking. Ejemplo: |
|
Opcional: Nombre del modelo usado para la clasificación. Ejemplo: |
Parámetros de predicción
En esta tabla se enumeran los parámetros de predicción.
GenerateContentRequest |
|
---|---|
|
Se usa una fuente de datos basada en el almacén RAG de Vertex AI. |
Consulta más información en VertexRagStore.
Parámetros de gestión de proyectos
En esta tabla se enumeran los parámetros a nivel de proyecto.
RagEngineConfig
Parámetros | |
---|---|
RagManagedDbConfig.scaled |
Este nivel ofrece un rendimiento a escala de producción junto con la función de escalado automático. |
RagManagedDbConfig.basic |
Este nivel ofrece una opción rentable y con pocos recursos computacionales. |
RagManagedDbConfig.unprovisioned |
Este nivel elimina el RagManagedDb y su instancia de Spanner subyacente. |
Ejemplos de gestión de corpus
En esta sección se proporcionan ejemplos de cómo usar la API para gestionar tu corpus de RAG.
Crear un ejemplo de corpus de RAG
En este ejemplo de código se muestra cómo crear un corpus de RAG.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto.
- LOCATION: la región en la que se procesará la solicitud.
- CORPUS_DISPLAY_NAME: nombre visible del
RagCorpus
. - CORPUS_DESCRIPTION: la descripción del
RagCorpus
.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora
Cuerpo JSON de la solicitud:
{ "display_name" : "CORPUS_DISPLAY_NAME", "description": "CORPUS_DESCRIPTION", }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora" | Select-Object -Expand Content
En el siguiente ejemplo se muestra cómo crear un corpus de RAG mediante la API REST.
PROJECT_ID: Your project ID.
LOCATION: The region to process the request.
CORPUS_DISPLAY_NAME: The display name of the <code>RagCorpus</code>.
// CreateRagCorpus
// Input: LOCATION, PROJECT_ID, CORPUS_DISPLAY_NAME
// Output: CreateRagCorpusOperationMetadata
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora \
-d '{
"display_name" : "CORPUS_DISPLAY_NAME"
}'
Actualizar un ejemplo de corpus de RAG
Puedes actualizar tu corpus de RAG con un nuevo nombre visible, una descripción y una configuración de base de datos vectorial. Sin embargo, no puedes cambiar los siguientes parámetros en tu corpus de RAG:
- El tipo de base de datos vectorial. Por ejemplo, no puedes cambiar la base de datos de vectores de Weaviate a Vertex AI Feature Store.
- Si usas la opción de base de datos gestionada, no puedes actualizar la configuración de la base de datos de vectores.
En estos ejemplos se muestra cómo actualizar un corpus de RAG.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto.
- LOCATION: la región en la que se procesará la solicitud.
- CORPUS_ID: el ID del corpus de tu RAG.
- CORPUS_DISPLAY_NAME: nombre visible del
RagCorpus
. - CORPUS_DESCRIPTION: la descripción del
RagCorpus
. - INDEX_NAME: nombre del recurso
Vector Search Index
. Formato:projects/{project}/locations/{location}/indexes/{index}
- INDEX_ENDPOINT_NAME: nombre del recurso
Vector Search Index Endpoint
. Formato:projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}
Método HTTP y URL:
PATCH https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/CORPUS_ID
Cuerpo JSON de la solicitud:
{ "display_name" : "CORPUS_DISPLAY_NAME", "description": "CORPUS_DESCRIPTION", "rag_vector_db_config": { "vertex_vector_search": { "index": "INDEX_NAME", "index_endpoint": "INDEX_ENDPOINT_NAME", } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/CORPUS_ID"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/CORPUS_ID" | Select-Object -Expand Content
Ejemplo de lista de corpora de RAG
En este código de ejemplo se muestra cómo enumerar todos los corpora de RAG.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto.
- LOCATION: la región en la que se procesará la solicitud.
- PAGE_SIZE: tamaño de página de lista estándar. Puedes ajustar el número de
RagCorpora
que se devuelven por página actualizando el parámetropage_size
. - PAGE_TOKEN: el token de página de lista estándar. Se obtiene normalmente mediante
ListRagCorporaResponse.next_page_token
de la llamadaVertexRagDataService.ListRagCorpora
anterior.
Método HTTP y URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN"
PowerShell
Ejecuta el comando siguiente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN" | Select-Object -Expand Content
RagCorpora
en el PROJECT_ID
proporcionado.
Obtener un ejemplo de corpus de RAG
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto.
- LOCATION: la región en la que se procesará la solicitud.
- RAG_CORPUS_ID: ID del recurso
RagCorpus
.
Método HTTP y URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"
PowerShell
Ejecuta el comando siguiente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID" | Select-Object -Expand Content
RagCorpus
.
Los comandos get
y list
se usan en un ejemplo para mostrar cómo RagCorpus
usa el campo rag_embedding_model_config
en vector_db_config
, que apunta al modelo de inserción que has elegido.
PROJECT_ID: Your project ID.
LOCATION: The region to process the request.
RAG_CORPUS_ID: The corpus ID of your RAG corpus.
// GetRagCorpus
// Input: LOCATION, PROJECT_ID, RAG_CORPUS_ID
// Output: RagCorpus
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID
// ListRagCorpora
curl -sS -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/
Eliminar un ejemplo de corpus de RAG
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto.
- LOCATION: la región en la que se procesará la solicitud.
- RAG_CORPUS_ID: ID del recurso
RagCorpus
.
Método HTTP y URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"
PowerShell
Ejecuta el comando siguiente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID" | Select-Object -Expand Content
DeleteOperationMetadata
.
Ejemplos de gestión de archivos
En esta sección se proporcionan ejemplos de cómo usar la API para gestionar archivos RAG.
Subir un ejemplo de archivo RAG
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones: PROJECT_ID: Your project ID.
LOCATION: The region to process the request.
RAG_CORPUS_ID: The corpus ID of your RAG corpus.
LOCAL_FILE_PATH: The local path to the file to be uploaded.
DISPLAY_NAME: The display name of the RAG file.
DESCRIPTION: The description of the RAG file.
Para enviar tu solicitud, usa el siguiente comando:
curl -X POST \
-H "X-Goog-Upload-Protocol: multipart" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-F metadata="{'rag_file': {'display_name':' DISPLAY_NAME', 'description':'DESCRIPTION'}}" \
-F file=@LOCAL_FILE_PATH \
"https://LOCATION-aiplatform.googleapis.com/upload/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:upload"
Ejemplo de importación de archivos RAG
Los archivos y las carpetas se pueden importar desde Drive o Cloud Storage.
El response.skipped_rag_files_count
hace referencia al número de archivos que se han omitido durante la importación. Se omite un archivo cuando se cumplen las siguientes condiciones:
- El archivo ya se ha importado.
- El archivo no ha cambiado.
- La configuración de fragmentación del archivo no ha cambiado.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto.
- LOCATION: la región en la que se procesará la solicitud.
- RAG_CORPUS_ID: ID del recurso
RagCorpus
. - GCS_URIS: lista de ubicaciones de Cloud Storage. Ejemplo:
gs://my-bucket1, gs://my-bucket2
- CHUNK_SIZE: opcional. Número de tokens que debe tener cada fragmento.
- CHUNK_OVERLAP: opcional: número de tokens que se solapan entre fragmentos.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import
Cuerpo JSON de la solicitud:
{ "import_rag_files_config": { "gcs_source": { "uris": "GCS_URIS" }, "rag_file_chunking_config": { "chunk_size": CHUNK_SIZE, "chunk_overlap": CHUNK_OVERLAP } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import" | Select-Object -Expand Content
ImportRagFilesOperationMetadata
.
En el siguiente ejemplo se muestra cómo importar un archivo desde Cloud Storage. Usa el campo de control max_embedding_requests_per_min
para limitar la frecuencia con la que el motor RAG llama al modelo de inserciones durante el proceso de indexación ImportRagFiles
. El campo tiene un valor predeterminado de 1000
llamadas por minuto.
PROJECT_ID: Your project ID.
LOCATION: The region to process the request.
RAG_CORPUS_ID: The corpus ID of your RAG corpus.
GCS_URIS: A list of Cloud Storage locations. Example: gs://my-bucket1.
CHUNK_SIZE: Number of tokens each chunk should have.
CHUNK_OVERLAP: Number of tokens overlap between chunks.
EMBEDDING_MODEL_QPM_RATE: The QPM rate to limit RAGs access to your embedding model. Example: 1000.
// ImportRagFiles
// Import a single Cloud Storage file or all files in a Cloud Storage bucket.
// Input: LOCATION, PROJECT_ID, RAG_CORPUS_ID, GCS_URIS
// Output: ImportRagFilesOperationMetadataNumber
// Use ListRagFiles to find the server-generated rag_file_id.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import \
-d '{
"import_rag_files_config": {
"gcs_source": {
"uris": "GCS_URIS"
},
"rag_file_chunking_config": {
"chunk_size": CHUNK_SIZE,
"chunk_overlap": CHUNK_OVERLAP
},
"max_embedding_requests_per_min": EMBEDDING_MODEL_QPM_RATE
}
}'
// Poll the operation status.
// The response contains the number of files imported.
OPERATION_ID: The operation ID you get from the response of the previous command.
poll_op_wait OPERATION_ID
En el siguiente ejemplo se muestra cómo importar un archivo de Drive. Usa el campo de control max_embedding_requests_per_min
para limitar la frecuencia con la que el motor RAG llama al modelo de inserciones durante el proceso de indexación ImportRagFiles
. El campo tiene un valor predeterminado de 1000
llamadas por minuto.
PROJECT_ID: Your project ID.
LOCATION: The region to process the request.
RAG_CORPUS_ID: The corpus ID of your RAG corpus.
FOLDER_RESOURCE_ID: The resource ID of your Google Drive folder.
CHUNK_SIZE: Number of tokens each chunk should have.
CHUNK_OVERLAP: Number of tokens overlap between chunks.
EMBEDDING_MODEL_QPM_RATE: The QPM rate to limit RAGs access to your embedding model. Example: 1000.
// ImportRagFiles
// Import all files in a Google Drive folder.
// Input: LOCATION, PROJECT_ID, RAG_CORPUS_ID, FOLDER_RESOURCE_ID
// Output: ImportRagFilesOperationMetadataNumber
// Use ListRagFiles to find the server-generated rag_file_id.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import \
-d '{
"import_rag_files_config": {
"google_drive_source": {
"resource_ids": {
"resource_id": "FOLDER_RESOURCE_ID",
"resource_type": "RESOURCE_TYPE_FOLDER"
}
},
"max_embedding_requests_per_min": EMBEDDING_MODEL_QPM_RATE
}
}'
// Poll the operation status.
// The response contains the number of files imported.
OPERATION_ID: The operation ID you get from the response of the previous command.
poll_op_wait OPERATION_ID
Ejemplo de lista de archivos RAG
En este ejemplo de código se muestra cómo enumerar archivos RAG.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto.
- LOCATION: la región en la que se procesará la solicitud.
- RAG_CORPUS_ID: ID del recurso
RagCorpus
. - PAGE_SIZE: tamaño de página de lista estándar. Puedes ajustar el número de
RagFiles
que se devuelven por página actualizando el parámetropage_size
. - PAGE_TOKEN: el token de página de lista estándar. Se obtiene normalmente mediante
ListRagFilesResponse.next_page_token
de la llamadaVertexRagDataService.ListRagFiles
anterior.
Método HTTP y URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles?page_size=PAGE_SIZE&page_token=PAGE_TOKEN
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles?page_size=PAGE_SIZE&page_token=PAGE_TOKEN"
PowerShell
Ejecuta el comando siguiente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles?page_size=PAGE_SIZE&page_token=PAGE_TOKEN" | Select-Object -Expand Content
RagFiles
en el RAG_CORPUS_ID
proporcionado.
Obtener un archivo de ejemplo de RAG
En este ejemplo de código se muestra cómo obtener un archivo RAG.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto.
- LOCATION: la región en la que se procesará la solicitud.
- RAG_CORPUS_ID: ID del recurso
RagCorpus
. - RAG_FILE_ID: ID del recurso
RagFile
.
Método HTTP y URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID"
PowerShell
Ejecuta el comando siguiente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID" | Select-Object -Expand Content
RagFile
.
Eliminar un ejemplo de archivo RAG
En este ejemplo de código se muestra cómo eliminar un archivo RAG.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto.
- LOCATION: la región en la que se procesará la solicitud.
- RAG_CORPUS_ID: ID del recurso
RagCorpus
. - RAG_FILE_ID: ID del recurso
RagFile
. Formato:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file_id}
.
Método HTTP y URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID"
PowerShell
Ejecuta el comando siguiente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID" | Select-Object -Expand Content
DeleteOperationMetadata
.
Ejemplo de consulta de recuperación
Cuando un usuario hace una pregunta o proporciona una petición, el componente de recuperación de RAG busca en su base de conocimientos información relevante para la consulta.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: la región en la que se procesará la solicitud.
- PROJECT_ID: tu ID de proyecto.
- RAG_CORPUS_RESOURCE: el nombre del recurso
RagCorpus
. Formato:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}
. - VECTOR_DISTANCE_THRESHOLD: solo se devuelven los contextos con una distancia vectorial inferior al umbral.
- TEXT: el texto de la consulta para obtener contextos relevantes.
- SIMILARITY_TOP_K: número de contextos principales que se van a obtener.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts
Cuerpo JSON de la solicitud:
{ "vertex_rag_store": { "rag_resources": { "rag_corpus": "RAG_CORPUS_RESOURCE" }, "vector_distance_threshold": VECTOR_DISTANCE_THRESHOLD }, "query": { "text": "TEXT", "similarity_top_k": SIMILARITY_TOP_K } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts" | Select-Object -Expand Content
RagFiles
relacionados.
Ejemplo de generación
El LLM genera una respuesta fundamentada usando los contextos obtenidos.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto.
- LOCATION: la región en la que se procesará la solicitud.
- MODEL_ID: modelo de LLM para generar contenido. Ejemplo:
gemini-2.5-flash
- GENERATION_METHOD: método de LLM para generar contenido. Opciones:
generateContent
,streamGenerateContent
- INPUT_PROMPT: El texto enviado al LLM para generar contenido. Prueba a usar una petición relacionada con los archivos RAG subidos.
- RAG_CORPUS_RESOURCE: el nombre del recurso
RagCorpus
. Formato:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}
. - SIMILARITY_TOP_K: opcional. Número de contextos principales que se van a recuperar.
- VECTOR_DISTANCE_THRESHOLD: opcional. Se devuelven los contextos con una distancia vectorial inferior al umbral.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD
Cuerpo JSON de la solicitud:
{ "contents": { "role": "user", "parts": { "text": "INPUT_PROMPT" } }, "tools": { "retrieval": { "disable_attribution": false, "vertex_rag_store": { "rag_resources": { "rag_corpus": "RAG_CORPUS_RESOURCE" }, "similarity_top_k": SIMILARITY_TOP_K, "vector_distance_threshold": VECTOR_DISTANCE_THRESHOLD } } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD" | Select-Object -Expand Content
Ejemplos de gestión de proyectos
El nivel es un ajuste a nivel de proyecto disponible en el recurso RagEngineConfig
y afecta a los corpora de RAG que usan RagManagedDb
. Para obtener la configuración del nivel, usa GetRagEngineConfig
. Para actualizar la configuración del nivel, usa UpdateRagEngineConfig
.
Para obtener más información sobre cómo gestionar la configuración de tu nivel, consulta Gestionar tu nivel.
Obtener la configuración del proyecto
En el siguiente código de ejemplo se muestra cómo leer tu RagEngineConfig
:
Consola
- En la Google Cloud consola, ve a la página RAG Engine.
- Selecciona la región en la que se ejecuta tu RAG Engine. Se ha actualizado tu lista de corpora de RAG.
- Haz clic en Configurar motor RAG. Aparecerá el panel Configurar buscador RAG. Puedes ver el nivel seleccionado para tu motor RAG.
- Haz clic en Cancelar.
Python
from vertexai import rag
import vertexai
PROJECT_ID = YOUR_PROJECT_ID
LOCATION = YOUR_RAG_ENGINE_LOCATION
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location=LOCATION)
rag_engine_config = rag.rag_data.get_rag_engine_config(
name=f"projects/{PROJECT_ID}/locations/{LOCATION}/ragEngineConfig"
)
print(rag_engine_config)
REST
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/ragEngineConfig
Actualizar la configuración del proyecto
En esta sección se proporcionan ejemplos de código para mostrar cómo cambiar tu nivel en la configuración.
Actualizar tu RagEngineConfig
al nivel Scaled
En los siguientes ejemplos de código se muestra cómo definir RagEngineConfig
en el nivel Escalado:
Consola
- En la Google Cloud consola, ve a la página RAG Engine.
- Selecciona la región en la que se ejecuta tu RAG Engine. Se ha actualizado tu lista de corpora de RAG.
- Haz clic en Configurar motor RAG. Aparecerá el panel Configurar buscador RAG.
- Selecciona el nivel en el que quieras ejecutar tu RAG Engine.
- Haz clic en Guardar.
Python
from vertexai import rag
import vertexai
PROJECT_ID = YOUR_PROJECT_ID
LOCATION = YOUR_RAG_ENGINE_LOCATION
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location=LOCATION)
rag_engine_config_name=f"projects/{PROJECT_ID}/locations/{LOCATION}/ragEngineConfig"
new_rag_engine_config = rag.RagEngineConfig(
name=rag_engine_config_name,
rag_managed_db_config=rag.RagManagedDbConfig(tier=rag.Scaled()),
)
updated_rag_engine_config = rag.rag_data.update_rag_engine_config(
rag_engine_config=new_rag_engine_config
)
print(updated_rag_engine_config)
REST
curl -X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/ragEngineConfig -d "{'ragManagedDbConfig': {'scaled': {}}}"
Actualizar tu RagEngineConfig
al nivel básico
En los siguientes ejemplos de código se muestra cómo definir el nivel básico de RagEngineConfig
:
Si tienes una gran cantidad de datos en tu RagManagedDb
en todos tus corpora de RAG, es posible que no puedas cambiar a un nivel Basic debido a que no tienes suficiente capacidad de computación y almacenamiento.
Consola
- En la Google Cloud consola, ve a la página RAG Engine.
- Selecciona la región en la que se ejecuta tu RAG Engine. Se ha actualizado tu lista de corpora de RAG.
- Haz clic en Configurar motor RAG. Aparecerá el panel Configurar buscador RAG.
- Selecciona el nivel en el que quieras ejecutar tu RAG Engine.
- Haz clic en Guardar.
Python
from vertexai import rag
import vertexai
PROJECT_ID = YOUR_PROJECT_ID
LOCATION = YOUR_RAG_ENGINE_LOCATION
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location=LOCATION)
rag_engine_config_name=f"projects/{PROJECT_ID}/locations/{LOCATION}/ragEngineConfig"
new_rag_engine_config = rag.RagEngineConfig(
name=rag_engine_config_name,
rag_managed_db_config=rag.RagManagedDbConfig(tier=rag.Basic()),
)
updated_rag_engine_config = rag.rag_data.update_rag_engine_config(
rag_engine_config=new_rag_engine_config
)
print(updated_rag_engine_config)
REST
curl -X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/ragEngineConfig -d "{'ragManagedDbConfig': {'basic': {}}}"
Actualizar tu RagEngineConfig
al nivel Sin aprovisionar
En los siguientes ejemplos de código se muestra cómo definir el RagEngineConfig
en el nivel Sin aprovisionar:
Consola
- En la Google Cloud consola, ve a la página RAG Engine.
- Selecciona la región en la que se ejecuta tu RAG Engine. Se ha actualizado tu lista de corpora de RAG.
- Haz clic en Configurar motor RAG. Aparecerá el panel Configurar buscador RAG.
- Haz clic en Eliminar RAG Engine. Aparecerá un cuadro de diálogo de confirmación.
- Verifica que vas a eliminar tus datos en RAG Engine escribiendo eliminar y, a continuación, haz clic en Confirmar.
- Haz clic en Guardar.
Python
from vertexai import rag
import vertexai
PROJECT_ID = YOUR_PROJECT_ID
LOCATION = YOUR_RAG_ENGINE_LOCATION
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location=LOCATION)
rag_engine_config_name=f"projects/{PROJECT_ID}/locations/{LOCATION}/ragEngineConfig"
new_rag_engine_config = rag.RagEngineConfig(
name=rag_engine_config_name,
rag_managed_db_config=rag.RagManagedDbConfig(tier=rag.Unprovisioned()),
)
updated_rag_engine_config = rag.rag_data.update_rag_engine_config(
rag_engine_config=new_rag_engine_config
)
print(updated_rag_engine_config)
REST
curl -X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/ragEngineConfig -d "{'ragManagedDbConfig': {'unprovisioned': {}}}"
Siguientes pasos
- Para obtener más información sobre los modelos de generación admitidos, consulta Modelos de IA generativa compatibles con RAG.
- Para obtener más información sobre los modelos de inserción admitidos, consulte Modelos de inserción.
- Para obtener más información sobre los modelos abiertos, consulte el artículo Modelos abiertos.
- Para obtener más información sobre RAG Engine, consulta la descripción general de RAG Engine.