๐ Inspiration
As a QA Automation Lead working across critical domains like aviation, healthcare, and finance, I consistently observed a common bottleneckโQA engineers struggle to find precise, trustworthy answers for automation issues across diverse frameworks like Selenium, Cypress, Jenkins, and more. Existing LLMs often generate hallucinated or vague responses. I envisioned GenQAChat-RAG-AI as a secure, offline-ready QA assistant that combines Retrieval-Augmented Generation (RAG) with local knowledge, giving engineers instant, accurate help from a curated technical base.
๐ค What it does
GenQAChat-RAG-AI is an AI-powered chatbot that:
- Lets QA engineers ask natural language questions
- Searches local, trusted markdown documentation using semantic similarity
- Returns accurate, contextually relevant answers using LangChain + HuggingFace + FAISS
- Can be run via a Next.js web frontend or a lightweight Streamlit interface
- Requires no OpenAI API, ensuring privacy and portability
๐๏ธ How we built it
- Used LangChain to build a retriever that supports semantic search
- Embedded QA markdown docs using HuggingFace SentenceTransformer (MiniLM-L6-v2)
- Indexed content via FAISS and serialized it with
vectorstore.pkl - Built a FastAPI backend to serve
/api/askendpoint Developed two UI modes:
- Next.js + Tailwind frontend (Codespaces-ready)
- Streamlit App for quick deployment and demo
Automated DevContainer setup for instant GitHub Codespaces spin-up
๐งฑ Challenges we ran into
- LangChain integration with HuggingFace embeddings and local FAISS initially produced mismatched similarity scoring due to tokenization edge cases
- Making Streamlit fully offline-compatible required local model caching and explicit error handling for missing files
- Handling dynamic backend URLs in Codespaces and ensuring the frontend could dynamically bind without hardcoding was tricky
- Ensuring Streamlit compatibility with Python 3.12 and dependency constraints (like
torch) took additional iteration
๐ Accomplishments that we're proud of
- Fully working RAG pipeline deployed without any cloud model dependency
- Auto-configured GitHub Codespace, booting backend, frontend, and running
rag_chain.pyautomatically - Delivered a developer-centric AI tool that performs reliably without external APIs
- Created a compelling use case for EB2-NIW visa petition by aligning with U.S. national interest goals in secure QA automation
๐ What we learned
- How to build a production-ready RAG application using LangChain and HuggingFace locally
- Streamlit and Next.js can be used in tandem with shared backends
- GitHub Codespaces can be customized to deliver zero-config developer experiences
- Managing embedding cache, dependency conflicts, and environment-specific issues is critical for reproducibility
๐ฎ What's next for GenQAChat-RAG-AI Public
- Add multi-turn chat memory using LangChain ConversationalRetrievalChain
- Expand the QA knowledge base with real-world datasets (e.g., GitHub issues, StackOverflow exports)
- Integrate speech-to-text support for hands-free QA troubleshooting
- Build a browser extension version to assist testers directly from the IDE or CI/CD dashboards
- Continue evolving this project as an open-source foundation for QA + GenAI research, community contributions, and EB2-NIW portfolio visibility
Built With
- ai
- all-minilm-l6-v2)
- codespaces
- cypress
- devcontainer
- dotenv
- faiss
- fastapi
- github
- huggingface
- javascript
- jenkins
- langchain
- markdown-based-domain-knowledge
- markdown-based-domain-knowledge-(selenium
- next.js
- pickle
- pydantic
- python
- react
- search
- selenium
- sentence
- similarity
- streamlit
- tailwind
- transformers
- typescript
- uvicorn
Log in or sign up for Devpost to join the conversation.