42e3aea6
tangwang
tidy
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
"""
Embedding provider - HTTP service (vllm reserved).
Returns text/image encoders configured via services_config.
"""
from __future__ import annotations
from config.services_config import get_embedding_config, get_embedding_base_url
def create_embedding_provider() -> "EmbeddingProvider":
"""Create embedding provider from services config."""
cfg = get_embedding_config()
provider = (cfg.provider or "http").strip().lower()
|
950a640e
tangwang
embeddings
|
16
|
if provider != "http":
|
42e3aea6
tangwang
tidy
|
17
|
import logging
|
950a640e
tangwang
embeddings
|
18
19
20
|
logging.getLogger(__name__).warning(
"Unsupported embedding provider '%s', fallback to HTTP provider.", provider
)
|
42e3aea6
tangwang
tidy
|
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
return EmbeddingProvider()
class EmbeddingProvider:
"""
Provides text and image encoders. Both use HTTP embedding service
configured via services_config.
"""
def __init__(self) -> None:
self._base_url = get_embedding_base_url()
@property
def text_encoder(self):
|
950a640e
tangwang
embeddings
|
35
36
37
|
"""Lazy-created text encoder (TextEmbeddingEncoder)."""
from embeddings.text_encoder import TextEmbeddingEncoder
return TextEmbeddingEncoder(service_url=self._base_url)
|
42e3aea6
tangwang
tidy
|
38
39
40
41
42
43
|
@property
def image_encoder(self):
"""Lazy-created image encoder (CLIPImageEncoder)."""
from embeddings.image_encoder import CLIPImageEncoder
return CLIPImageEncoder(service_url=self._base_url)
|