Skip to content
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

Feature Enhancement: AI-Powered Project Summary and Labeling #2681

Open
DonnieBLT opened this issue Aug 27, 2024 · 2 comments
Open

Feature Enhancement: AI-Powered Project Summary and Labeling #2681

DonnieBLT opened this issue Aug 27, 2024 · 2 comments

Comments

@DonnieBLT
Copy link
Collaborator

Objective:

Enhance the existing project section in the OWASP BLT project to automatically collect, analyze, and summarize information from project repositories using AI. This feature will generate a concise summary of each project, along with searchable labels to improve discoverability and usability.

Detailed Description:

  1. Repository Data Collection:

    • Implement a system to regularly fetch and update data from project repositories. This data can include README files, documentation, commit messages, and issue trackers.
    • Utilize APIs (such as GitHub, GitLab, etc.) to extract relevant information automatically.
  2. AI-Powered Project Summarization:

    • Integrate an AI model capable of natural language processing (NLP) to analyze the collected repository data.
    • The AI should generate a brief, human-readable summary of each project, focusing on key aspects such as purpose, features, technologies used, and current status.
    • Summaries should be automatically updated whenever significant changes occur in the repository.
  3. Label Generation:

    • Develop an AI-based labeling system that categorizes projects with relevant tags or labels.
    • Labels could include technology stacks (e.g., Python, JavaScript), project type (e.g., web application, library, tool), OWASP relevance (e.g., security testing, secure coding), and more.
    • These labels should be dynamically updated and allow users to search or filter projects easily.
  4. Searchable Project Catalog:

    • Enhance the project's section UI/UX to include a search and filter functionality based on the generated summaries and labels.
    • Provide users with the ability to quickly find projects relevant to their interests by searching for specific labels or keywords found in the AI-generated summaries.
  5. Contributors and Links Integration:

    • Maintain the current functionality that displays contributors and repository links.
    • Integrate the new summaries and labels alongside this existing information to provide a comprehensive overview of each project.
  6. Admin and User Feedback Loop:

    • Include a feedback mechanism for project maintainers and users to suggest edits to the AI-generated summaries or labels.
    • Allow maintainers to manually adjust summaries and labels if necessary, ensuring the AI output aligns with project goals and descriptions.

Technical Implementation:

  • Backend:

    • Use Python-based NLP libraries (e.g., spaCy, Hugging Face Transformers) for AI summarization and labeling.
    • Implement data collection using repository APIs and schedule regular updates via cron jobs or similar task schedulers.
  • Frontend:

    • Update the UI to display the AI-generated summaries and labels alongside existing project details.
    • Enhance the search functionality to utilize the generated labels and summary content.
  • Data Storage:

    • Store AI-generated summaries and labels in a database, ensuring they can be efficiently queried and updated.
  • Performance Considerations:

    • Ensure the AI summarization and labeling processes are optimized for speed, so they do not slow down the user experience.
    • Consider using caching strategies for frequently accessed summaries and labels.

Benefits:

  • Improved Discoverability:

    • Users can quickly find projects that match their interests, improving engagement and collaboration.
  • Up-to-Date Information:

    • Summaries are kept current with the latest project developments, providing accurate insights.
  • Enhanced User Experience:

    • Streamlined access to project information, making the OWASP BLT project section more user-friendly and valuable.

Future Enhancements:

  • Expand the AI model to provide insights or predictions about the project’s future trajectory based on the repository activity.
  • Introduce advanced filtering options like popularity, recent updates, or specific contributor involvement.
  • Implement multilingual support for summarization and labeling to reach a global audience.
@github-project-automation github-project-automation bot moved this to Backlog in 📌 All Aug 27, 2024
@DonnieBLT DonnieBLT pinned this issue Aug 27, 2024
@JisanAR03
Copy link
Contributor

@DonnieBLT , I hope I can contribute for complete those implementation😊

@DonnieBLT
Copy link
Collaborator Author

Awesome @JisanAR03 thank you

DonnieBLT added a commit that referenced this issue Oct 12, 2024
Related to #2681

Enhance the project section to automatically collect, analyze, and summarize information from project repositories using AI.

* Add logic to fetch README files, documentation, commit messages, and issue trackers from repository APIs in `website/management/commands/update_projects.py`.
* Add fields for AI-generated summaries and labels to the `Project` model in `website/models.py`.
* Update `ProjectSerializer` to include fields for AI-generated summaries and labels in `website/serializers.py`.
* Update `ProjectViewSet` to handle AI-generated summaries and labels and allow maintainers to manually adjust summaries and labels in `website/api/views.py`.
* Add UI elements to display AI-generated summaries and labels and add search and filter functionality based on summaries and labels in `website/templates/website/project_list.html`.
* Add UI elements to display AI-generated summaries and labels and allow maintainers to suggest edits to summaries and labels in `website/templates/website/project_detail.html`.

pip install spacy transformers

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/OWASP-BLT/BLT/issues/2681?shareId=XXXX-XXXX-XXXX-XXXX).
@DonnieBLT DonnieBLT unpinned this issue Nov 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Backlog
Development

No branches or pull requests

2 participants