Skip to content

Conversation

mpangrazzi
Copy link
Contributor

@mpangrazzi mpangrazzi commented Sep 2, 2025

Fixes #156.

  • Resolve declared inputs and outputs params / types from a Haystack pipeline YAML definition
  • Add YAML pipeline to registry - dynamically create Pydantic request/response models using above parsed data (in metadata)
  • Dynamically add API route for YAML pipeline
  • Add /deploy-yaml API route for deploying YAML pipelines
  • Discard YAML pipelines without inputs / outputs fields (note that this old way of deployment would have been deprecated / removed)
  • Update README

Maybe or in another PR:

  • Add CLI command to deploy YAML
  • Remove / update /deploy endpoint
  • Test everything with multiple different pipelines
  • Remove old YAML deployment logic

@mpangrazzi mpangrazzi self-assigned this Sep 2, 2025
@mpangrazzi
Copy link
Contributor Author

mpangrazzi commented Sep 2, 2025

I'll put here a question as a reminder. Considering this situation (coming from a complex Haystack pipeline):

inputs:
  query:
  - bm25_retriever.query
  - query_embedder.text
  - ConditionalRouter.question
  filters:
  - bm25_retriever.filters
  - embedding_retriever.filters

It's always safe to assume that bm25_retriever.query, query_embedder.text and ConditionalRouter.question will have the same input type? (Same can be said for filters). I assume yes of course 😉

@sjrl sjrl self-requested a review September 9, 2025 07:45
@sjrl
Copy link

sjrl commented Sep 9, 2025

I'll put here a question as a reminder. Considering this situation (coming from a complex Haystack pipeline):

inputs:
  query:
  - bm25_retriever.query
  - query_embedder.text
  - ConditionalRouter.question
  filters:
  - bm25_retriever.filters
  - embedding_retriever.filters

It's always safe to assume that bm25_retriever.query, query_embedder.text and ConditionalRouter.question will have the same input type? (Same can be said for filters). I assume yes of course 😉

@mpangrazzi yes I'd say based on the provided mapping here we can assume they will all have the same input type. Technically you could inspect it but that would require creating the pipeline first.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improve YAML-only deployment supporting inputs and outputs fields
2 participants