2026-09-09 20:00:06 +08:00
|
|
|
|
"""向量化:Ollama bge-m3,1024 维(客服 KB 灌库 / fin_* 检索用)。
|
|
|
|
|
|
|
|
|
|
|
|
薄封装 `app.service.embedding`,与 T-21 共用同一 Ollama 配置。
|
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
|
|
from __future__ import annotations
|
|
|
|
|
|
|
|
|
|
|
|
from app.service import embedding
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Embedder:
|
|
|
|
|
|
"""批量/单条 embedding(build_collections / test_search 调用面)。"""
|
|
|
|
|
|
|
|
|
|
|
|
def embed(self, text: str) -> list[float]:
|
|
|
|
|
|
return embedding.embed_text(text)
|
|
|
|
|
|
|
|
|
|
|
|
def embed_batch(self, texts: list[str]) -> list[list[float]]:
|
|
|
|
|
|
return embedding.embed_texts(texts)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_embedder() -> Embedder:
|
|
|
|
|
|
return Embedder()
|