AIMLEmbeddingsImpl
AIMLEmbeddingsImpl es un componente que convierte textos en vectores numéricos (embeddings) que las máquinas pueden entender. Estos vectores se usan para tareas como búsqueda por similitud, clasificación automática o generación de recomendaciones.
¿Cómo funciona?
El componente envía cada texto a un servicio externo llamado AIML API. Para cada texto, realiza una solicitud HTTP POST con el modelo especificado y la clave de API. El servicio devuelve un vector de números que representa el contenido semántico del texto. El componente recopila todos los vectores y los devuelve como una lista de listas de flotantes.
Entradas
Campos de Entrada
- embeddings_completion_url: URL del endpoint de embeddings. Visible en todas las operaciones.
- api_key: Clave secreta para autenticarse con el servicio. Visible en todas las operaciones.
- model: Nombre del modelo de embeddings que se usará. Visible en todas las operaciones.
Salidas
- embeddings: Lista de vectores (listas de flotantes) correspondientes a cada texto de entrada. Se puede usar para búsqueda por similitud, clustering, generación de recomendaciones, etc.
Ejemplo de Uso
Supongamos que quieres generar embeddings para una lista de descripciones de productos y luego encontrar los productos más similares a una nueva descripción:
-
Configura el componente
embeddings_completion_url
:https://api.aimlapi.com/v1/embeddings
api_key
: (tu clave secreta)model
:text-embedding-3-large
-
Envía los textos
textos = ["Zapatos deportivos de cuero para correr","Chaqueta de invierno impermeable con forro térmico","Cámara DSLR con lente 50mm y flash incorporado"]embeddings = component.embed_documents(textos) -
Usa los embeddings
- Guarda los vectores en un VectorStore.
- Cuando un cliente busque “zapatos de running”, genera su embedding y busca el vector más cercano en el store.
Componentes Relacionados
- TextSplitter – Divide textos largos en fragmentos antes de generar embeddings.
- VectorStore – Almacena y gestiona los vectores generados.
- SimilaritySearch – Busca los vectores más cercanos a una consulta.
Consejos y Mejores Prácticas
- Seguridad: Guarda la
api_key
en variables de entorno y nunca la muestres en el front‑end. - Tamaño de lote: Envía textos en lotes pequeños (p. ej., 10‑20) para evitar límites de tamaño de la API.
- Manejo de errores: Implementa reintentos con backoff exponencial cuando la API devuelva errores de red o de límite de tasa.
- Monitoreo: Registra los tiempos de respuesta y los errores para detectar cuellos de botella.
Consideraciones de Seguridad
- La clave de API es sensible; protege el archivo de configuración y evita exponerla en repositorios públicos.
- Respeta los límites de tasa y uso de la AIML API para evitar bloqueos o cargos inesperados.