diff --git a/.github/workflows/new_model_request_reply.yml b/.github/workflows/new_model_request_reply.yml new file mode 100644 index 000000000000..f0c9e4c571af --- /dev/null +++ b/.github/workflows/new_model_request_reply.yml @@ -0,0 +1,43 @@ +name: New Model Request Reply + +on: + issues: + types: [opened] + +jobs: + reply: + name: Point new model requests at Modular Diffusers + # Match the heading the issue form renders for its first field rather than a label: template + # labels are applied after the issue is created, so `github.event.issue.labels` is empty here. + # Keep this string in sync with .github/ISSUE_TEMPLATE/new-model-addition.yml. + if: >- + github.repository == 'huggingface/diffusers' && + contains(github.event.issue.body, '### Model/Pipeline/Scheduler description') + runs-on: ubuntu-latest + permissions: + issues: write + steps: + - name: Post Modular Diffusers guidance + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_REPO: ${{ github.repository }} + ISSUE_NUMBER: ${{ github.event.issue.number }} + BODY: | + Thanks for the request! + + **How new model support works in Diffusers** + + We're a small team, and our review queue shouldn't be what decides whether a model is usable in Diffusers. With [Modular Diffusers](https://huggingface.co/docs/diffusers/modular_diffusers/overview), a pipeline can live as remote code in any Hub repo and load straight from there with `from_pretrained`. + + ๐Ÿ› ๏ธ **Want to bring this model to Diffusers?** + + Please start with a Hub repo โ€” you don't need anything from us to do that, and people can use it immediately. From there we decide how to support it: we might work with the authors, upstream an existing community version, or just point people at the one on the Hub. The pipelines we integrate are usually the ones people are already running. + + Tag `@asomoza` when you have something to share โ€” we'll give feedback on the implementation, help get it in front of people, and add the ones we like to our hand-picked [Modular Pipelines](https://huggingface.co/collections/diffusers/modular-pipelines) collection. Tell us where you hit friction along the way, too: confusing APIs, missing docs, bugs. That feedback is worth as much to us as the pipeline. + + ๐Ÿ‘‹ **Are you an author of the model?** We'd love to hear from you โ€” comment here and we'll help you pick the path that fits. + + ๐Ÿ“š [Quickstart](https://huggingface.co/docs/diffusers/modular_diffusers/quickstart) ยท [Building custom blocks](https://huggingface.co/docs/diffusers/modular_diffusers/custom_blocks) โ€” template repo, and how to publish to the Hub ยท [Modular Pipelines](https://huggingface.co/collections/diffusers/modular-pipelines) and [Custom Blocks](https://huggingface.co/collections/diffusers/modular-diffusers-custom-blocks) โ€” examples to crib from + + *This is an automated message.* + run: gh issue comment "$ISSUE_NUMBER" --body "$BODY" diff --git a/docs/source/en/conceptual/contribution.md b/docs/source/en/conceptual/contribution.md index 1e60515430b0..2eb3275fa95a 100644 --- a/docs/source/en/conceptual/contribution.md +++ b/docs/source/en/conceptual/contribution.md @@ -332,6 +332,11 @@ Good second issues are usually more difficult to get merged compared to good fir ### 9. Adding pipelines, models, schedulers +> [!TIP] +> If you are the model's author, please get in touch so we can coordinate the integration with you: open a feature request, or drop a comment if one is already open. +> +> If you are a community contributor, please also let us know you're interested under the feature request, and start with a Hub repo at the same time. See the [Modular Diffusers](../modular_diffusers/overview) guide to get started, and [custom blocks](../modular_diffusers/custom_blocks) or [custom models](../using-diffusers/automodel) for publishing as remote code on the Hub. + Pipelines, models, and schedulers are the most important pieces of the Diffusers library. They provide easy access to state-of-the-art diffusion technologies and thus allow the community to build powerful generative AI applications. @@ -605,6 +610,4 @@ AI-assisted contributions are welcome, but they must be coordinated, scoped, and - The **test commands you ran** and their results (paste relevant output, not just "tests pass"). - Your **self-review notes** (or a link to the PR comment containing them), as described above. -If you are a model author or part of a team that officially maintains a model, we encourage you to use agents for a new model integration. Follow the repository's [recommended setup](https://github.com/huggingface/diffusers/blob/main/.ai/AGENTS.md) and use the [`model-integration`](https://github.com/huggingface/diffusers/blob/main/.ai/skills/model-integration/SKILL.md) skill. Coordinate the scope with maintainers before opening a PR. - -If you are contributing a model to Diffusers for the first time as a community contributor, we generally recommend starting with a custom implementation that loads code from the Hub. This gives users access to the model while its integration into the core library is evaluated. See the [custom models](../using-diffusers/automodel) and [custom modular blocks](../modular_diffusers/custom_blocks) guides for supported patterns. +If you are a model author or part of a team that officially maintains a model, we encourage you to use agents for a new model integration. Follow the repository's [recommended setup](https://github.com/huggingface/diffusers/blob/main/.ai/AGENTS.md) and use the [`model-integration`](https://github.com/huggingface/diffusers/blob/main/.ai/skills/model-integration/SKILL.md) skill. Coordinate the scope with maintainers before opening a PR โ€” see [Adding pipelines, models, schedulers](#9-adding-pipelines-models-schedulers).