AI - ML Assignment

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Assignment Overview:

This coding task is designed to evaluate your skills as an AI/ML Intern at Devzery. You will
be tasked with creating a web application with specific backend and functionality
requirements and also to prepare a research document on an AI tool.

Note: For this assignment please use Python for backend, any SQL database and React.js
for frontend. Any details that are not provided can be assumed.

Section 1:
Login Functionality:
● User Registration and Authentication:
○ Implement a user registration system with fields for username, email,
and password.
○ Upon registration, send a confirmation email with a verification link.
Users should only be able to log in after email verification (Just an
explanation on how this can be achieved, no need to code).
● Profile Page:
○ Create a user dashboard where registered users can:
■ View and edit their profiles (username, email).
■ View all the profiles registered.
● Password Reset:
○ Allow users to request a password reset via email. Generate a secure
token for resetting the password (Just an explanation no need to
code).
Section 2:
Objective:
Your task is to design and implement an autonomous AI tool that utilises the capabilities of
Large Language Models (LLMs) to automatically generate concise summaries for each
function within a given application’s codebase. The primary goal is to enhance code
comprehension without requiring additional input from the user.

Key Information to include:

Literature Review:
Conduct a thorough literature review on existing methodologies and approaches for
autonomous code summarization using LLMs. Summarise key findings,
advancements, and challenges from relevant research papers and articles in the
field.

Approaches for Autonomous Code Summarization:


Explore and propose different approaches specifically tailored for autonomous code
summarization.

Choice of LLMs:
Evaluate and justify the selection of LLMs suitable for autonomous code
summarization. Compare and contrast different LLMs, considering their architectures,
pre-training techniques, and adaptability to the autonomy constraint.
Implementation Strategy:
Outline a detailed implementation strategy for developing the autonomous AI code
summarization tool. Specify how the tool will autonomously identify functions within
the codebase and generate summaries without user intervention.

Handling Code Structure and Context:


Propose strategies for handling the structure of code and capturing context when
summarising individual functions. Discuss how the tool can understand the
relationships between functions and maintain coherence in summaries.

Challenges and Solutions:


Identify potential challenges associated with autonomous code summarization, such
as handling code variability and diverse coding styles. Provide innovative solutions or
mitigations to ensure robust performance.

Submission Guidelines:
Section 1:
1. You should create a GitHub repository to store your code.
2. Commit your code regularly with clear and informative commit messages.
3. Include a README file with instructions on how to run your application locally.
Section 2:
1. Create a PDF and share the file.

Good luck with the assignment! We look forward to seeing your work and assessing
your potential to contribute to Devzery's innovative software testing platform.

You might also like