Mostrando entradas con la etiqueta RAG. Mostrar todas las entradas
Mostrando entradas con la etiqueta RAG. Mostrar todas las entradas

martes, 21 de enero de 2025

ChatBots y Modelos de LLM

 

Chatbots

Inicialmente surgieron para brindar servicios de atención al cliente:
  • Zendesk Chat
  • Intercom
  • Drift

Frameworks para armar chatbots más personalizados:
  • Rasa: Open-source y personalizable.
  • Microsoft Bot Framework: Para integrar con Azure y otras plataformas.
  • Dialogflow: Plataforma de Google Cloud para crear chatbots basados en IA.
  •  

    Modelos de LLM :

    • Modelos de OpenAI (GPT-4, GPT-3.5, etc.): Disponibles a través de APIs comerciales.
    • Hugging Face Transformers: Modelos open-source como BERT, GPT-Neo, LLaMA o Falcon que puedes entrenar o afinar localmente.
    • Google Vertex AI: Ofrece acceso a modelos de PaLM y otros.
    • Azure OpenAI Service: Acceso a modelos de OpenAI con integración empresarial.
    • Anthropic Claude: Otra opción para modelos de lenguaje avanzados.

    Para estructurar datos:
    • Pipelines ETL: Extraer, transformar y cargar datos (Apache Spark, Pandas).
    • Herramientas de indexación: para convertir los datos en un formato accesible.
      • LangChain: Para conectar datos y LLMs de manera estructurada.
      • Haystack: Framework para construir pipelines de NLP basados en búsqueda.
      • Pinecone, Weaviate, o Milvus: Bases de datos vectoriales para búsquedas semánticas.

    Asistentes de voz:
    Las herramientas tienen costos asociados por minuto de uso.
    • Retell: el mejor para idioma español, con menos latencia y más económico.
    • Synthflow: soporta modelos de lenguaje LLM. Permite enviar SMS, hacer real time booking y ofrece integración nativa con GoHighLevel, Zapier y otros.
    • Bland.AI
    • Vapi
    • Air
    Normalmente utilizan Twillio para realizar llamadas por teléfono.

      jueves, 2 de enero de 2025

      Retrieval Augmented Generation (RAG)

      RAG es un enfoque en el campo de la inteligencia artificial que combina modelos de recuperación de información con modelos generativos de lenguaje para mejorar la precisión y la relevancia de las respuestas generadas. Este enfoque permite que los modelos generativos accedan a información externa en tiempo real, lo que es útil para manejar tareas que requieren datos actualizados o específicos, como responder preguntas basadas en documentos o ejecutar búsquedas dinámicas.





      ¿Cómo funciona RAG?

      1. Componente de Recuperación (Retriever):

        • Identifica información relevante a partir de una base de datos, corpus de texto, o fuente externa.
        • Métodos comunes:
          • Sistemas tradicionales: TF-IDF, BM25.
          • Modelos de embeddings: Dense retrievers como DPR (Dense Passage Retrieval) que utilizan vectores para comparar similitudes semánticas.
      2. Componente Generativo (Generator):

        • Toma los documentos recuperados y genera una respuesta basada en la información contenida en ellos.
        • Modelos típicos: GPT, T5, o BART.
      3. Pipeline completo:

        • Dado un input (como una pregunta), el retriever busca información relevante, y el generator usa esta información para crear una respuesta natural y contextual.


      Ejemplos de uso de RAG

      1. Chatbots empresariales:

        • Responden preguntas específicas sobre documentos de política interna, bases de conocimiento o contratos legales.
        • Ejemplo: Un chatbot que accede a manuales de empleados para responder preguntas sobre beneficios.
      2. Sistemas de búsqueda mejorados:

        • Motores de búsqueda que combinan la recuperación con respuestas explicativas.
        • Ejemplo: Un motor de búsqueda académico que genera un resumen de los papers relevantes.
      3. Asistentes de soporte técnico:

        • Generan instrucciones personalizadas basadas en guías técnicas.
        • Ejemplo: Un asistente que ayuda a resolver problemas técnicos con base en manuales de productos.
      4. Generación de contenido personalizado:

        • Utilizado para redactar informes o resúmenes basados en datos recopilados.
        • Ejemplo: Herramientas que generan reportes financieros combinando datos recientes.


      Ejemplos de modelos RAG existentes

      1. Dense Passage Retrieval (DPR):

        • Combina embeddings densos con modelos generativos.
        • Ejemplo de uso: Enriquecer respuestas en asistentes virtuales.
      2. Google Bard y OpenAI ChatGPT con Plugins:

        • Usan fuentes externas en tiempo real para recuperar información y generar respuestas.
      3. RAG Framework (Meta AI):

        • Combina retrieval y generación utilizando modelos como BART para respuestas basadas en contexto.
      4. Haystack (de deepset):

        • Framework modular de código abierto para implementar sistemas de preguntas y respuestas basados en RAG.


      Recursos para desarrollar un sistema RAG

          1. Bibliotecas y herramientas
      • Haystack: Framework que soporta RAG con múltiples backend retrievers y generadores.
        GitHub
      • LangChain: Facilita la integración de RAG para aplicaciones conversacionales.
        GitHub
      • Pinecone: Base de datos vectorial para indexar y buscar embeddings.
      • Weaviate: Base de datos para búsquedas semánticas.
          2. Modelos preentrenados
      • DPR (Dense Passage Retrieval): Implementación de Facebook AI.
      • T5 y BART: Modelos generativos efectivos para tareas de generación de texto.
      • OpenAI GPT API: Compatible con integración RAG mediante plugins.
          3. Datasets
      • Natural Questions (NQ): Preguntas reales de usuarios con respuestas basadas en documentos.
        Google Dataset
      • SQuAD (Stanford Question Answering Dataset): Dataset clásico para preguntas y respuestas.
      • MS MARCO: Dataset para recuperación y generación de respuestas a partir de texto.
          4. Infraestructura
      • Bases de datos vectoriales:
        • Pinecone, Milvus, Weaviate.
      • Frameworks de aprendizaje profundo:
        • PyTorch, TensorFlow.
      • API de acceso a modelos:
        • OpenAI API, Hugging Face Transformers.
          5. Recursos educativos



      viernes, 18 de octubre de 2024

      Ejemplo de personalización de Modelos de Lenguaje (LM) con RAG

       El siguiente es un ejemplo de modelo de lenguaje personalizado con RAG (Retrieval Aumented Generation)

      Proyecto: eShopSupport

      Video: https://reactor.microsoft.com/es-es/reactor/events/23333/ 

      Soporta los siguientes casos de uso: 

      • Text classification, applying labels based on content
      • Sentiment analysis based on message content
      • Summarization of large sets of text
      • Synthetic data generation, creating test content for the sample
      • Chat bot interactions with chat history and suggested responses

      De este proyecto se desprenden las siguientes herramientas y técnicas:

      .Net Aspire: es una herramienta completa para el diagnóstico y la supervisión de aplicaciones. El panel permite realizar un seguimiento estrecho de varios aspectos de la aplicación, incluidos registros, seguimientos y configuraciones de entorno, en tiempo real.

      Redis: plataforma de bases de datos en tiempo real. Redis es un motor de base de datos en memoria, basado en el almacenamiento en tablas de hashes pero que opcionalmente puede ser usada como una base de datos durable o persistente.