0fa16a033c
Funciones Python para embeddings: carga/guardado de modelos, encoding de texto, y almacenamiento/búsqueda vectorial con sqlite-vec y usearch. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
41 lines
1.2 KiB
Markdown
41 lines
1.2 KiB
Markdown
---
|
|
name: embedding_encode
|
|
kind: function
|
|
lang: py
|
|
domain: infra
|
|
version: "1.0.0"
|
|
purity: impure
|
|
signature: "def embedding_encode(model: SentenceTransformer, texts: list, mode: str = 'document') -> list"
|
|
description: "Genera embeddings normalizados para textos. Aplica prefijos e5 automaticamente segun mode (document/query)."
|
|
tags: [embedding, encode, e5, multilingual, python]
|
|
uses_functions: [embedding_load_model_py_infra]
|
|
uses_types: []
|
|
returns: []
|
|
returns_optional: false
|
|
error_type: "error_go_core"
|
|
imports: [sentence_transformers]
|
|
tested: false
|
|
tests: []
|
|
test_file_path: ""
|
|
file_path: "python/functions/embedding/model.py"
|
|
---
|
|
|
|
## Ejemplo
|
|
|
|
```python
|
|
model = embedding_load_model(".local/models/e5-small")
|
|
|
|
# Indexar documentos
|
|
doc_embs = embedding_encode(model, ["La IA transforma la industria", "Python es versatil"], mode="document")
|
|
|
|
# Buscar
|
|
query_embs = embedding_encode(model, ["¿Que es machine learning?"], mode="query")
|
|
```
|
|
|
|
## Notas
|
|
|
|
mode="document" agrega prefijo "passage: ", mode="query" agrega "query: ".
|
|
Estos prefijos son requeridos por modelos e5 para retrieval optimo.
|
|
Los embeddings retornados son float32 normalizados (norma L2 = 1).
|
|
Para e5-small la dimension es 384. Throughput ~1900 docs/s en CPU.
|