Skip to content

Epic 3.9 Project-Based Activity Expert Assistant#212

Open
JunJie-Lai wants to merge 2 commits into
vibing-ai:Developfrom
JunJie-Lai:Project-Based-Activity-Expert-Assistant
Open

Epic 3.9 Project-Based Activity Expert Assistant#212
JunJie-Lai wants to merge 2 commits into
vibing-ai:Developfrom
JunJie-Lai:Project-Based-Activity-Expert-Assistant

Conversation

@JunJie-Lai
Copy link
Copy Markdown

@JunJie-Lai JunJie-Lai commented Aug 1, 2025

Description

Added Project-Based Activity Expert Assistant, a specialized AI assistant designed to help educators brainstorm and plan engaging project-based learning (PBL) activities.

Related Issue

#146 - Epic 3.90 Project-Based Activity Expert Assistant

Type of Change

  • New feature: A non-breaking change that adds functionality.

Proposed Solution

Describe your code changes in detail. Explain how you implemented your solution and any design decisions you made.

  • The Project-Based Activity Expert is created within the /app/assistants/curriculum_tools/project_based_activity_expert folder.
  • Assistant-related files (assistant.py and core.py) are implemented and functional.
  • Suggested Prompts and Categorization are operational.
  • Context-specific system prompt is accurately tailored for project-based learning.

How to Test

Send POST Request to /assistant-chat with the following JSON:

{
  "assistant_inputs": {
    "assistant_group": "curriculum_tools",
    "assistant_name": "project_based_activity_expert",
    "user_info": {
      "user_name": "Aaron",
      "user_age": 30,
      "user_preference": "string"
    },
    "messages": [
      {
        "role": "human",
        "type": "text",
        "timestamp": "string",
        "payload": {
          "text": "I need ideas for science experiments that require no lab equipment."
        }
      }
    ]
  }
}

Expected Outcomes

{
  "data": [
    {
      "role": "ai",
      "type": "text",
      "timestamp": null,
      "payload": {
        "text": "Okay, Aaron, here are a few ideas for science experiments that you can do without needing any specialized lab equipment, keeping things simple and engaging:\n\n1. **Homemade Lava Lamps:**\n   * **Materials:** Empty plastic bottle, water, vegetable oil, food coloring, effervescent tablets (like Alka-Seltzer).\n   * **Experiment:** Fill the bottle with water and oil, add food coloring, and drop in pieces of the effervescent tablet to create a lava lamp effect.\n   * **Learning:** Demonstrates density and convection.\n\n2. **Baking Soda and Vinegar Volcano:**\n   * **Materials:** Plastic bottle, baking soda, vinegar, dish soap, food coloring (optional).\n   * **Experiment:** Mix baking soda, dish soap, and food coloring in the bottle, then add vinegar to create a volcanic eruption.\n   * **Learning:** Illustrates a chemical reaction producing gas.\n\n3. **Walking Water:**\n   * **Materials:** 7 glasses or jars, paper towels, water, food coloring.\n   * **Experiment:** Arrange the glasses in a row, alternating filled and empty. Connect them with folded paper towels. Add different food colorings to the filled glasses to see the water \"walk\" and mix.\n   * **Learning:** Shows capillary action and color mixing.\n\n4. **DIY Water Filter:**\n   * **Materials:** Plastic bottle (cut in half), coffee filter, sand, gravel, charcoal (optional), dirty water.\n   * **Experiment:** Layer the materials in the bottle to create a filter and pour dirty water through to see how it gets cleaned.\n   * **Learning:** Demonstrates filtration and water purification.\n\n5. **Balloon Static Electricity:**\n   * **Materials:** Balloon, wool cloth, small pieces of paper.\n   * **Experiment:** Rub the balloon on the wool cloth to create static electricity and then hold it near the paper pieces to pick them up.\n   * **Learning:** Explains static electricity and attraction of charges.\n"
      }
    }
  ]
}

Unit Tests

  • Unit tests for:

    • Activity generation.
    • Categorization functionality.
  • Manual tests for:

    • Activity relevance and practicality.
    • Saving and retrieving chat history.

Documentation Updates

Indicate whether documentation needs to be updated due to this PR.

  • No

If yes, describe what documentation updates are needed and link to the relevant documentation.

Checklist

  • I have performed a self-review of my code.
  • I have commented my code, particularly in hard-to-understand areas.
  • My changes generate no new warnings.
  • I have added tests that prove my fix is effective or that my feature works.
  • New and existing unit tests pass locally with my changes.
  • Any dependent changes have been merged and published in downstream modules.

Additional Information

None

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.

1 participant