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 • Equip 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?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat