FinAPP
The chatbot and document retrieval system
๐ก Inspiration
The growing volume of company documents and the increasing need for easy access to specific information drove the inspiration behind FinAPP. Observing businesses struggling to glean actionable insights from vast repositories of data inspired us to create a tool that could bridge this gap.
๐ What it does?
FinAPP, or the Chatbot Document and Data Retrieval System, acts as an intelligent digital librarian. Users can swiftly upload any documentsโfrom PDFs, TXTs, and DOCXs to structured Excel and CSV data. The system can sift through these, integrate with databases like SQL Server and PostgreSQL, and deliver precise, context-aware answers to users.
๐ ๏ธ How I built it
I recently learned about the Chatbot and developed a custom Finapp chatbot using Python and Langchain frameworks with Streamlit frontend creation. Streamlit is an open-source Python library that simplifies the process of creating and sharing custom web applications for machine learning and data science. Below are the steps taken in this exercise: 1) Create an OpenAI account and obtain an API key. 2) Choose a large language model to use. 3) Use the Langchain framework. 4) Deploy my chatbot using Streamlit Frontend. 5) Containerize using Docker: This involves packaging the chatbot in a Docker container for consistent operation across various environments. 6) Migrate to Red Hat OpenShift using OpenShift Pipelines : The chatbot is then moved to OpenShift for improved scalability and management in an enterprise Kubernetes environment. The repository at https://github.com/timlam007/finance_chatbot showcases its deployment on the OpenShift Application Platform. Key files within this repository detail the deployment process on OpenShift, with specific YAML files in the 'tekton' directory highlighting the automation via OpenShift Pipelines 7) Next, I configured a Kafka server and its corresponding UI, enabling the streaming of search results for future analytics. 8) The final step involved validating the integration of FinChat with the Kafka server. For this, I developed a Python application specifically designed to test and ensure seamless connectivity between the two systems.
๐๏ธ Challenges I ran into
Integrating diverse data sources and ensuring that the chatbot remains context-aware were significant challenges. We also grappled with minimizing response errors and refining the chatbot's understanding of complex queries.
๐ฏ Accomplishments that I am proud of
I've designed a chatbot that allows users to effortlessly access data and conduct analyses through conversation. It's deployed to OpenShift Application Platform for scalability and reliability, with OpenShift Pipelines ensuring rapid, seamless updates.
๐ช What we learned
Building FinAPP taught me the importance of contextual understanding in chatbot interactions. I gained insights into chaining large language models and realized the immense potential of vector stores in text processing. Additionally, deploying to OpenShift highlighted its robustness and efficiency, truly underscoring the platform's value in modern application development.
๐ What's next for FinAPP
As technology progresses, I plan to integrate more databases, support a broader range of document formats, and enhance the chatbot's contextual understanding. I'm also exploring real-time collaborative features and expanding the system to anticipate user needs better. Additionally, I'm considering integration with the OpenShift Kafka framework to capture real-time messages, further elevating the chatbot's responsiveness and capabilities



Log in or sign up for Devpost to join the conversation.