Some checks failed
tests / core (macos-latest, py3.11) (push) Has been cancelled
tests / core (macos-latest, py3.12) (push) Has been cancelled
tests / core (macos-latest, py3.13) (push) Has been cancelled
tests / core (ubuntu-latest, py3.11) (push) Has been cancelled
tests / core (ubuntu-latest, py3.12) (push) Has been cancelled
tests / core (ubuntu-latest, py3.13) (push) Has been cancelled
tests / doctor CLI smoke test (push) Has been cancelled
28 lines
721 B
Python
28 lines
721 B
Python
from __future__ import annotations
|
|
|
|
from typing import Any
|
|
|
|
DEFAULT_MODEL = "sentence-transformers/all-MiniLM-L6-v2"
|
|
|
|
|
|
def create_and_index(data: list[str], model: str = DEFAULT_MODEL) -> Any:
|
|
"""Create and index embeddings from text.
|
|
|
|
Requires txtai (uv sync --extra kg). Returns a txtai Embeddings instance.
|
|
"""
|
|
try:
|
|
from txtai.embeddings import Embeddings
|
|
except ImportError as exc:
|
|
raise ImportError("create_and_index needs txtai: uv sync --extra kg") from exc
|
|
|
|
embeddings = Embeddings(
|
|
{
|
|
"path": model,
|
|
"content": True,
|
|
"hybrid": True,
|
|
"scoring": "bm25",
|
|
}
|
|
)
|
|
embeddings.index(data)
|
|
return embeddings
|