Chatbot RAG con Python (Frontend)

Chatbot RAG con frontend en Streamlit que busca en FAISS y genera respuestas con Groq LLM, mostrando fragmentos para transparencia; solución IA y ciberseguridad para empresas.

11 sept 2025 • 4 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Chatbot RAG con Python Frontend describe el archivo frontend.py que define la interfaz en Streamlit para un chatbot basado en RAG Retrieval-Augmented Generation. Este frontend gestiona la interacción con el usuario, realiza búsquedas semánticas en un índice FAISS, y envía el contexto recuperado a un modelo LLM a través de la API de Groq para generar respuestas. En Q2BSTUDIO combinamos este tipo de soluciones con nuestros servicios de aplicaciones a medida y software a medida para empresas que necesitan integración de inteligencia artificial y ciberseguridad de alto nivel.

Responsabilidades clave Cargar el índice FAISS y los fragmentos preprocesados. Recibir preguntas del usuario. Recuperar los fragmentos más relevantes mediante búsqueda semántica. Enviar el contexto recuperado a un LLM Groq para generar la respuesta. Mostrar el historial de chat en una interfaz cuidada y mantener transparencia mostrando los fragmentos recuperados.

1 Importaciones y configuración El archivo importa librerías como streamlit, pickle, faiss, SentenceTransformer, y el cliente Groq. Se usa load_dotenv para cargar de forma segura la variable de entorno GROQ_API_KEY. Cada librería tiene un papel concreto: streamlit para la UI, pickle para cargar fragmentos guardados, faiss para búsquedas por similitud, SentenceTransformer para generar embeddings, y Groq para invocar el modelo LLM.

2 Carga del índice y fragments Se definen rutas como faiss_index.bin y chunks.pkl. El embedder usa el modelo all-MiniLM-L6-v2 para mantener coherencia con el backend. El índice FAISS se lee con faiss.read_index y los fragmentos se cargan con pickle.load para disponer del contenido segmentado de los documentos.

3 Búsqueda semántica La función search_index toma una consulta, la transforma en vector con embedder.encode, y ejecuta index.search para obtener las k fragmentos más relevantes. Se devuelven los fragmentos correspondientes a los índices resultantes para su uso en la generación de la respuesta.

4 Generación de respuestas con LLM La función generate_answer construye un prompt que incorpora el contexto recuperado y la pregunta. El prompt indica que si la pregunta no está relacionada con el contexto, la respuesta debe ser estrictamente Mi base de conocimiento no tiene información sobre esto. Ese prompt se envía mediante client.chat.completions.create al modelo elegido en Groq, por ejemplo llama-3.3-70b-versatile, y se devuelve el texto de la respuesta limpiado de espacios innecesarios.

5 Interfaz de chat y estilo El frontend incluye estilos CSS para crear burbujas de usuario y del asistente, con mensajes de usuario alineados a la derecha y mensajes del bot alineados a la izquierda, dentro de un contenedor de chat desplazable. Esto mejora la experiencia y hace más legible la conversación.

6 UI en Streamlit La aplicación muestra un título y una breve descripción, inicializa el historial de chat en st.session_state.messages y renderiza los mensajes previos con el estilo definido para mantener la continuidad de la conversación entre interacciones de la misma sesión.

7 Entrada de preguntas y flujo La pregunta se recoge mediante st.form y al enviarse se añade el mensaje del usuario al historial, se recuperan los fragmentos con search_index, se invoca generate_answer para obtener la respuesta del LLM y se añade la contestación del bot al historial para su visualización inmediata.

8 Transparencia y depuración Para facilitar la depuración se muestran los fragmentos recuperados tras cada consulta, recortados si es necesario, y también se pueden presentar dentro de un expander para la última búsqueda. Esto ayuda a identificar cuando se están usando documentos incorrectos o irrelevantes.

9 Botón para limpiar chat Se incluye un control que al pulsarse vacía st.session_state.messages y fuerza un rerun para dejar la sesión lista desde cero. El historial de chat es de tipo session based y se pierde al recargar la página.

Flujo general El usuario plantea una pregunta en la UI de Streamlit. El sistema la codifica en un embedding, busca en FAISS los fragmentos más relevantes, combina esos fragmentos con la pregunta y envía el conjunto al LLM de Groq. La respuesta generada se muestra en pantalla y los fragmentos recuperados se exponen para garantizar transparencia.

Notas importantes El frontend no reconstruye el índice FAISS, depende de que el proceso de indexación haya sido ejecutado previamente por el backend, por ejemplo index_docs.py. La variable de entorno GROQ_API_KEY debe estar configurada localmente en .env o en st.secrets durante el despliegue. El frontend es compatible con arquitecturas que combinan servicios cloud AWS y Azure para despliegue y escalado.

En Q2BSTUDIO somos especialistas en desarrollo de software y soluciones de inteligencia artificial aplicadas a negocios. Si necesitas integrar un chatbot RAG en procesos productivos o crear agentes IA personalizados para tu empresa te invitamos a conocer nuestros servicios de inteligencia artificial y nuestras soluciones de aplicaciones a medida y software a medida. También ofrecemos experiencia en ciberseguridad, pentesting, servicios cloud aws y azure, inteligencia de negocio y Power BI para transformar datos en decisiones. Contacta con Q2BSTUDIO para diseñar agentes IA, automatizar procesos y llevar la inteligencia artificial a la operativa diaria de tu empresa con garantías de seguridad y escalabilidad.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat