5bac9649
tangwang
文本 embedding 与图片 ...
|
1
2
3
|
"""Shared cache key helpers for embedding inputs.
Current canonical raw-key format:
|
7a013ca7
tangwang
多模态文本向量服务ok
|
4
5
6
|
- text (TEI/BGE): ``embed:norm1:<text>`` / ``embed:norm0:<text>``
- image (CLIP): ``embed:norm1:<url>`` / ``embed:norm0:<url>``
- clip_text (CN-CLIP 文本,与图同空间): ``clip_mm:norm1:<text>`` / ``clip_mm:norm0:<text>``
|
5bac9649
tangwang
文本 embedding 与图片 ...
|
7
8
9
|
`RedisEmbeddingCache` adds the configured key prefix and optional namespace on top.
"""
|
7214c2e7
tangwang
mplemented**
|
10
11
12
13
14
15
|
from __future__ import annotations
def build_text_cache_key(text: str, *, normalize: bool) -> str:
normalized_text = str(text or "").strip()
|
5bac9649
tangwang
文本 embedding 与图片 ...
|
16
|
return f"embed:norm{1 if normalize else 0}:{normalized_text}"
|
7214c2e7
tangwang
mplemented**
|
17
18
19
20
|
def build_image_cache_key(url: str, *, normalize: bool) -> str:
normalized_url = str(url or "").strip()
|
5bac9649
tangwang
文本 embedding 与图片 ...
|
21
|
return f"embed:norm{1 if normalize else 0}:{normalized_url}"
|
7a013ca7
tangwang
多模态文本向量服务ok
|
22
23
24
25
26
27
|
def build_clip_text_cache_key(text: str, *, normalize: bool) -> str:
"""CN-CLIP / multimodal text (same vector space as /embed/image)."""
normalized_text = str(text or "").strip()
return f"clip_mm:norm{1 if normalize else 0}:{normalized_text}"
|