import gradio as gr # Define images and corresponding titles and original sentences images_and_titles = [ { "title": "1. Echo Ridge Village", "image": "https://github.com/englissi/englissi/blob/00d4ac2ab7d8b88169af3afe332897db02056a28/Sample/wordcloud_Echo%20Ridge%20Village.png?raw=true", "sentence": "In the small mountain village of Echo Ridge, adventure was a part of everyday life." }, { "title": "2. Alex finding the map", "image": "https://github.com/englissi/englissi/blob/00d4ac2ab7d8b88169af3afe332897db02056a28/Sample/wordcloud_Alex%20Finding%20the%20map.png?raw=true", "sentence": "One day, while exploring the local library, Alex stumbled upon an ancient map tucked inside a forgotten book on village lore." }, { "title": "3. Alex, Mia, and Sam preparing for the expedition", "image": "https://github.com/englissi/englissi/blob/00d4ac2ab7d8b88169af3afe332897db02056a28/Sample/wordcloud_Preparing%20for%20the%20expedition.png?raw=true", "sentence": "Knowing the journey would be risky, he enlisted the help of his best friends, Mia and Sam." }, { "title": "4. The journey begins at dawn", "image": "https://github.com/englissi/englissi/blob/00d4ac2ab7d8b88169af3afe332897db02056a28/Sample/wordcloud_Journey%20begins%20at%20dawn.png?raw=true", "sentence": "Their journey began at dawn. They trekked through dense forests, crossed rushing streams, and climbed steep cliffs." }, { "title": "5. Reaching Whispering Hollow", "image": "https://github.com/englissi/englissi/blob/00d4ac2ab7d8b88169af3afe332897db02056a28/Sample/wordcloud_Reaching%20whispering%20hollow.png?raw=true", "sentence": "After hours of hiking, they finally reached Whispering Hollow." }, { "title": "6. Exploring the cave", "image": "https://github.com/englissi/englissi/blob/00d4ac2ab7d8b88169af3afe332897db02056a28/Sample/wordcloud_Exploring%20the%20cave.png?raw=true", "sentence": "Using their flashlights, they ventured deeper into the cave, guided by the markings on the map." }, { "title": "7. Finding the ancient chest", "image": "https://github.com/englissi/englissi/blob/00d4ac2ab7d8b88169af3afe332897db02056a28/Sample/wordcloud_Finding%20the%20ancient%20chest.png?raw=true", "sentence": "As they reached the heart of the cave, they discovered an ancient chest hidden behind a fallen boulder." }, { "title": "8. Village celebration", "image": "https://github.com/englissi/englissi/blob/00d4ac2ab7d8b88169af3afe332897db02056a28/Sample/wordcloud_Village%20celebration.png?raw=true", "sentence": "The village celebrated their discovery, and the children were hailed as heroes." } ] # Function to collect student's sentences def collect_sentences(*sentences): return list(sentences) # Function to compare student's sentences with original sentences def compare_sentences(sentences): comparisons = [] for i, item in enumerate(images_and_titles): comparisons.append(f"**{item['title']}**\n\n**Your Sentence:** {sentences[i]}\n\n**Original Sentence:** {item['sentence']}\n\n") return "\n".join(comparisons) # Function to show the student's final story def show_final_story(sentences): return "\n".join(sentences) # Create the Gradio interface with gr.Blocks() as iface: gr.Markdown("# The Guardian's Secret: Rewriting Exercise") sentence_inputs = [] for item in images_and_titles: with gr.Row(): gr.Markdown(f"### {item['title']}") gr.Image(value=item['image'], interactive=False) sentence_input = gr.Textbox(label="Your Sentence", interactive=True) sentence_inputs.append(sentence_input) finish_button = gr.Button("Finish") comparison_output = gr.Markdown(visible=False) final_story_output = gr.Markdown(visible=False) def on_finish(*sentences): collected_sentences = collect_sentences(*sentences) comparison = compare_sentences(collected_sentences) final_story = show_final_story(collected_sentences) return gr.update(visible=True, value=comparison), gr.update(visible=True, value=final_story) finish_button.click(fn=on_finish, inputs=sentence_inputs, outputs=[comparison_output, final_story_output]) iface.launch()