Refactor embedding configuration to remove local model support, transitioning to a unified remote API approach. Update environment variables and documentation accordingly. Enhance error handling in the orchestrator and related modules to reflect these changes. This update simplifies the embedding process and improves overall system reliability.
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
"""
|
||||
Few-shot示例选择器 - 基于经验数据集动态选择相关示例
|
||||
|
||||
与 Schema 向量检索一致,使用 utils.embedding.get_embedder()(本地 Qwen3 或远程 OpenAI 兼容 API,
|
||||
由 USE_LOCAL_EMBEDDING 及 OPENAI_* / MODELSCOPE_* / DASHSCOPE_* 等环境变量决定)。
|
||||
与 Schema 向量检索一致,使用 utils.embedding.get_embedder()(远程 OpenAI 兼容 API;
|
||||
由 OPENAI_* / MODELSCOPE_* / DASHSCOPE_* 等环境变量决定)。
|
||||
|
||||
用法:
|
||||
from utils.fewshot_selector import FewShotSelector
|
||||
@@ -26,10 +26,6 @@ import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
# 仅 USE_LOCAL_EMBEDDING=true 时通过 EMBEDDING_MODEL_PATH 使用;远程模式留空即可
|
||||
_DEFAULT_LOCAL_EMBED_PATH = ""
|
||||
|
||||
|
||||
@dataclass
|
||||
class ExperienceSample:
|
||||
"""经验数据样本"""
|
||||
@@ -84,7 +80,6 @@ class FewShotSelector:
|
||||
def __init__(
|
||||
self,
|
||||
samples_path: Optional[str] = None,
|
||||
embedding_model_path: Optional[str] = None,
|
||||
use_cache: bool = True,
|
||||
use_chroma: Optional[bool] = None,
|
||||
chroma_persist_dir: Optional[str] = None,
|
||||
@@ -93,8 +88,6 @@ class FewShotSelector:
|
||||
Args:
|
||||
samples_path: 样本 JSONL 路径;**空字符串**表示不读文件(仅当 ``FEWSHOT_USE_CHROMA=true``
|
||||
且 Chroma 中已有数据时可用)。构建索引仍请用 ``scripts/build_fewshot_chroma_index.py --samples``。
|
||||
embedding_model_path: 本地 Embedding 模型目录;None 时用环境变量
|
||||
EMBEDDING_MODEL_PATH(仅 USE_LOCAL_EMBEDDING=true 时有效)
|
||||
use_cache: 是否缓存样本向量(按向量维度分文件,换模型会自动重建)
|
||||
use_chroma: 是否使用 Chroma 持久化向量库;None 时读环境变量 FEWSHOT_USE_CHROMA
|
||||
chroma_persist_dir: Chroma 目录;None 时用 FEWSHOT_CHROMA_PATH 或默认 chroma_fewshot
|
||||
@@ -113,11 +106,6 @@ class FewShotSelector:
|
||||
else os.getenv("FEWSHOT_USE_CHROMA", "false").lower() in ("1", "true", "yes")
|
||||
)
|
||||
self._chroma_persist_dir = chroma_persist_dir
|
||||
self._embedding_model_path = (
|
||||
embedding_model_path
|
||||
if embedding_model_path is not None
|
||||
else os.getenv("EMBEDDING_MODEL_PATH", _DEFAULT_LOCAL_EMBED_PATH).strip()
|
||||
)
|
||||
|
||||
if self.use_chroma:
|
||||
self._init_chroma_mode()
|
||||
@@ -130,7 +118,7 @@ class FewShotSelector:
|
||||
from utils.embedding import get_embedder
|
||||
from utils.fewshot_chroma_store import FewShotChromaStore
|
||||
|
||||
self._embedder = get_embedder(self._embedding_model_path)
|
||||
self._embedder = get_embedder()
|
||||
self._chroma_store = FewShotChromaStore(
|
||||
self._embedder,
|
||||
persist_dir=self._chroma_persist_dir,
|
||||
@@ -199,7 +187,7 @@ class FewShotSelector:
|
||||
"""非 Chroma:初始化 Embedder 与内存 numpy 索引。"""
|
||||
from utils.embedding import get_embedder
|
||||
|
||||
self._embedder = get_embedder(self._embedding_model_path)
|
||||
self._embedder = get_embedder()
|
||||
self._build_numpy_index()
|
||||
|
||||
def _build_numpy_index(self) -> None:
|
||||
|
||||
Reference in New Issue
Block a user