Files
ailine/backend/rag_core/embedders.py

38 lines
864 B
Python
Raw Normal View History

2026-04-21 11:02:16 +08:00
"""
2026-04-29 10:52:01 +08:00
嵌入模型包装器 - 直接使用统一嵌入服务
2026-04-21 11:02:16 +08:00
"""
2026-04-29 10:52:01 +08:00
import logging
from typing import List, Optional
2026-04-29 10:52:01 +08:00
2026-04-21 11:02:16 +08:00
from langchain_core.embeddings import Embeddings
2026-04-29 10:52:01 +08:00
logger = logging.getLogger(__name__)
2026-04-21 19:06:34 +08:00
def get_embeddings() -> Embeddings:
2026-04-29 10:52:01 +08:00
"""
获取统一的嵌入服务实例
Returns:
LangChain 兼容的 Embeddings 实例
2026-04-29 10:52:01 +08:00
"""
from backend.app.model_services import get_embedding_service
return get_embedding_service()
2026-04-21 11:02:16 +08:00
def get_embedding_dimension(embeddings: Optional[Embeddings] = None) -> int:
"""
获取嵌入维度
Args:
embeddings: 可选的嵌入实例如果不提供则自动获取
Returns:
嵌入维度大小
"""
if embeddings is None:
embeddings = get_embeddings()
test_embedding = embeddings.embed_query("test")
return len(test_embedding)