BabyAGI is an AI-powered task management system that generates, prioritizes, and executes tasks using OpenAI's NLP capabilities and vector databases, where tasks are created based on the outcome of previous tasks and a predefined objective. This project extends the BabyAGI implementation by integrating an Answer Generation LLM to produce a final answer based on the original question and improve the task generation step. An external Tool retrieves research papers from databases like arXiv, ChemRxiv, and PubMed, conducts semantic searches, and uses this as context for GPT-3.5-turbo to generate accurate answers. The Answer Generation LLM outputs the final answer along with the reference paper.
The project aims to create a custom AI agent using ReAct logic to generate factual answers with references from research publications. ReAct combines reasoning and action to enhance the performance of language models like GPT-3.5-turbo. This agent uses a multi-step self-questioning approach to decompose queries and retrieves relevant research papers from databases such as arXiv, ChemRxiv, and PubMed. A semantic search on these papers provides the necessary context, enabling the agent to produce precise, referenced responses.
This work introduces SETFIT, an innovative method for few-shot text classification. SETFIT fine-tunes a pre-trained Sentence Transformer in a contrastive Siamese manner to generate robust text embeddings, which are then utilized to train a classification head. My research demonstrates that SETFIT achieves state-of-the-art results and performs comparably to standard fine-tuning approaches, all while being smaller and avoiding high computational costs. Additionally, SETFIT eliminates the challenges of manually designing high-quality prompts. I propose a new sampling method and show through experiments that it achieves comparable or superior performance to random sampling. Furthermore, I have made the code and data used in this research publicly available.
This project focuses on predicting the approval of loan applications based on financial information, requested loan amounts, and other relevant factors using a highly imbalanced dataset of over 100,000 records. To address the imbalance, I implemented various techniques, including scikit-learn pipelines to prevent data leakage during upsampling and downsampling with cross-validation. The project is built using object-oriented programming and includes exploratory data analysis, feature engineering, feature selection, hyperparameter tuning, model evaluation, and a web application developed with HTML, CSS, and Flask.
This project focuses on predicting house prices in Bengaluru using a dataset with over 13,000 records. A key challenge is the presence of dirty data, which necessitates extensive preprocessing, including various feature engineering techniques and outlier treatment. To prevent data leakage, I utilized scikit-learn pipelines for feature selection, feature scaling, and hyperparameter tuning. The project is built using object-oriented programming and encompasses exploratory data analysis, feature engineering, model evaluation, and a web application developed with HTML, CSS, and Flask.
Traffic sign classification involves the automatic recognition of various traffic signs, such as speed limit, yield, and merge signs. In this case study, I utilized a dataset containing images of 43 different traffic signs to train a Deep Neural Network for classification. To enhance model performance, I employed several techniques, including hyperparameter tuning with RandomSearch from KerasTuner, Early Stopping Callback to prevent overfitting, Data Augmentation for improved generalization, and Transfer Learning using VGG16. Additionally, a web application was developed using HTML, CSS, and Flask.
The N-gram language model is a probabilistic framework trained on a text corpus, widely used in NLP applications such as speech recognition, machine translation, and predictive text input. It operates by counting the frequency of word sequences in the corpus to estimate probabilities. This project involves building an NLP system that includes a bigram language model developed from scratch to detect grammatical errors and a fine-tuned T5 Transformer that classifies English text as correct or incorrect while generating correction suggestions. Additionally, I enhanced the performance of both the bigram model and the Transformer using techniques such as hyperparameter tuning, including k-smoothing and threshold adjustments for the language model, as well as fine-tuning with a custom dataset. Finally, a web application will be built using HTML, CSS, and Flask.
This project focuses on building a NLP-based Q&A system that generates answers from a knowledge base or text paragraphs in response to input questions. This project involves preprocessing text data for the question-answering task, fine-tuning the BERT Transformer to process context and questions, and generate answers. Additionally, a web application will be developed using HTML, CSS, and Flask.