Pookie Chatbot is an AI-powered conversational assistant designed to provide intelligent responses to user queries. It leverages advanced natural language processing (NLP) techniques and integrates with Google Gemini AI for enhanced interaction. The chatbot is built using Streamlit for the frontend and utilizes Pinecone for efficient vector search operations.
The Pookie Chatbot project aims to create a Java-based AI chatbot that seamlessly integrates structured query processing with natural language understanding. It refines user inputs, retrieves relevant context from a vector database, and generates accurate responses using Google Gemini AI. The chatbot supports Java Queries for processing structured data-based queries, enabling it to interact with databases and execute specific commands effectively. With its advanced NLP capabilities, it maintains a dynamic conversation history to enhance user experience and response accuracy.
- Python: The primary programming language used for developing the chatbot and integrating various components.
- NLP (Natural Language Processing): Employed to analyze and understand user input, allowing the chatbot to provide relevant responses.
- NLTK (Natural Language Toolkit): Used for text processing, tokenization, vectorization, and language analysis.
- Streamlit: Enables users to interact with the chatbot through a user-friendly web interface.
- Langchain: Enhances the chatbot's language capabilities.
- Google Gemini API: Integrated to provide advanced language processing capabilities.
- Pinecone (Vector Store): Utilized for efficient storage and retrieval of vectorized data.
- GitHub: The project is maintained in a private repository for version control and collaboration.
- Question Answering: Provides precise and context-aware answers to Java-related queries.
- Explanation Generation: Generates detailed explanations for complex Java concepts.
- Interactive Conversations: Engages users with a natural and dynamic conversation flow.
- Personalization: Adapts to user preferences and maintains context.
- Multi-Modal Interface: Supports text-based interactions with potential expansion to code snippet generation.
- Advanced Language Capabilities: Handles complex Java-related queries, multi-turn conversations, contextual reasoning, and sentiment-based responses.
- User Input: Users ask Java-related questions through the Streamlit-based web interface.
- Query Processing: The chatbot understands the user's question using NLP and breaks it down into meaningful components.
- Text Chunking: Relevant Java-related reference materials (PDFs, documentation, etc.) are split into smaller text chunks.
- Embedding Generation: Each chunk is converted into vector embeddings using Sentence Transformers.
- Vector Storage & Retrieval: The embeddings are stored in Pinecone, allowing for fast and accurate retrieval of relevant documents.
- Contextual Search: When a user asks a question, the chatbot retrieves the most relevant text chunks from Pinecone.
- Response Generation: The chatbot sends the retrieved context to Google Gemini AI, which formulates a structured and relevant response.
- Answer Presentation: The chatbot presents the answer in an easy-to-understand format.
- Session Management: The chatbot maintains a conversation history, allowing users to ask follow-up questions.
- Continuous Improvement: The chatbot refines its responses over time by analyzing user interactions.
- Clone the repository from GitHub:
git clone https://github.com/SubhoHazra07/Java-AI-Chatbot.git
- Install the required dependencies:
pip install -r requirements.txt
- Set up Pinecone and create a vector store for Java concepts.
- Obtain API keys for Pinecone and Gemini API.
- Replace the API keys in the
.env
file:GOOGLE_API_KEY=your_google_api_key PINECONE_API_KEY=your_pinecone_api_key
- Run the chatbot using:
streamlit run main.py
- Streamlit App: Pookie Chatbot
- GitHub Repository: Java-AI-Chatbot
- Clone the repository:
git clone https://github.com/SubhoHazra07/Java-AI-Chatbot.git
- Navigate to the project folder and run:
streamlit run main.py
- Access the chatbot via a web browser.
- Push the code to a public GitHub repository.
- Set Up Secret Keys instead of uploading
.env
file. - Deploy the Application:
- Click "New App" on Streamlit Cloud.
- Select the GitHub repository where your chatbot is stored.
- Choose the main script file (
main.py
). - Click "Deploy."
- Once deployed, access the chatbot via the Streamlit link.
Pookie Chatbot is an AI-powered assistant that helps users with Java-related queries using NLP, Google Gemini AI, and Pinecone for fast, accurate responses. The chatbot improves over time and has potential for future upgrades.
We thank all contributors and the open-source community for supporting the frameworks used in this project.
- NLTK Documentation
- Streamlit Documentation
- Langchain Documentation
- Google Gemini API Documentation
- Pinecone Documentation
- Streamlit Cloud Deployment
- Programming with Java
- Java Notes
Try out the chatbot and enhance your Java learning experience!