# Actualización del Asistente de Dictámenes a Gemini

Esta versión reemplaza OpenAI por **Gemini 2.5 Flash** usando la API de Interactions, ejecución en segundo plano y Fundamentación con la Búsqueda de Google.

## Actualización de una instalación existente

1. Realiza una copia de seguridad de la carpeta del sistema y de la base de datos.
2. Sube el archivo del parche a la carpeta principal del sistema, donde están `app`, `config`, `public` y `storage`.
3. Extrae el parche y reemplaza los archivos existentes.
4. En `config`, copia o renombra:

```text
config/gemini.php.example
```

como:

```text
config/gemini.php
```

5. Edita `config/gemini.php` y pega tu API Key de Gemini en `api_key`.
6. No borres ni reemplaces `config/config.php`, porque contiene la conexión MySQL y la configuración de la instalación.
7. No ejecutes nuevamente `install.php`.
8. Actualiza el navegador con `Ctrl + F5` y vuelve a ejecutar la consulta.

## Crear la API Key

La clave se crea en Google AI Studio, en la sección de claves de API. Debe permanecer en el servidor y nunca enviarse al navegador.

## Modelo configurado

```text
gemini-2.5-flash
```

Este modelo permite entrada y salida sin costo dentro de los límites del nivel gratuito. La Fundamentación con la Búsqueda de Google tiene una cuota gratuita diaria que puede cambiar.

## Privacidad

En el nivel gratuito, Google puede usar el contenido enviado para mejorar sus productos. No cargues antecedentes reservados, datos personales sensibles ni documentos institucionales confidenciales sin autorización y una evaluación de privacidad.

## Diferencia importante

Gemini no ofrece en esta herramienta un filtro técnico equivalente a `allowed_domains`. El sistema:

- Ordena al modelo buscar solamente en fuentes oficiales.
- Recomienda búsquedas con `site:`.
- Verifica cada dominio citado después de la respuesta.
- Baja el nivel de respaldo y muestra una advertencia si aparecen fuentes no oficiales.

## Errores habituales

- `API Key de Gemini no está configurada`: falta crear `config/gemini.php` o pegar la clave.
- HTTP 429: se alcanzó temporalmente el límite gratuito; espera y vuelve a intentar.
- `PERMISSION_DENIED`: la clave o el proyecto no tienen acceso a la API.
- Sin fuentes oficiales: no uses el resultado como fundamento definitivo.
