问题
pipeline.py:46 中 embedding_provider 参数类型声明为 Optional[FakeEmbeddingProvider],只接受 FakeEmbeddingProvider 实例。
如果用户配置了真实的 embedding provider(如 OpenAI Compatible),传入时会被类型检查拒绝。
修复方案
改为使用基类类型:
from ticketpilot.retrieval.providers import EmbeddingProvider
def intake_risk_pipeline(
raw_ticket: RawTicket,
embedding_provider: Optional[EmbeddingProvider] = None,
) -> TicketOutput:
确保有一个统一的 EmbeddingProvider 基类(ABC),所有 provider 都继承它。
涉及文件
src/ticketpilot/pipeline.py
src/ticketpilot/retrieval/providers/__init__.py(确认基类存在)
问题
pipeline.py:46中embedding_provider参数类型声明为Optional[FakeEmbeddingProvider],只接受 FakeEmbeddingProvider 实例。如果用户配置了真实的 embedding provider(如 OpenAI Compatible),传入时会被类型检查拒绝。
修复方案
改为使用基类类型:
确保有一个统一的
EmbeddingProvider基类(ABC),所有 provider 都继承它。涉及文件
src/ticketpilot/pipeline.pysrc/ticketpilot/retrieval/providers/__init__.py(确认基类存在)