# IA y experimentos

Zona controlada de caos moderno.

# OpenWebUI

Donde apunto cómo no volverme loco integrando modelos, conectores y otros ajustes. Porque la IA mola hasta que se rompe y no sabes por qué.

# Conduit con OpenWebUI: uso directo o integrado con Authentik

---

#### Introducción

OpenWebUI es una interfaz web moderna para interactuar con modelos de inteligencia artificial, similar a ChatGPT, que permite unificar distintos proveedores (locales o remotos, gratuitos o de pago) en un mismo punto de acceso. Conduit, por su parte, es un cliente móvil ligero (Android/iOS) que ofrece una experiencia simplificada al estilo de ChatGPT, pero conectándose directamente a OpenWebUI.

En este artículo se documenta cómo usar Conduit como cliente móvil de OpenWebUI en un servidor casero expuesto mediante Caddy, con autenticación integrada vía Authentik o, en su defecto, usando simplemente URL + token. Se explica la implementación paso a paso y cómo gestionar el bypass seguro para las APIs necesarias.

---

#### Requisitos previos

* OpenWebUI funcionando con Authentik como SSO (OIDC).
* Caddy como reverse proxy, con TLS y reglas de seguridad ya activas (para las directivas personalizadas ver enlace en **Referencias**).
* Token de aplicación (`X-App-Token`) configurado en OpenWebUI.

---

#### Pasos en Authentik

Para integrar OpenWebUI con Authentik:

1. Entrar al **panel de administración de Authentik** con un usuario administrador.
2. Ir a **Applications > Applications** y pulsar en **Create with Provider** (crea aplicación + proveedor en un paso).

   * Alternativa: crear primero el provider y luego la aplicación asociada.
3. En la **Application**:

   * Poner un nombre descriptivo.
   * (Opcional) asignar un grupo de aplicaciones o personalizar la UI.
   * Elegir el modo de policy engine según necesidad.
4. En el **Provider**:

   * Tipo: `OAuth2/OpenID Connect`.
   * Nombre del provider (se puede aceptar el sugerido).
   * Authorization flow: seleccionar uno válido (generalmente `Authorization Code`).
   * Configurar:

     * **Client ID**, **Client Secret** y **Slug** (apuntarlos, se usarán en OpenWebUI).
     * **Redirect URI** estricta: `https://openwebui.example.org/oauth/oidc/callback`.
     * Seleccionar una signing key disponible.
     * Dejar vacío el campo **Encryption Key**.
5. (Opcional) Configurar **Bindings** (políticas, grupos o usuarios) para gestionar quién ve la aplicación en *My Applications*.
6. Pulsar **Submit** para guardar la nueva aplicación y provider.

Con esto, Authentik ya actúa como proveedor OIDC para OpenWebUI.

---

#### Configuración de OpenWebUI + Authentik

El login se gestiona directamente en OpenWebUI con OIDC, usando Authentik como proveedor. Los ejemplos de configuración (`.env`, `docker-compose.yml`, `Caddyfile`) están documentados en mi repositorio:

🔗 [Repositorio ChronosCMPS – OpenWebUI](https://gitea.jtrapero.eu.org/R4di04kt1v3/ChronosCMPS/src/branch/main/Inteligencia%20artificial/OpenWebUI)

---

#### Configuración de Conduit

En la aplicación móvil solo se indica:

* URL del servidor: `https://opwui.ejemplo.org`
* Token: el generado en OpenWebUI.
* Cabecera: `X-App-Token`

Conduit no soporta login vía SSO, de ahí el bypass API/WS con token.

---

#### Uso sin Authentik

Conduit también puede utilizarse sin Authentik. En ese caso basta con:

* Proporcionar la URL expuesta o local de OpenWebUI.
* Usar un método de autenticación soportado (token de aplicación o login local habilitado).

Esto lo hace aplicable incluso en despliegues sencillos donde no se requiere SSO.

---

#### Errores comunes o decisiones importantes

* Intentar usar SSO con Conduit no funciona → obligatorio usar token.
* El bypass en Caddy es solo para `/api` y `/ws` con cabecera válida. La UI sigue protegida por OIDC.
* Evita exponer el token: es equivalente a credenciales completas.

---

#### Resumen breve

* OpenWebUI integrado con Authentik vía OIDC.
* Caddy gestiona TLS, logs y bypass API/WS por token.
* Conduit se conecta con cabecera `X-App-Token`, sin pasar por SSO.

---

#### Referencias o enlaces de interés

* [Directivas de Caddy – Uso personal (Wiki)](https://wiki.jtrapero.eu.org/books/contenedores-proxy-y-trafico-http/page/directivas-de-caddy-uso-personal)
* [Integración de OpenWebUI en Authentik](https://integrations.goauthentik.io/miscellaneous/open-webui/)
* [Conduit (GitHub)](https://github.com/cogwheel0/conduit)
* [Documentación oficial de OpenWebUI](https://docs.openwebui.com/)
* [Instalación de OpenWebUI con Docker (Wiki)](https://wiki.jtrapero.eu.org/books/contenedores-instalacion/page/openwebui-interfaz-web-para-ia-similar-a-chatgpt)

# Integración de Google AI Studio en OpenWebUI

---

### Introducción
En este artículo, integraremos la API de Google AI Studio en OpenWebUI para aprovechar modelos avanzados de inteligencia artificial. Asumimos que ya tienes OpenWebUI configurado. Si no es así, puedes consultar este artículo: [Configuración de OpenWebUI usando Koboldcpp ROCm como API](https://wiki.jtrapero.eu.org/books/fedora/page/configuracion-de-openwebui-usando-koboldcpp-rocm-como-api).

Integrar la API de Google AI Studio permite acceder a una amplia variedad de modelos de lenguaje y generación de texto proporcionados por Google, mejorando significativamente las capacidades de OpenWebUI. A lo largo de esta guía, te guiaremos paso a paso en el proceso de configuración para asegurarte de que todo funcione correctamente.

---

### Pasos para la integración

#### 1. Crear una clave API en Google AI Studio
1. Accede a [Google AI Studio API](https://aistudio.google.com/apikey).
2. Haz clic en **Get API Key** y luego en **Create API Key**.
3. Guarda tu clave API en un lugar seguro, ya que la necesitarás más adelante.

Esta clave es esencial para autorizar el acceso a los modelos de Google desde OpenWebUI, así que asegúrate de no compartirla con nadie para evitar problemas de seguridad o acceso no autorizado.

---

#### 2. Configurar OpenWebUI con Google AI Studio
1. Visita el proyecto oficial de OpenWebUI en este enlace: [Google GenAI para OpenWebUI](https://openwebui.com/f/justinrahb/google_genai).
2. Si es necesario, inicia sesión en la plataforma con tus credenciales.
3. En la página del proyecto, haz clic en **Get** para importar la función correspondiente.
4. Aparecerá una ventana solicitando la URL local de OpenWebUI. Ingresa tu dirección local (por ejemplo, `http://localhost:3000`).
5. El sistema abrirá la interfaz web de OpenWebUI directamente para instalar el complemento.

Este paso permite que OpenWebUI reconozca la función de Google GenAI y prepare el entorno para recibir solicitudes desde Google AI Studio.

---

#### 3. Configuración del complemento
1. Una vez instalado, haz clic en el **icono de engranaje** (configuración del complemento).
2. Introduce tu clave API de Google AI Studio y guarda los cambios.

Si introduces correctamente la clave, el sistema la validará y habilitará los modelos compatibles automáticamente. Si ves algún error, verifica que la clave sea correcta y que no tenga espacios adicionales al copiarla.

---

#### 4. Verifica la integración
1. Crea un nuevo chat en OpenWebUI.
2. En la barra de selección de modelo, verás varios modelos proporcionados por Google. ¡Ya puedes empezar a usarlos!

Es posible que debas refrescar la página después de la instalación para asegurarte de que los nuevos modelos aparezcan correctamente. Experimenta con diferentes configuraciones para obtener los mejores resultados según tus necesidades.

---

### Notas finales
Con esta integración, puedes ampliar las capacidades de OpenWebUI utilizando los modelos de Google AI Studio. Asegúrate de mantener tu clave API segura y de consultar la documentación oficial de ambos servicios para más detalles.

Además, es recomendable revisar periódicamente el estado de la integración y las actualizaciones disponibles para aprovechar mejoras y correcciones de errores.

# Integración de Groq en OpenWebUI

---

### Introducción

En este artículo, integraremos Groq, en OpenWebUI para aprovechar modelos avanzados de lenguaje. Asumimos que ya tienes OpenWebUI configurado. Si no es así, puedes consultar este artículo: [Configuración de OpenWebUI usando Koboldcpp ROCm como API](https://wiki.jtrapero.eu.org/books/fedora/page/configuracion-de-openwebui-usando-koboldcpp-rocm-como-api).

Integrar Groq permite acceder a un modelo innovador y potente, mejorando significativamente las capacidades de OpenWebUI. A lo largo de esta guía, te guiaremos paso a paso en el proceso de configuración para asegurarte de que todo funcione correctamente.

---

### Pasos para la integración

#### 1. Crear una clave API en Groq

1. Accede a la plataforma oficial de Groq: [Groq API](https://console.groq.com/keys).
2. Haz clic en **Create API Key** y sigue las instrucciones para generar una clave.
3. Guarda tu clave API en un lugar seguro, ya que la necesitarás más adelante.

Esta clave es esencial para autorizar el acceso a los modelos de Groq desde OpenWebUI, así que asegúrate de no compartirla con nadie para evitar problemas de seguridad o acceso no autorizado.

---

#### 2. Configurar OpenWebUI con Groq

1. Accede a las **opciones de administrador** en OpenWebUI.
2. Dirígete al apartado de **Conexiones** y crea una nueva conexión (OpenAI API) con los siguientes datos:
   - **URL**: `https://api.groq.com/openai/v1`
   - **Key**: Introduce tu clave API generada anteriormente.
3. Verifica la conexión haciendo clic en las dos flechitas que aparecen junto al recuadro. Si la verificación es correcta, aparecerá un mensaje indicando que la conexión está activa.
4. Vuelve a la ventana de chats para explorar y seleccionar los nuevos modelos provenientes de Groq.

---

#### 3. Verifica la integración

1. Crea un nuevo chat en OpenWebUI.
2. En la barra de selección de modelo, deberías ver los modelos proporcionados por Groq listos para usar.

Es posible que debas refrescar la página después de la instalación para asegurarte de que los nuevos modelos aparezcan correctamente.

---

### Notas finales

Con esta integración, puedes ampliar las capacidades de OpenWebUI utilizando los modelos de Groq. Asegúrate de mantener tu clave API segura y de consultar la documentación oficial de ambos servicios para más detalles.

Además, es recomendable revisar periódicamente el estado de la integración y las actualizaciones disponibles para aprovechar mejoras y correcciones de errores.