What it does
The project allows users to engage in a conversation with an AI Chatbot by uploading a website link or a PDF file. The AI Chatbot provides answers based on the content and also includes a source link for reference.
How I built it
This project is built using Python and the LangChain framework. Leveraging LangChain's Retrieval Augmented Generation (RAG) system, external data sources are utilized. The data undergoes processes such as loading, transforming, and embedding, ultimately being stored in a vector store (FAISS). The LangChain system is then used to retrieve refined answers.
The chatbot interface was created using the pure Python UI library Streamlit, and the website was deployed through Streamlit Cloud.
Challenges
While many existing services allow users to upload PDF files and interact with AI, I aimed to create a more unique AI chatbot model. The challenge was in providing answers based on all sublinks within a given website. Using all existing URLs in the website's sitemap.xml as data sources proved time-consuming, and utilizing a cost-effective model resulted in slower answer calculations. Implementing history storage functions, such as memory and caching, also posed a significant challenge.
Accomplishments
Despite the challenges, I'm proud to have created a project that facilitates AI interactions through both file uploads and website links in a relatively short timeframe. While there's room for improvement in terms of speed, addressing this may involve using a more advanced model or optimizing parsing and prompts.
What I learned
This project provided an opportunity to explore various AI language models beyond the ChatGPT API, using the LangChain framework. It was enlightening to see how prompt engineering for large language models (LLM) could be effectively utilized through LangChain.
What's next
Looking ahead, storing previously cached and embedded history in another SQL database could enable continuing conversations even after a session ends. Further features to implement include Chrome extensions, ChatGPT plugins, mobile apps, and additional functionalities such as buttons to edit previous conversations.
Log in or sign up for Devpost to join the conversation.