// the find
dabit3/semantic-search-nextjs-pinecone-langchain-chatgpt
Embeds text files into vectors, stores them on Pinecone, and enables semantic search using GPT3 and Langchain in a Next.js UI
A starter template that wires together Next.js, LangChain.js, OpenAI embeddings, and Pinecone to let you drop text files into a folder, embed them, and query them with natural language. It's squarely aimed at developers who want a working skeleton rather than building the plumbing from scratch. The default data is Lens Protocol docs, which is specific enough to feel arbitrary.
The project covers the full pipeline end-to-end — ingestion, embedding, storage, and query — in one place, which is genuinely useful when you're trying to understand how the pieces fit together. The Next.js App Router structure is clean and modern, not the pages-directory legacy setup most tutorials still use. The setup route handles index creation with a polling wait, which is the right call given Pinecone's async initialization. Source is short enough to read in an afternoon, which is the point of a starter.
LangChain dependency is a liability here — LangChain.js has a history of aggressive API churn, and this repo's last meaningful update is years old at this point, so the pinned versions are almost certainly broken against current Pinecone and OpenAI SDK releases. There's no chunking strategy beyond whatever LangChain defaults to, which means long documents will either get truncated or produce poor retrieval results with no obvious way to tune it. Error handling in the API routes is absent — if Pinecone is slow or the OpenAI call fails, you get an unhandled rejection. The 180-second setTimeout for index initialization is a brittle workaround that will silently fail in serverless environments with shorter execution limits.