A comprehensive collection of AI-powered applications built with LangChain, Streamlit, and various free LLM APIs. This repository showcases practical implementations of chatbots, RAG systems, SQL agents, search engines, and text summarization tools.
Location: Q&A_chatbot/
A simple question-answering chatbot with a clean Streamlit interface.
Features:
- Direct conversational interface
- Powered by free OpenRouter models (Google Gemini Flash, Mistral)
- Clean and intuitive UI
- Configurable response parameters
- Multiple model implementations (OpenRouter, Ollama)
Files:
app.py- Main Streamlit applicationtest_api.py- API connection testingfind_free_models.py- Discover available free modelsollamaapp.py- Ollama integration varianttest_free_models.py- Test free model availabilitytest_params.py- Parameter configuration testing
Run:
cd Q&A_chatbot
streamlit run app.pyLocation: rag_q&a_chatbot/
A Retrieval-Augmented Generation (RAG) chatbot that answers questions from uploaded PDF documents.
Features:
- PDF document upload and processing
- FAISS vector store for efficient retrieval
- Custom embeddings implementation
- Context-aware responses from documents
- Question answering with source context
Files:
ragapp.py- Main RAG applicationpdfs/- Directory for PDF documents
Run:
cd rag_q&a_chatbot
streamlit run ragapp.pyLocation: conversational_q&a_chatbot/
An advanced conversational chatbot with PDF support and persistent chat history.
Features:
- Upload and query PDF documents
- Session-based chat history
- Conversational memory (remembers previous messages)
- RAG-based responses with context
- Streamlit Cloud ready
- Free AI models via OpenRouter
Files:
app.py- Main applicationrequirements.txt- Python dependenciesREADME.md- Project-specific documentation
Run:
cd conversational_q&a_chatbot
streamlit run app.pyLocation: chat_with_sqldb/
A natural language interface for SQL databases powered by LangChain SQL agents and Groq's LLaMA model.
Features:
- π£οΈ Natural language to SQL query conversion
- ποΈ Multiple database support (SQLite and MySQL)
- π€ AI-powered SQL agent using Groq LLaMA 3.3 70B
- π¬ Interactive chat interface with message history
- π Automatic query generation and execution
Files:
app.py- Main Streamlit applicationsqlite.py- SQLite database utilitiesrequirements.txt- DependenciesREADME.md- Detailed documentationstudentdb.db- Sample SQLite database
Run:
cd chat_with_sqldb
streamlit run app.pyUsage:
- Choose between SQLite (default) or MySQL
- Enter your Groq API key
- Ask questions about your database in plain English
- View SQL queries and results
Location: search_engine/
An intelligent search application that uses LangChain agents to search across multiple sources (web, academic papers, and Wikipedia).
Features:
- π Multi-source search (DuckDuckGo, ArXiv, Wikipedia)
- π€ Intelligent agent-based query routing
- π Powered by Llama3-8B via Groq API
- π¬ Streaming responses for better UX
- π― Context-aware tool selection
- π Academic paper search via ArXiv
Files:
app.py- Main Streamlit applicationrequirements.txt- DependenciesREADME.md- DocumentationSTART_HERE.txt- Quick start guidetools_agents.ipynb- Jupyter notebook with examples
Run:
cd search_engine
streamlit run app.pyTools Available:
- DuckDuckGo: General web search
- ArXiv: Academic research papers
- Wikipedia: Encyclopedia knowledge
Location: summerize_text/
A Jupyter notebook demonstrating text summarization capabilities using Groq's LLaMA model.
Features:
- Speech/text summarization
- Powered by Groq LLaMA 3.3 70B
- Expert system prompts for concise summaries
- Interactive Jupyter notebook environment
Files:
text_summerization.ipynb- Main notebook with examples
Run:
cd summerize_text
jupyter notebook text_summerization.ipynbCore Technologies:
- Python 3.13+ - Programming language
- Streamlit - Web UI framework
- LangChain - LLM framework and chains
- FAISS - Vector database for embeddings
- PyPDF - PDF document processing
- NumPy - Numerical operations for embeddings
- python-dotenv - Environment variable management
AI Models & APIs:
- OpenRouter API - Free AI models (Gemini, Mistral)
- Groq API - Fast LLaMA model inference
- SQLAlchemy - Database connections and ORM
Additional Tools:
- ArXiv API - Academic paper search
- Wikipedia API - Knowledge base queries
- DuckDuckGo Search - Web search
- Jupyter Notebook - Interactive development
- Python 3.8+ (Python 3.13 recommended)
- API Keys:
- OpenRouter API key (free at openrouter.ai)
- Groq API key (free at console.groq.com)
- Virtual environment (recommended)
git clone https://github.com/itsmeayan45/gen-ai.git
cd Gen-ai-projects# Create virtual environment
python -m venv genvenv
# Activate (Windows)
genvenv\Scripts\activate
# Activate (Linux/Mac)
source genvenv/bin/activate# Install all dependencies
pip install -r requirements.txtCreate a .env file in the project root:
OPENROUTER_API_KEY=your_openrouter_api_key_here
GROQ_API_KEY=your_groq_api_key_here
LANGCHAIN_API_KEY=your_langchain_api_key_here # OptionalNavigate to the project folder and run:
# Example: Run Q&A Chatbot
cd Q&A_chatbot
streamlit run app.py
# Example: Run Search Engine
cd search_engine
streamlit run app.py
# Example: Run SQL Chat
cd chat_with_sqldb
streamlit run app.pyThis repository uses completely free AI models:
OpenRouter (No Cost):
google/gemini-2.0-flash-exp:freemistralai/mistral-7b-instruct:freetngtech/tng-r1t-chimera:free
Groq (Free Tier):
llama-3.3-70b-versatilellama3-8b-8192
No API costs required for basic usage! π
Gen-ai-projects/
βββ Q&A_chatbot/ # Basic Q&A chatbot
β βββ app.py # Main application
β βββ ollamaapp.py # Ollama variant
β βββ test_api.py # API testing
β βββ find_free_models.py # Model discovery
β
βββ rag_q&a_chatbot/ # RAG chatbot with PDF
β βββ ragapp.py # Main application
β βββ pdfs/ # PDF storage
β
βββ conversational_q&a_chatbot/ # Advanced conversational chatbot
β βββ app.py # Main application
β βββ requirements.txt # Dependencies
β βββ README.md # Documentation
β
βββ chat_with_sqldb/ # SQL database chatbot
β βββ app.py # Main application
β βββ sqlite.py # SQLite utilities
β βββ studentdb.db # Sample database
β βββ README.md # Documentation
β
βββ search_engine/ # AI-powered search
β βββ app.py # Main application
β βββ tools_agents.ipynb # Examples notebook
β βββ README.md # Documentation
β
βββ summerize_text/ # Text summarization
β βββ text_summerization.ipynb # Jupyter notebook
β
βββ genvenv/ # Virtual environment
βββ app.py # Root chatbot app
βββ requirements.txt # Global dependencies
βββ .env # API keys (not in git)
βββ .gitignore # Git exclusions
βββ LICENSE # MIT License
βββ README.md # This file
Most projects are ready for deployment on Streamlit Cloud:
- Push to GitHub
- Connect to share.streamlit.io
- Add API keys in Streamlit secrets:
OPENROUTER_API_KEY = "your_key_here" GROQ_API_KEY = "your_key_here"
- Deploy!
For detailed deployment instructions, see individual project README files.
- Q&A Chatbots: Customer support, FAQs, general inquiries
- RAG Systems: Document analysis, knowledge base queries, research assistance
- SQL Chat: Natural language database queries, data analysis
- Search Engine: Academic research, web search, knowledge discovery
- Text Summarization: Document summarization, content compression
Contributions are welcome! Feel free to:
- Fork this repository
- Create a feature branch
- Submit pull requests
- Report issues
- Suggest improvements
This project is licensed under the MIT License - see the LICENSE file for details.
Ayan
- GitHub: @itsmeayan45
- LangChain - Amazing LLM framework
- OpenRouter - Free AI model access
- Groq - Fast LLM inference
- Streamlit - Easy-to-use web framework
- Open Source Community - For all the amazing tools and libraries
If you find this project helpful, please give it a star! It helps others discover these resources.
Happy Coding! π