File size: 718 Bytes
01d5a5d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from sentence_transformers import SentenceTransformer
from lpm_kernel.api.dto.user_llm_config_dto import (
    UserLLMConfigDTO,
)
from typing import Optional
import os
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"

def huggingface_strategy(user_llm_config: Optional[UserLLMConfigDTO], chunked_texts):
    parts = user_llm_config.embedding_endpoint.strip("/").split("/")
    if len(parts) >= 2:
        model_name = "/".join(parts[-2:])
    else:
        raise ValueError("Endpoint error")

    try:
        model = SentenceTransformer(model_name)
        embeddings = model.encode(chunked_texts)
        return embeddings
    except Exception as e:
        raise Exception(f"Failed to get embeddings: {str(e)}")