Ram Report
Ram Report
Artificial Intelligence
An Internship Report
Submitted By
November, 2024
Internship Certificate
3
ACKNOWLEDGEMENT
The successful completion of any task would be incomplete without proper suggestions,
guidance and environment. The combination of these three factors acts like backbone to our “Artificial
Intelligence” Internship
We would like to express our profound gratitude to Dr. M. Sreelatha, Head of the Department
of Computer Science and Engineering and Dr. Kolla Srinivas, Principal of R.V.R. & J.C. College of
Engineering, Guntur for their encouragement and support to carry out this Internship successfully.
We are very much thankful to at AIMER Society - Artificial Intelligence Medical and
Engineering Researchers Society, for having allowed us to conduct the study needed for the Internship.
Finally, we submit our heartfelt thanks to all the staff in the Department of Computer Science
and Engineering and to all our friends for their cooperation during the Internship work.
Manyam Abhiram(Y21CS095)
4
ABSTRACT
During my previous internship, I had the opportunity to apply theoretical knowledge in real-
world scenarios. I independently developed machine learning models and algorithms, translating
complex AI concepts into practical applications. This experience not only honed my proficiency in AI
frameworks but also strengthened my understanding of model optimization and data processing.
Through this, I cultivated a data-driven mindset and enhanced my problem-solving skills, which I
believe are essential for succeeding in the rapidly evolving field of Artificial Intelligence.
I am particularly excited about the opportunity to develop AI-powered models using machine
learning libraries and frameworks. Whether it involves predictive modeling, natural language
processing, or computer vision, I am eager to contribute to impactful projects while further advancing
my technical skills.
Contents
Page No.
Title Page i
Certificate ii
Acknowledgement iii
Abstract iv
Contents
1. Introduction 1
1.1 Background 2
1.2 Important terms in Artificial Intelligence 3
1.3 Objectives 4
2. SYSTEM ANALYSIS
2.1 Requirements 5
2.1.1 Functional Requirements 6
2.1.2 Non Functional Requirements 7
3. System Design
3.1 Architecture Diagram 8
3.2 Workflow 11
3.3 Module Description 12
4. Implementation 14
5. Result Analysis 28
6. Conclusion and Future Work 31
2
1. Introduction
1.1 Background
Artificial Intelligence (AI) is a transformative technology designed to enhance decision making,
automate processes, and analyze vast amounts of data. Businesses typically employ AI professionals to
develop intelligent systems that optimize operations, improve customer experiences, and drive
innovation.
As the volume of data generated online increases daily, the need for AI-driven solutions to handle
and process this data efficiently is growing. AI technologies can help address the rising complexity of
challenges, from automating data analysis to detecting patterns in real-time. Historically, organizations
have relied on manual or rule-based systems to handle tasks, but with the integration of AI, there’s a shift
towards proactive, adaptive, and scalable solutions. The use of AI can significantly boost efficiency,
streamline processes, and uncover insights that traditional approaches might miss.
1.3 Objectives
The goal of employing YOLOv8 (You Only Look Once version 8) for object detection is to
precisely identify and locate multiple objects in images or videos in real time. This entails achieving
rapid processing speeds for immediate detection and classification while ensuring high accuracy to
reduce false positives and negatives. YOLOv8 seeks to recognize and categorize various objects
simultaneously, maintaining resilience against variations in size, orientation, and occlusion.
Additionally, the model is designed for scalability and adaptability, facilitating its application across
different datasets and use cases. By integrating effectively with other technologies, YOLOv8 offers a
robust solution for industries such as security, healthcare, retail, and transportation, where dependable
object detection is critical.
Telegram ChatBot:
The objective of developing a Telegram ChatBot is to provide users with an interactive platform
for communication and information retrieval within the Telegram messaging app. This involves
automating responses to user inquiries, facilitating quick access to services, and enhancing user
engagement through personalized interactions. By leveraging natural language processing and
integration with external APIs, the ChatBot aims to deliver timely and relevant information, making it a
valuable tool for businesses looking to enhance their digital presence and customer interactions.
The goal of developing a Visual Question Answering (VQA) model is to enable machines to
understand and analyze visual content in conjunction with natural language queries. This allows users
to ask questions about images or videos and receive accurate, contextually relevant answers. The model
is trained to efficiently extract and interpret visual features while integrating them with language
comprehension to provide precise responses to a wide variety of queries. By improving the interaction
between humans and machines, VQA models hold significant potential for applications in fields such as
education, accessibility, and data retrieval, ultimately enhancing user engagement and simplifying
access to visual information.
4
The objective of using Power BI for data visualization is to transform complex datasets into
insightful and interactive visual representations that facilitate informed decision-making. By leveraging
Power BI's powerful analytics and visualization tools, users can easily explore data trends, patterns, and
relationships, enabling them to gain actionable insights quickly. The platform aims to simplify the
process of data analysis by providing a user-friendly interface that allows for the creation of dynamic
dashboards and reports. Ultimately, Power BI seeks to empower organizations to harness their data
effectively, driving better strategic planning and enhancing overall business performance.
Image Classification:
2. SYSTEM ANALYSIS
2.1 Requirements
For an Artificial Intelligence internship, the recommended system specifications include a multi-
core processor (such as Intel i5 or AMD Ryzen 5), a minimum of 16GB of RAM (with 32GB being
ideal), and at least a 512GB SSD to ensure quick data access. A modern operating system like Windows
10/11, macOS, or Linux is required. Familiarity with AI frameworks like TensorFlow or PyTorch is
important, along with experience using tools like Jupyter Notebook or Anaconda. A dedicated GPU is
highly recommended for accelerated computations, and a stable, high-speed internet connection is
essential for cloud resource access and collaborative work on projects.
Planning:
Objective: Define the purpose and goals of the AI-driven website or web application.
Tasks: Conduct market research to explore AI trends and potential applications, identify the target
audience's needs and preferences for AI solutions, outline key features and functionalities that leverage
AI (e.g., personalized recommendations, automated responses), create a project timeline that includes
AI development phases, and establish a budget accounting for data acquisition, model training, and
deployment costs.
6
Design:
Objective: Develop an engaging visual and user interface (UI) design that enhances user interaction with
AI features.
Tasks: Create wireframes and prototypes emphasizing AI functionalities, design the layout to facilitate
seamless user engagement with AI tools, select appropriate color schemes and typography that reflect
the brand and enhance readability, and ensure the design is user-friendly and visually appealing while
highlighting AI capabilities.
Development:
Objective: Implement the AI algorithms and functionalities to create a fully operational web application.
Tasks: Develop the backend infrastructure to support AI model integration, create data pipelines for
input and output processing, implement machine learning algorithms for specific tasks (e.g., image
recognition, natural language processing), and ensure the application can scale effectively to handle
varying user loads and data.
Testing:
Objective: Validate the performance and reliability of the AI features within the application.
Tasks: Conduct unit testing for individual AI components, perform integration testing to ensure seamless
interaction between the AI models and the application, execute system testing to verify the overall
functionality, and assess model accuracy and performance under various scenarios. Address any
identified issues or inconsistencies in AI responses.
Delivery:
Objective: Deploy the AI-powered application to a live environment for user access.
Tasks: Select a hosting solution that accommodates AI workloads and scalability, set up the domain and
necessary server configurations, transfer the application files, and ensure that AI models are properly
deployed and operational in the production environment. Facilitate a smooth transition from the
development phase to the live application.
Maintenance:
Objective: Ensure the continued performance and relevance of the AI application post-launch.
Tasks: Regularly update the AI models to improve accuracy and functionality based on user interactions
and feedback, monitor application performance to identify and resolve any emerging issues, implement
security updates to protect user data and the AI system, and adapt the application based on evolving user
needs and technological advancements.
7
Performance:
Ensuring that AI models operate efficiently with minimal latency, especially in real-time applications.
Scalability:
The AI system should be capable of handling increasing volumes of data and users without
compromising performance.
Accuracy:
Maintaining high precision in model predictions and outputs to meet desired levels of reliability.
Security:
Protecting AI models and data from malicious attacks, ensuring data privacy and secure access.
Usability:
Designing user-friendly interfaces for ease of interaction with AI features and making outputs
interpretable.
Maintainability:
The AI system should be easy to update, retrain, or improve as new data becomes available.
Reliability:
Ensuring the AI system consistently produces accurate results without failure, even under varying
conditions.
Ethical Compliance:
AI should adhere to ethical standards, avoiding bias and ensuring fairness in decision-making.
8
3. System Design
3.1 Architecture Diagram
YoloV8 Architecture:
YOLOv8 is an improved version of the YOLO object detection model, designed for realtime use.
It starts with a convolutional neural network (CNN) backbone to extract features from images. Then, a
neck structure (like a Feature Pyramid Network or Path Aggregation Network) processes these features
to better detect objects at various sizes. YOLOv8 uses an advanced head to predict the locations of
objects, their classes, and how likely they are to be present. It improves both speed and accuracy by
using anchor-free detection and better loss functions, making it highly efficient for real-time object
detection tasks.
9
Power BI Architecture:
Power BI architecture is built around several key components. First, it connects to various data sources
like databases, cloud platforms, and Excel files using Power Query, which handles data extraction,
transformation, and loading (ETL). The transformed data can either be stored in Power BI’s in-memory
model for fast performance or accessed in real-time using Direct Query. Users design data models and
create visualizations in Power BI Desktop, which can include relationships, calculated measures, and
interactive reports. These reports are published to the Power BI Service, where they can be viewed on
the web or mobile devices and shared with others. Power BI Gateway allows secure, realtime access to
on-premise data sources, ensuring up-to-date information.
A Telegram ChatBot’s architecture consists of key parts that manage user communication and
response generation. When a user sends a message through the Telegram app, it reaches the bot using
the Telegram Bot API, either through webhooks or long polling. A message handler processes the
incoming text, often using Natural Language Processing (NLP) to understand the user’s intent. The bot
then replies with predefined responses, dynamic data from external APIs, or AI-generated content.
Additionally, a database may store user data to tailor responses, ensuring smooth and personalized
interactions.
3.2 Workflow
3.2.A Workflow of Power BI Architecture
The Power BI architecture workflow begins by connecting to various data sources, such as
databases, cloud services, or flat files. The data is then extracted, transformed, and loaded (ETL) using
Power Query for cleaning and shaping. Afterward, the processed data is stored in Power BI’s inmemory
model or accessed via Direct Query for real-time analysis. Users then create reports and dashboards by
visualizing the data in Power BI Desktop, defining relationships, and performing calculations. Once
reports are finalized, they are published to the Power BI Service, where they can be shared, accessed via
12
mobile or web, and integrated with collaboration tools. Regular data refreshes and secure access to on-
premise data can be managed through Power BI Gateway.
● Power BI enables users to connect to multiple data sources, transform and clean the data, and
then visualize it using various types of charts, graphs, and maps.
● It is widely used for business intelligence and data analysis purposes, allowing users to gain
insights and make data-driven decisions.
The object detection module in YOLOv8 is designed for real-time, efficient object localization and
classification. It consists of the following key components:
1. Backbone: A Convolutional Neural Network (CNN) that processes the input image and extracts
essential features like edges, textures, and patterns. These features are passed to the subsequent
layers for further analysis.
2. Neck: The neck enhances the features extracted by the backbone using structures like a Feature
Pyramid Network (FPN) or Path Aggregation Network (PAN), which help detect objects at
different scales. It combines both low-level and high-level features to improve detection accuracy
for objects of various sizes.
3. Head: The detection head is responsible for generating the final predictions. It outputs bounding
boxes, class probabilities, and object confidence scores for each detected object. YOLOv8 uses
anchor-free detection, which simplifies the detection process and improves speed.
4. Prediction: The final stage of the module outputs the objects detected in the image along with
their respective bounding boxes, confidence scores, and classes. The model balances between
high speed and accuracy, making it suitable for real-time applications.
YOLOv8’s object detection module is optimized for performance, employing efficient computation
techniques while maintaining high detection accuracy.
Telegram ChatBot
The Telegram chatbot module is designed to interact with users via the Telegram messaging platform,
automating tasks and providing information. Key components include:
1. Telegram Bot API: The bot communicates with Telegram’s servers using the Bot API, allowing
it to receive messages, commands, and send responses to users. It also enables bot
authentication and interaction with different Telegram features like groups, channels, and direct
chats.
2. Message Handler: This module listens for incoming messages or commands from users. Based
on predefined conditions or patterns (e.g., specific keywords or commands), it triggers
corresponding responses or actions. It processes both text and multimedia messages.
14
3. Natural Language Processing (NLP): If the bot uses AI, this component helps interpret and
analyze user input using NLP libraries (like spaCy or NLTK), enabling the bot to understand
context, sentiment, or intent, making conversations more dynamic and user-friendly.
4. Response Module: Based on the input received, the response module generates the appropriate
reply. It can pull responses from predefined datasets, APIs, or dynamically generate replies
using machine learning models or decision trees.
5. External API Integration: This module allows the chatbot to interact with external services
and APIs (e.g., weather, news, or AI models) to fetch real-time information and deliver it to the
user.
6. Database: Stores user data, preferences, conversation history, or settings. This helps personalize
interactions and retain context for future conversations.Together, these components ensure the
Telegram chatbot can handle user queries, automate tasks, and provide information efficiently.
4. Implementation
Power BI:
Creating a dashboard in Power BI involves several steps. Here's a general procedure to help you get
started:
1. Install Power BI Desktop:
● Download and install Power BI Desktop from the Microsoft Power BI website.
2. Connect to Data Sources:
● Open Power BI Desktop.
● Click on Get Data in the Home ribbon to choose your data source (e.g., Excel, SQL Server, web,
etc.).
● Load the data into Power BI by selecting the appropriate file or server and following the prompts.
3. Transform and Clean Data (Optional):
● Use Power Query Editor to transform and clean your data if necessary.
● Click on Transform Data to open the Power Query Editor.
● Perform actions like filtering rows, changing data types, merging queries, etc.
● Click Close & Apply to apply the transformations.
4. Create Data Model:
● Define relationships between different tables if your data is coming from multiple sources.
● Click on Model to see and manage relationships.
● Drag and drop fields to establish relationships.
15
5. Build Visualizations:
● Click on Report to go to the report view.
● Select a visualization type from the Visualization pane (e.g., bar chart, pie chart, map, etc.).
● Drag fields from the Fields pane to the visualization to populate it.
● Format the visualization using the options in the Visualization pane.
6. Arrange Visualizations on the Dashboard:
● Add multiple visualizations to your report page.
● Resize and arrange them to create a cohesive dashboard layout.
● Add text boxes, images, and shapes as needed to enhance the dashboard.
7. Add Interactivity:
● Use slicers and filters to make your dashboard interactive.
● Drag a field to the canvas to create a slicer or add filters to individual visualizations or the entire
page.
8. Publish the Dashboard:
● Save your Power BI Desktop file.
● Click on Publish in the Home ribbon.
● Sign in to your Power BI account.
● Choose a workspace to publish your report to the Power BI service.
9. Create and Share a Dashboard (Power BI Service):
● Go to the Power BI service (app.powerbi.com) and navigate to your report.
● Click on the Pin to a dashboard option for visualizations you want to add to a dashboard.
● Create a new dashboard or pin to an existing one.
● Share your dashboard with others by clicking on the Share button and entering the email
addresses of the recipients.
10. Set Up Dashboard Tiles (Optional):
● Customize the dashboard by rearranging and resizing the tiles.
● Set up alerts, drill-through actions, and other interactive features as needed.
Then, you will be asked to invite collaborators to your workspace. These collaborators can help
you annotate images or manage the vision projects in your workspace.
Once you have invited people to your workspace (if you want to), you will be able to create a
project.
17
For this example, we will be using a dataset of cars to train a model that can identify screws in
a kit. This model could be used for quality assurance in a manufacturing facility. With that said,
you can use any images you want to train a model.
Leave the project type as the default "Object Detection" option since our model will be
identifying specific objects and we want to know their location within the image.
Paste the youtube link and then click next it will process the video here the video is nothing
but a series of images here we will take 1 frame/second then click on choose frame rate.
Now click on universe and click on self-driving there are 100 of datasets select “vehicles
Computer Vision Project” click on download this dataset. In format select YOLOv8
18
After selecting YOLOv8 click on continue. Copy the code now click on a notebook from your
model library select YOLOv8 after clicking YOLOv8 you can see Train on colab on the
rightside open train on colab. Here you can see the following codes.
Now run the cell. This cell is used to check whether you have connected to GPU(Graphics
Processing Unit) or not.
Now run the above cell this cell works the current directory to home
# !pip install -e .
# from IPython import display
19
# display.clear_output()
# import ultralytics
# ultralytics.checks()
Run the above cell this cell will import yolo. After executing the four cells scroll down you
will find a cell in Preparing a custom dataset. After step 5 you can see a cell.
After running the above cell, you can upload the image or video so that it can label all the
objects. In runs-detect-train download the best.pt file this file is the model file
20
%cd {HOME}
!yolo task=detect mode=predict
model={HOME}/runs/detect/train/weights/best.pt conf=0.25
After running the above cell, the result will be saved in runs/detect/predict
import glob
for image_path in
glob.glob(f'{HOME}/runs/detect/predict3/*.jpg')[:3]:
display(Image(filename=image_path, width=600))
print("\n")
Paste the video link in source After running the cell you will find the video with the detecting
of objects using YOLOv8
%cd {HOME}
!yolo task=detect mode=predict
model={HOME}/runs/detect/train/weights/best.pt conf=0.25
source=/content/test.mp4 save=True
After running the above cell you will find the result video in runs/detect/predict2
After running the above cell you can find the result video in your google drive
Telegram ChatBot
● Determine what tasks the chatbot should perform (e.g., customer support, FAQ, booking system).
2. Choose a Platform
● Select a chatbot development platform that suits your needs (e.g., Dialogflow, Rasa).
4. Implement NLP
● Train the chatbot to understand user inputs by defining intents (user goals) and entities (specific
data points).
● Use the chosen platform’s NLP tools to build the model.
● Connect the chatbot to databases, APIs, and other services to perform necessary actions (e.g.,
retrieving data, processing transactions).
● Conduct thorough testing to ensure the chatbot handles various scenarios and edge cases.
● Use beta testing with real users to gather feedback.
● Deploy the chatbot on the desired platform (e.g., website, messaging apps, voice assistants).
● Monitor performance and make iterative improvements based on user interactions.
Go to Telegram app, log in to your account, or create a new one. Type in @BotFather in the
search field, and go to this bot
23
You will receive a list of commands you can use to manage bots.
Select or type in the /newbot command, and send it.
Choose a name for your bot — your subscribers will see it during your conversations. You also
need to pick a username for your bot so that users can find it using search. Your bot username
must be unique and end with the word bot.
Once you choose a name for your chatbot, it will be created. You will receive a message with a
link to your bot (t.me/<bot_username>), recommendations on how to set up a profile picture,
description, and a list of commands you can use to manage your new bot.
25
To connect to your bot you need to copy the token and place in TelegramBOT TOKEN
#AIMER Society - Indian Servers
!pip install pyTelegramBotAPI
!pip install openai
!pip install google-generativeai #For Google Gemini #AIMERS
!pip install anthropic
TelegramBOT_TOKEN = '7232921455:AAHPW7dW9q-UuMuyzDJQveya91UlK5dZyUM'
"temperature": 1,
"top_p": 0.95,
"top_k": 0,
"max_output_tokens": 8192,
safety_settings = [
"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
"category": "HARM_CATEGORY_HATE_SPEECH",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
27
model = genai.GenerativeModel(model_name="gemini-1.5-pro-latest",
generation_config=generation_config,
safety_settings=safety_settings)
telebot.TeleBot(TelegramBOT_TOKEN)
except Exception as e:
print(f"An error occurred: {e}") bot.reply_to(message,
"Sorry, I
couldn't process your request.")
Run the above cell to see the conversation between you and bot.
28
5. Result Analysis
My Dashboard-
29
My artificial intelligence internship has been a truly transformative experience, offering me valuable
exposure to practical applications of my academic knowledge. Throughout the internship, I had the
opportunity to work on various projects, gaining hands-on experience with technologies such as chatbots,
generative AI, object detection, visual question answering, image classification, and computer vision. The
combination of guided tasks and a practical environment helped deepen my understanding of these critical
AI concepts.
As the field of artificial intelligence evolves, the demand for skilled professionals continues to rise across
different industries. Many organizations are looking to AI to drive innovation and improve their offerings.
With tools like Google Teachable Machine and DALL·E opening new possibilities, the career prospects
in AI are vast and exciting. This internship has provided me with the essential skills and knowledge needed
to succeed in this dynamic field and pursue a promising career in artificial intelligence.
Looking ahead, the rapid advancements in AI present endless opportunities for innovation and problem-
solving. The skills I’ve gained will allow me to develop intelligent solutions that enhance user experiences
and improve automation in various sectors. The future of AI holds great potential, and
I’m excited to be part of this evolving and impactful field, contributing to advancements that can benefit
society.