Saltearse al contenido

Ollama Embeddings

El componente Ollama Embeddings permite convertir textos en vectores numéricos (embeddings) que pueden ser usados para búsquedas semánticas, clasificación o cualquier tarea que requiera una representación numérica de contenido textual. Se conecta a un servidor Ollama local o remoto y utiliza el modelo especificado para generar los embeddings.

¿Cómo funciona?

Cuando activas el componente, se envía una solicitud al servidor Ollama (por defecto en http://localhost:11434) con el modelo que elijas, por ejemplo llama3.1. Ollama procesa el texto y devuelve un vector de números que representa el significado del contenido. El componente simplemente devuelve ese vector como salida, listo para ser usado por otros bloques del dashboard.

Entradas

Modo de Mapeo (Mapping Mode)

Este componente cuenta con un modo especial llamado “Mapping Mode” (Modo de Mapeo). Cuando activas este modo mediante el interruptor, se habilita una entrada adicional llamada “Mapping Data” y cada campo de entrada te ofrece tres formas diferentes de proporcionar datos:

  • Fixed (Fijo): Escribes el valor directamente en el campo.
  • Mapped (Mapeado): Conectas la salida de otro componente para usar su resultado como valor.
  • Javascript: Escribes código Javascript para calcular el valor dinámicamente.

Esta flexibilidad te permite crear flujos de trabajo más dinámicos y conectados.

Campos de Entrada

  • Ollama Base URL: Dirección del servidor Ollama que procesará las peticiones.
  • Mapping Mode: Interruptor que habilita el modo de mapeo para procesar múltiples registros a la vez.
  • Ollama Model: Nombre del modelo Ollama que se usará para generar los embeddings (por defecto llama3.1).
  • Model Temperature: Parámetro que controla la aleatoriedad de la generación; valores bajos (ej. 0.1) producen resultados más consistentes.

Salidas

  • Embeddings: Vector numérico que representa el contenido de entrada. Este valor puede ser conectado a otros componentes, como un motor de búsqueda o un clasificador.

Ejemplo de Uso

  1. Objetivo: Generar embeddings para una lista de descripciones de productos y guardarlos en una base de datos.
  2. Flujo:
    • Entrada: Un componente que lee las descripciones de productos (por ejemplo, un CSV Reader).
    • Ollama Embeddings: Activa el Mapping Mode y conecta la salida del CSV Reader a la entrada Ollama Base URL (Fixed) y Ollama Model (Fixed).
    • Salida: El vector de embeddings se envía a un componente de almacenamiento (por ejemplo, Database Writer).

Con el modo de mapeo, el componente procesa cada descripción de producto de forma individual y devuelve un conjunto de embeddings, lo que facilita su posterior análisis o búsqueda.

Componentes Relacionados

  • Ollama LLM – Genera texto a partir de prompts usando el mismo servidor Ollama.
  • Embeddings Storage – Guarda embeddings en bases de datos o sistemas de archivos.
  • Vector Search – Realiza búsquedas semánticas sobre colecciones de embeddings.

Consejos y Mejores Prácticas

  • Usa un modelo adecuado: Los modelos más grandes suelen producir embeddings más precisos, pero consumen más recursos.
  • Controla la temperatura: Para tareas de clasificación, una temperatura baja (≈0.1) suele ser más fiable.
  • Activa Mapping Mode cuando necesites procesar lotes de datos; evita enviar cada registro por separado.
  • Monitorea el uso de recursos: Los embeddings de modelos grandes pueden requerir mucha memoria y CPU.

Consideraciones de Seguridad

  • Servidor Ollama: Asegúrate de que el servidor Ollama esté protegido con autenticación o esté accesible solo desde redes internas.
  • Datos sensibles: Si los textos contienen información confidencial, considera cifrar los datos antes de enviarlos al servidor.
  • Control de acceso: Limita quién puede configurar el Ollama Base URL y el Ollama Model para evitar que se conecte a servidores externos no autorizados.