dissorial / doc-chatbot

Document chatbot — multiple files, topics, chat windows and chat history. Powered by GPT.
824 stars 139 forks source link
chat chatbot document-embedding gpt-3 gpt-4 langchain mongoose nextjs openai openai-api pdf-processing pinecone reactjs tailwindcss typescript vectorization

doc-chatbot: GPT x Pinecone x LangChain

Features

TypeScript Next JS React TailwindCSS

+ LangChain and Pinecone

Note: If you'd like to set this up with google auth and mongoDB (as opposed to no auth and using local storage), have a look at this branch: mongodb-and-auth. However, that repo is several important commits behind this one and lacks certain features, so keep that in mind.

Main chat area Main chat area


Settings page

Settings page


Local setup & development

If you'd like to run this locally and deploy your own version, follow the steps below.

Clone the repo

git clone https://github.com/dissorial/doc-chatbot.git

Pinecone setup

API key

Create an account on Pinecone. Go to Indexes and Create index. Enter any name, put 1536 for Dimensions and leave the rest on default. Then go to API keys and Create API key.

Index name

Self-explanatory

Pinecone environment

Right next to your index name, e.g. us-west2-rkw


Install packages

yarn install

Set up your .env file

NODE_ENV=development

Node environment

Other


Deployment

Add these to your .env file:

NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=
JWT_SECRET=

NextAuth Secret

JWT Secret

NextAuth URL


Run the app

npm run dev

Troubleshooting

General errors

Pinecone errors


Credit

This repository was originally a fork of GPT-4 & LangChain repository by mayooear but underwent many major changes in this repo.

Frontend of this repo is inspired by ChatGPT.