-
-
Notifications
You must be signed in to change notification settings - Fork 124
[Demo][Website] Add demo for structured output about generating recipes #908
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Demo][Website] Add demo for structured output about generating recipes #908
Conversation
536db72 to
87dee3d
Compare
87dee3d to
6d198a6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds a new Recipe Bot demo to the Symfony AI Demo website, showcasing structured output functionality by generating cooking recipes. The demos are also reorganized across the website for better presentation.
- Implements a new Recipe Bot chatbot that generates structured cooking recipes
- Reorganizes demo layout from a nested grid structure to a more uniform presentation
- Updates demo descriptions to be more concise and consistent
Reviewed Changes
Copilot reviewed 16 out of 24 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| demo/tests/SmokeTest.php | Updates test to expect 8 demo cards instead of 7 |
| demo/templates/index.html.twig | Reorders demos, adds Recipe Bot card, flattens grid layout, and updates descriptions |
| demo/templates/components/recipe.html.twig | New template for the Recipe Bot component UI |
| demo/templates/base.html.twig | Adds Recipe navigation item and reorders menu |
| demo/src/Recipe/TwigComponent.php | New LiveComponent for Recipe Bot functionality |
| demo/src/Recipe/Data/Recipe.php | Data class defining recipe structure with JSON schema attributes |
| demo/src/Recipe/Data/Ingredient.php | Data class for recipe ingredients |
| demo/src/Recipe/Chat.php | Chat handler for Recipe Bot with session management |
| demo/config/services.yaml | Registers PropertyNormalizer service |
| demo/config/routes.yaml | Adds /recipe route |
| demo/config/packages/ai.yaml | Configures recipe AI agent with OpenAI platform |
| demo/assets/styles/recipe.css | Styling for Recipe Bot component |
| demo/assets/controllers/recipe_controller.js | Stimulus controller for Recipe Bot interactions |
| demo/assets/app.js | Imports recipe.css stylesheet |
| ai.symfony.com/templates/homepage.html.twig | Reorders demos and adds Recipe Bot to homepage |
| ai.symfony.com/assets/styles/app.css | Adds Recipe Bot gradient styling and alphabetizes demo styles |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| * @var string Difficulty level of the recipe | ||
| */ | ||
| #[With(enum: ['Beginner', 'Intermediate', 'Advanced'])] | ||
| public string $level; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about using a real enum for this property to showcase?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
didn't work right away - not sure what we currently support there
also re-sorting the demos and their descriptions
Screencast.from.2025-11-19.21-51-58.webm