PDF-CHAT AI β¨π€π»ποΈ
An AI-powered PDF chat built with Next.js 13, Langchain, and PineconeDB
π·πΎββοΈ Want to Learn How to Build It?
Check out the tutorial on my YT channel
β¨Updateβ¨
Added sources to the stream and displaying it in an accordian
Chat.with.sources.mov
Architecture
π©βπ Description
Built with:
- β Next.js 13
- β Shadcn-ui
- β Langchain TypeScript integration
- β PineconeDB as the knowledge store
- β Dark Mode with persistent theme-switching
ποΈ Pre-requisites
- Create a free account and get an OPEN_AI key from platform.openai.com
- Create a free account and get access to PineconeDB
- And populate your
.env
file with the required information.
π¬ Good to know
- The PineconeDB index creation happens when we run
npm run prepare:data
, but its better to create it manually if you dont want the command to fail. - If the command fails, then give sometime for pinecone index to get initialized and try to run the command again, it should work eventually.
π§ Commands
All commands are run from the root of the project, from a terminal:
Command | Action |
---|---|
npm install |
Installs dependencies |
npm run prepare:data |
Splits your PDF file under the /docs folder into chunks, embeds them, uploads them to Pinecone |
npm run dev |
Starts the local dev server at localhost:3000 |
πΈ Roadmap
- β Add sources to the streamed chat bubble
- π§ Clean up and show proper error messages
- π§ Sanitize input and output source documents
ππ½ Contributing
Pull requests are welcome, before creating a PR talk to me on discord. For major changes, please open an issue first to discuss what you would like to change.