Skip to content

feat: embedding_provider 参数类型应使用基类而非具体实现 #12

Description

@lennney

问题

pipeline.py:46embedding_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(确认基类存在)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions