๐Ÿš€ 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/ask endpoint
  • 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.py automatically
  • 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

Share this project:

Updates