← all repositories
michaelthwan/searchGPT

A Bing clone you can host yourself, now gathering dust

Before every search engine had an AI chatbot, this project tried to build one with cited sources—then got archived.

searchGPT
Velocity · 7d
+0.6
★ / day
Trend
steady
star history

What it does

searchGPT is a Python web app that answers questions using an LLM, but only after pulling in live search results or file contents to ground the response. Think of it as a DIY version of Bing’s AI mode: you ask a question, it fetches relevant sources via Bing Web Search API, embeds them with OpenAI, retrieves the closest matches, and synthesizes an answer with numbered citations. It also handles local files—PPT, DOC, DOCX—for semantic search over your own documents.

The interesting bit

The README’s side-by-side comparisons are brutally honest. Ungrounded text-curie-001 confidently claims ghost kitchens are “pop-up restaurants in London that are completely without food” and that Japanese “www” is a “placeholder for www.” The grounded answers, while not perfect, at least attach real citations to real claims. It’s a neat illustration of why retrieval-augmented generation matters—and how far base models can stray without it.

Key highlights

  • Live web search via Azure Bing Search API, plus local file indexing for PPT/DOC/DOCX
  • Semantic retrieval using OpenAI embeddings (FAISS and pyterrier code exists but is commented out)
  • Supports multiple LLM backends: OpenAI, GooseAI, etc.
  • Flask-based web UI with explainability view showing which sources fed which answer
  • Explicitly archived: the maintainer is no longer reviewing PRs or updating dependencies

Caveats

  • Requires Python 3.10.8 exactly, plus paid API keys for both OpenAI and Azure Bing Search
  • FAISS/pyterrier semantic search paths are dead code (commented out), so you’re stuck with whatever the current retrieval path is
  • No active maintenance means bitrot is already setting in; the “roadmap” in the architecture diagram is now a historical document

Verdict

Worth a look if you’re studying early RAG implementations or need a starting point for a cited-answer prototype you plan to fork and modernize. Skip it if you want something production-ready—use LangChain, LlamaIndex, or just pay for Perplexity instead.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.