# PaperChat This repo is an implementation of a chatbot specifically focused on question answering over the [LangChain documentation](https://langchain.readthedocs.io/en/latest/). ## 🚀 Important Links Website: [chat.langchain.dev](https://chat.langchain.dev) Hugging Face Spage: [huggingface.co/spaces/hwchase17/chat-langchain](https://huggingface.co/spaces/hwchase17/chat-langchain) Blog Post: [blog.langchain.dev/langchain-chat/](https://blog.langchain.dev/langchain-chat/) ## 📚 Technical description There are two components: ingestion and question-answering. Ingestion has the following steps: 1. Pull html from documentation site 2. Parse html with BeautifulSoup 3. Split documents with LangChain's [TextSplitter](https://langchain.readthedocs.io/en/latest/modules/utils/combine_docs_examples/textsplitter.html) 4. Create a vectorstore of embeddings, using LangChain's [vectorstore wrapper](https://langchain.readthedocs.io/en/latest/modules/utils/combine_docs_examples/vectorstores.html) (with OpenAI's embeddings and Weaviate's vectorstore) Question-Answering has the following steps: 1. Given the chat history and new user input, determine what a standalone question would be (using GPT-3) 2. Given that standalone question, look up relevant documents from the vectorstore 3. Pass the standalone question and relevant documents to GPT-3 to generate a final answer ## 🧠 How to Extend to your documentation Coming soon.