top of page

Generative AI Projects

A web-based Q&A application enabling users to query research papers interactively. It leverages Retrieval-Augmented Generation (RAG), combining document retrieval with natural language generation to provide accurate, context-aware answers from the content of research papers.

Doc_Rag_Groq_Llama3_HF_2.png

This project, built with Streamlit and powered by LangChain's advanced LLMs (such as Groq’s Gemma model), provides an interactive chatbot interface that assists users with math problem-solving and general data search. Users can input questions, whether they are complex mathematical queries or general data requests, and receive detailed, step-by-step responses.

S36_Math.png

A Streamlit app showcasing NVIDIA’s LLMs for context-based question answering and document embedding. It uses LangChain endpoints and FAISS vector store to enable fast, accurate search across uploaded documents by splitting and embedding them for efficient retrieval. Ideal for robust, scalable document interaction and Q&A solutions.

S42_NVIDIA_2.png

​This project demonstrates fine-tuning large language models (LLMs) using Lamini’s powerful engine, adapting the "Meta-Llama-3-8B-Instruct" model for specialized queries with improved accuracy. It highlights key capabilities like data customization, hyperparameter tuning, and seamless Lamini API integration, showcasing how to create domain-specific AI solutions optimized for unique business needs.

S49_Lamini_fintune.png

The "LangChain: Chat with SQL DB" project is a web-based application built with Streamlit that facilitates natural language interactions with SQL databases, powered by advanced language model capabilities from LangChain and Groq. Designed to make database querying accessible to users without SQL expertise, this application combines the convenience of conversational AI with robust backend database support, suitable for data analysts, business users, and developers alike.

S33_SQLtoolkit_2.png

​The project, Enhanced Q&A Chatbot with Ollama, is a question-answering application developed using Streamlit and LangChain, designed to help users interact with an Open Source Large Language Model (LLM) like Mistral for information retrieval and general assistance. The chatbot leverages Ollama for its LLM, and LangChain’s ChatPromptTemplate to create structured conversational prompts.

Ollama_with_Mistral.png

An AI-driven chatbot leveraging LangGraph, LangChain, and Groq’s LLMs to deliver context-aware answers using Wikipedia and Arxiv data. It features a State Graph framework for flexible tool usage, real-time response streaming, and dynamic knowledge retrieval, making it ideal for answering both general and research-specific questions interactively.

Langraph_Chatbot_2_edited_edited.jpg

A scalable semantic search application leveraging Pinecone and LangChain for hybrid vector and sparse matrix retrieval. This project integrates HuggingFace embeddings and BM25 sparse encoding to create a robust search engine capable of combining contextual understanding with traditional keyword matching for improved search accuracy.

Pinecone_2.png

The "LangChain: Summarize Text from YouTube or Website" application is a Streamlit-based tool designed to generate concise summaries from any YouTube video or website content. Leveraging LangChain and Groq's powerful language models, this project allows users to retrieve insights from lengthy content sources quickly, making it ideal for students, researchers, professionals, and anyone looking to save time by understanding content summaries instead of reading or watching in full

S35_Summary_YT_URL.png

This project is an advanced Conversational Retrieval-Augmented Generation (RAG) Q&A System that allows users to upload PDF documents and ask questions based on their contents. By leveraging chat history, the application maintains context across multiple interactions, making it highly effective for multi-turn conversations where questions build upon previous responses.

Chat_History_4.png

1. RAG Document Q&A with Groq and Llama3

This project is a web-based Question & Answer (Q&A) application that enables users to interactively query a collection of research papers. It uses Retrieval-Augmented Generation (RAG), which combines advanced document retrieval and natural language generation to deliver accurate, context-aware answers. The application allows users to ask questions about the content of research papers, retrieving relevant information and providing answers based on the documents' contents. Built with Streamlit for an accessible web interface, this project integrates several machine learning and natural language processing tools: 1. Document Ingestion and Embedding: It loads and processes research papers in PDF format, splits them into manageable chunks, and converts them into vector embeddings for efficient search. 2. Vector Database and Retrieval: Uses FAISS (Facebook AI Similarity Search) as a vector database to store and retrieve document chunks relevant to the user's query. 3. Large Language Model (LLM) Integration: Utilizes the Groq-based Llama3-8b-8192 model for response generation. It answers user questions by focusing on the retrieved document context, ensuring accuracy. 4. Hugging Face Embeddings: Embedding generation is managed by Hugging Face's all-MiniLM-L6-v2 model, enabling efficient, contextual embeddings even in the absence of an OpenAI key. How it Works 1. Data Ingestion and Embedding: When the user clicks "Document Embedding," research papers are processed, split into sections, and embedded into a FAISS vector database. 2. Query Handling: Upon entering a question, the application retrieves relevant document chunks, then generates a response using the Llama3 model, grounded in the specific context of the retrieved documents. 3. Similarity Search Display: Users can also view similar document sections to their query, gaining insight into how the answer was generated.

Doc_Rag_Groq_Llama3_HF_2.png

2. Q&A Chatbot with Ollama- Gen AI Application

A dynamic, web-based chatbot designed to provide intelligent question-and-answer interactions using open-source large language models via LangChain and Ollama. This project showcases the integration of Retrieval-Augmented Generation (RAG) techniques and LLM-based conversational AI to deliver context-aware, accurate answers. Key Features: Built with Streamlit for an interactive user interface. Utilizes LangSmith Tracking for enhanced performance monitoring. Supports customizable parameters like temperature and token limits for response generation. Implements a ChatPromptTemplate to personalize responses with a conversational AI named "Jarvis." Integrates open-source models (e.g., Mistral) through Ollama for cost-effective and privacy-conscious AI solutions. This project highlights my expertise in LangChain, prompt engineering, and integrating open-source LLMs to build scalable, real-world AI applications.

Ollama_with_Mistral_edited.jpg

3. Math Problem Solver and Data Search Assistant with Groq

An interactive AI-powered assistant that combines math problem-solving and data search capabilities using advanced language models and tools for intelligent reasoning and computational assistance. Key Features: Text-to-Math Problem Solver: Utilizes Groq’s Gemma 2 model (9b) with an LLMMathChain to handle complex mathematical problems, providing step-by-step solutions with logical reasoning. Data Search with Wikipedia Integration: Integrates a Wikipedia API to retrieve relevant, up-to-date information on various topics. Dynamic Agent System: Uses LangChain’s Zero-Shot ReAct Agent for reasoning, calculation, and knowledge retrieval, ensuring seamless interaction and problem-solving. Streamlit Interface for User-Friendly Interaction: Provides an intuitive input area and real-time chat responses. Session Memory: Maintains conversational context using Streamlit's session state, delivering continuous interactions. This project demonstrates my expertise in large language models (LLMs), prompt engineering, agent-based systems, and building practical AI applications for complex tasks. It highlights my ability to integrate multiple tools into cohesive, user-friendly solutions.

S36_Math.png

4. State Graph-Based Conversational AI with Arxiv and Wikipedia Tools Integration

This project creates an interactive Conversational AI Agent that can dynamically utilize tools to answer user questions with data from Wikipedia and Arxiv. Built with LangGraph, LangChain, and Groq’s LLMs, the project uses a State Graph framework, enabling flexible, conditional tool usage within conversations. The application also integrates Wikipedia and Arxiv search tools to provide accurate, real-time answers to questions about recent research or notable public figures and events. Key Features: 1. State Graph and Tool-Enabled Conversational System: Manages conversation flow and tool usage with LangGraph's State Graph, allowing flexible responses based on the question's requirements. 2. Integrated Knowledge Tools: Includes Wikipedia and Arxiv API wrappers, enabling detailed, context-specific responses by fetching concise and recent content from reliable sources. 3. Dynamic Tool Selection: Uses conditional logic to determine when to call external knowledge tools, enhancing response relevance. 4. LLM Integration with Tool Binding: Incorporates Groq’s Gemma2-9b-It model, which is dynamically bound to tools like Wikipedia and Arxiv, making it capable of answering both general and research-specific questions. 5. Graph Visualization and Streamed Responses: Renders the State Graph structure as a visual model, making it easy to understand the AI agent's decision-making. Responses are streamed in real-time, maintaining user engagement and reducing wait times. How It Works: 1. State Graph Construction: Builds a conversation-driven state graph with conditional edges to manage interaction flow and tool usage. 2. Question Parsing and Tool Invocation: Upon receiving user input, the system checks if the question requires additional information from Wikipedia or Arxiv. If needed, it invokes the relevant API. 3. LLM-Based Answer Generation: The Groq model, with tool bindings, generates responses by leveraging both pre-trained language understanding and tool-provided data. 4. Graph Execution and Response Streaming: Executes the state graph in real-time, presenting an evolving stream of responses that are generated based on both user input and dynamically retrieved information.

Langraph_Chatbot_2_edited_edited.jpg

5. Document Search and Q&A with NVIDIA LLMs

This project, developed using Streamlit, serves as a demonstration of NVIDIA's advanced LLM capabilities for document embedding and context-based question answering. The app leverages LangChain's NVIDIA endpoints and FAISS vector store to create a high-performance document retrieval system. Users can upload document directories (in this case, US Census documents), which are split into smaller chunks and embedded as vectors to facilitate efficient search and retrieval. Key Features: 1. Document Ingestion and Chunking: Uses PDF directory loaders and chunking techniques to preprocess documents, enabling efficient and relevant search. 2. Vector Storage with FAISS: Creates embeddings from document chunks and stores them in FAISS, a high-speed vector store, for fast and accurate retrieval. 3. NVIDIA-powered LLMs for QA: Integrates NVIDIA’s large language models, such as Meta Llama, to provide accurate answers based on context from stored documents. 4. Contextual Similarity Search: Displays document chunks relevant to the query, enhancing transparency and comprehension. Ideal for users and organizations needing robust document search and Q&A capabilities, this app provides a reliable, user-friendly way to interact with large document sets and extract precise information quickly.

S42_NVIDIA_2.png
Nvidia 2_edited.jpg

6. Pinecone Hybrid Search with LangChain and HuggingFace&A with NVIDIA LLMs

This project demonstrates the implementation of a hybrid search application using LangChain, Pinecone, and Hugging Face embeddings. It combines dense vector embeddings with sparse BM25 encoding for enhanced search accuracy and relevance. The hybrid approach enables users to query textual data with greater precision, accounting for both semantic and keyword-based matching. Key Features: 1. Pinecone Integration for Hybrid Search: Utilizes Pinecone's HybridSearchRetriever to support both dense embeddings (for semantic similarity) and sparse matrix encoding (for keyword-based matching). 2. Hugging Face Embeddings: Embeds text using the all-MiniLM-L6-v2 model, which creates dense vector representations for nuanced semantic retrieval. 3. BM25 Sparse Encoding: Uses BM25 encoding for token-level keyword matches, providing a more granular approach to search accuracy in hybrid retrieval. 4. Efficient Indexing: Texts are indexed within a Pinecone environment, making search queries fast, efficient, and suitable for large-scale applications. Ideal for applications requiring high-precision search, this project combines multiple retrieval methods, making it well-suited for content-heavy platforms, recommendation systems, and knowledge bases.

7. Custom Fine-Tuning of Language Models with Lamini

This project showcases the fine-tuning capabilities of Lamini's language model engine to adapt large language models (LLMs) for specific use cases and domains. Using Lamini's API and custom dataset, the project refines the "Meta-Llama-3-8B-Instruct" model to answer user-specific queries with optimized accuracy. By leveraging Lamini’s fine-tuning parameters such as learning rate, early stopping, and max training steps, this project demonstrates how to enhance model performance through precise adjustments to meet particular application needs. Key Features: 1. Data Customization and Preprocessing: Utilizes a diverse set of Q&A data to adapt the language model’s responses for specific question types. 2. Flexible Hyperparameter Tuning: Adjusts parameters like learning rate and training steps to control the model's learning process, ensuring balanced performance and efficiency. 3. Enhanced User-Specific Adaptability: Fine-tunes the language model to align closely with the user’s domain or business needs, making it more responsive to specialized queries. 4. Lamini Platform Integration: Uses Lamini’s language model engine API for fine-tuning, supporting efficient customization with minimal hardware requirements. This project is ideal for users seeking to enhance LLMs for applications in customer support, documentation assistance, or domain-specific knowledge bases. It demonstrates how Lamini’s fine-tuning capabilities streamline model adaptation, creating responsive AI solutions tailored to distinct industry needs.

S49_Lamini_fintune.png

8. LangChain: Summarize Text from YouTube or Website

The "LangChain: Summarize Text from YouTube or Website" application is a Streamlit-based tool designed to generate concise summaries from any YouTube video or website content. Leveraging LangChain and Groq's powerful language models, this project allows users to retrieve insights from lengthy content sources quickly, making it ideal for students, researchers, professionals, and anyone looking to save time by understanding content summaries instead of reading or watching in full. Features Support for Multiple URL Types: Users can input either YouTube video URLs or general website URLs. The app automatically identifies the type of URL, enabling seamless processing for both video and text-based content. Groq Language Model Integration: Utilizing the "Gemma-7b-It" model from Groq, the app generates high-quality summaries. This model processes the extracted content and returns a summary within 300 words, ensuring that users receive concise and relevant information. Flexible Content Loading: For YouTube videos, the app uses YoutubeLoader to fetch video transcripts and metadata, ensuring all necessary information is available for summarization. For website URLs, the UnstructuredURLLoader extracts the web content while handling SSL verification and user-agent headers to avoid access issues, making it compatible with various websites. Prompt Template for Summarization: The summarization prompt template is crafted to instruct the model to limit responses to 300 words. This targeted prompt ensures summaries remain succinct and directly address the user’s content needs. User-Friendly Interface: Built with Streamlit, the app’s sidebar captures the Groq API key, while the main page displays the URL input field and a button to trigger summarization. The output is displayed in real-time with an interactive spinner, providing a smooth user experience. Error Handling and URL Validation: The app verifies URLs using the validators library to ensure that the provided URL is valid. It also checks the Groq API key input, ensuring all necessary parameters are correctly entered before proceeding with summarization. If an invalid URL or missing information is detected, the app notifies the user through error messages. Technology Stack Streamlit: For building an interactive, web-based interface. LangChain and Groq LLMs: Groq’s Gemma model processes and generates summaries of content pulled from various URLs. Python Libraries: Includes validators for URL validation, pytube for fetching YouTube transcripts, and langchain_community for document loading. Use Cases Education: Students and educators can quickly summarize academic videos or articles, saving time on long reads and helping them focus on key information. Research: Researchers can analyze numerous web sources or videos without needing to review each in full. Content Creation: Writers and content creators can use the tool to gather information on complex topics by summarizing relevant online content. User Workflow Enter Groq API Key: Users input their Groq API key in the sidebar to authenticate the language model. Input URL: The user pastes a URL for a YouTube video or website in the input box. Summarize Content: Clicking the "Summarize the Content from YT or Website" button triggers content processing. The app validates the URL and key inputs. View Summary: After the processing completes, the app displays a 300-word summary of the content.

S35_Summary_YT_URL.png

9. Chat with SQL DB

The "LangThe "LangChain: Chat with SQL DB" project is a web-based application built with Streamlit that facilitates natural language interactions with SQL databases, powered by advanced language model capabilities from LangChain and Groq. Designed to make database querying accessible to users without SQL expertise, this application combines the convenience of conversational AI with robust backend database support, suitable for data analysts, business users, and developers alike. Features 1. Dual Database Support: Users can choose between a local SQLite database or a MySQL database. For MySQL, the application provides easy-to-use fields in the sidebar to input connection credentials (host, username, password, and database name), allowing flexible connectivity options based on the user's preferences and needs. 2. AI-Driven Natural Language Querying: By leveraging the Groq language model (specifically Llama3-8b-8192), the application translates natural language queries into SQL commands. This allows users to ask complex data questions in plain English, making data exploration easy, intuitive, and efficient. 3. Session-Based Chat History: The application includes a persistent chat history managed through Streamlit's session state, allowing users to view previous interactions in their session. This history is easily reset via a "Clear message history" button, enabling clean sessions for each use. 4. Dynamic Message Handling: The assistant provides responses in real-time, utilizing Streamlit's chat components to create a smooth, interactive experience. Users can input queries in the chat box, and the assistant replies with relevant data directly from the database, giving instant feedback and enhancing the conversational experience. 5. Configurable Database Connection: Using the LangChain SQLDatabaseToolkit and SQLDatabase modules, the app configures database connections on-demand. For SQLite, it reads from a local database file; for MySQL, it dynamically creates a connection based on user-provided credentials, adding versatility to database management. 6. Agent-Based Query Execution: Built with LangChain’s SQL Database Agent Toolkit, the app uses a specialized agent (AgentType.ZERO_SHOT_REACT_DESCRIPTION) to interpret and execute user queries efficiently. This agent facilitates a zero-shot learning approach, which interprets queries on-the-fly and responds accordingly, streamlining the user experience. 7. Real-Time Streaming Output: For enhanced interactivity, the assistant responds in real time using StreamlitCallbackHandler, displaying each part of the response as it's generated. This feature helps keep users engaged and informed as the answer is processed and retrieved from the database.Chain: Summarize Text from YouTube or Website" application is a Streamlit-based tool designed to generate concise summaries from any YouTube video or website content. Leveraging LangChain and Groq's powerful language models, this project allows users to retrieve insights from lengthy content sources quickly, making it ideal for students, researchers, professionals, and anyone looking to save time by understanding content summaries instead of reading or watching in full. Features Support for Multiple URL Types: Users can input either YouTube video URLs or general website URLs. The app automatically identifies the type of URL, enabling seamless processing for both video and text-based content. Groq Language Model Integration: Utilizing the "Gemma-7b-It" model from Groq, the app generates high-quality summaries. This model processes the extracted content and returns a summary within 300 words, ensuring that users receive concise and relevant information. Flexible Content Loading: For YouTube videos, the app uses YoutubeLoader to fetch video transcripts and metadata, ensuring all necessary information is available for summarization. For website URLs, the UnstructuredURLLoader extracts the web content while handling SSL verification and user-agent headers to avoid access issues, making it compatible with various websites. Prompt Template for Summarization: The summarization prompt template is crafted to instruct the model to limit responses to 300 words. This targeted prompt ensures summaries remain succinct and directly address the user’s content needs. User-Friendly Interface: Built with Streamlit, the app’s sidebar captures the Groq API key, while the main page displays the URL input field and a button to trigger summarization. The output is displayed in real-time with an interactive spinner, providing a smooth user experience. Error Handling and URL Validation: The app verifies URLs using the validators library to ensure that the provided URL is valid. It also checks the Groq API key input, ensuring all necessary parameters are correctly entered before proceeding with summarization. If an invalid URL or missing information is detected, the app notifies the user through error messages. Technology Stack Streamlit: For building an interactive, web-based interface. LangChain and Groq LLMs: Groq’s Gemma model processes and generates summaries of content pulled from various URLs. Python Libraries: Includes validators for URL validation, pytube for fetching YouTube transcripts, and langchain_community for document loading. Use Cases Education: Students and educators can quickly summarize academic videos or articles, saving time on long reads and helping them focus on key information. Research: Researchers can analyze numerous web sources or videos without needing to review each in full. Content Creation: Writers and content creators can use the tool to gather information on complex topics by summarizing relevant online content. User Workflow Enter Groq API Key: Users input their Groq API key in the sidebar to authenticate the language model. Input URL: The user pastes a URL for a YouTube video or website in the input box. Summarize Content: Clicking the "Summarize the Content from YT or Website" button triggers content processing. The app validates the URL and key inputs. View Summary: After the processing completes, the app displays a 300-word summary of the content.

S33_SQLtoolkit_2.png

10. Conversational RAG Q&A with PDF Uploads and Chat History

This project is an advanced Conversational Retrieval-Augmented Generation (RAG) Q&A System that allows users to upload PDF documents and ask questions based on their contents. By leveraging chat history, the application maintains context across multiple interactions, making it highly effective for multi-turn conversations where questions build upon previous responses. Key Features: 1. Document Upload & Ingestion: Users can upload PDF documents that are automatically processed and embedded for easy retrieval. 2. Chat History-Aware System: Maintains a dynamic chat history to provide contextually aware responses. Questions referencing prior responses are reformulated into standalone queries for better accuracy. 3. Embedding and Retrieval: Utilizes FAISS for efficient vector storage and retrieval, allowing fast, contextually relevant search within uploaded PDFs. 4. Conversational Language Model (LLM): Integrates with Groq’s Gemma2-9b-It model for generating concise and contextually accurate responses based on user queries. 5. Dynamic Session Management: Each user session has its unique chat history, making the application scalable and user-specific. How It Works: 1. Document Processing and Embedding: Upon file upload, PDF documents are split into manageable chunks and transformed into vector embeddings using Hugging Face’s MiniLM. 2. Contextual Question Reformulation: The system reformulates user queries to account for chat history, improving response relevance in multi-turn conversations. 3. Answer Generation with Chat Context: Answers are generated based on retrieved document segments and chat context, with responses limited to three sentences for brevity and clarity. 4. Session-Based Chat History: Each session ID maintains a distinct chat history, ensuring personalized responses for each user and query sequence.

Chat_History_4.png
bottom of page