Skip to content

Spike: Haystack 3 vs in-tree Librarian for chat RAG #1077

Description

@northdpole

Task

Time-boxed research spike (not an adoption PR): does Haystack 3 (Apache-2.0) buy anything OpenCRE does not already have in Librarian C.1/C.2 + title_boost, for chat RAG after #1075?

Default bias from maintainer research: do not replace /completion with a Haystack app. This spike exists to kill or narrow that option with evidence.

Success criteria (all must pass)

  • Written verdict in this issue: adopt / don’t adopt / steal one component
  • Compare on OpenCRE constraints, not generic RAG blogs:
    • Prod Heroku slug: no torch / sentence-transformers in requirements.txt
    • pgvector already in Postgres; CRE + Standard embedding tables
    • Must emit CRE id + standard URL citations
    • Existing PromptHandler + Google login + spend limits
  • If “steal one component”: name the class (e.g. hybrid BM25+dense, eval pipeline) and an estimate of lines vs wrapping PgVectorRetriever
  • Kill criteria: if Haystack is only a wrapper around “embed → pgvector top-k → rerank → prompt”, don’t adopt
  • License/ops: Apache-2.0 is fine; note extra services (Elastic/OpenSearch) if any pipeline we care about requires them
  • No production dependency added in this spike. A spike branch/doc is OK; do not merge Haystack onto main from this ticket

Context

Constraints

  • Time-box: 1–2 days of reading + a throwaway notebook/script against a tiny local fixture, not a platform rewrite
  • Out of scope: Dify, RAGFlow, Onyx, Open Notebook, LlamaIndex-as-the-chat-app (LlamaIndex stays harvester-dev only)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestnot ready for developmentNeeds design/agreement before implementationuntriagedNot yet triaged by maintainers

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions