Track: Education
Inspiration
In our experience setting up multiple new bank accounts in New York City, we've observed that Relationship Managers (RMs) often struggle with unfamiliar terms and conditions associated with account opening deals. This lack of comprehensive knowledge extends to other financial products, compounded by the complexity of financial documentation. As a result, RMs face difficulties sifting through vast amounts of data to find relevant information efficiently.
RMs lack an effective method to query large volumes of specialized data, whether it pertains to individual clients or specific financial products. While Large Language Models (LLMs) hold promise in addressing this issue, their inherent tendency to produce hallucinations poses a significant hurdle. Hallucinations may arise due to the LLMs' short-term memory constraints and potential lack of contextual knowledge, impeding their ability to generate accurate and relevant outputs. Moreover, the absence of collaborative mechanisms for updating contextual information with version control as a safeguard further prevents meaningful adoption.
What it does
Prompt Wizard tackles the aforementioned issues head-on. It employs Retrieval-Augmented-Generation (RAG) which allows the LLM to dynamically retrieve relevant and accurate information from an up-to-date database, minimizing inaccuracies. Furthermore, it allows users to collaboratively update the databases with up-to-date information, ensuring knowledge remains current across all users. A key unique point about our solution is its version control, enabling users to track changes and revert to previous data versions as needed. Moreover, Prompt Wizard empowers users through prompt engineering, allowing for the refinement of queries over time to improve context and optimize LLM outputs.
How we built it
We built a robust REST API using Express.js and leveraged MongoDB Atlas and MongoDB Vector Database for centralized storage, enabling seamless handling of vast data volumes with rapid access. Our system employs batch processing to dissect large document datasets into individual sentences, generating embeddings for each segment. These embeddings are meticulously stored in our vector database, where we profile and optimize search indexes to ensure swift retrieval of relevant information. With this groundwork laid, our system executes vector search using the K-nearest neighbors (K-NN) algorithm, utilizing cosine distance to pinpoint the most pertinent data in response to user queries. This intelligent approach ensures our system efficiently delivers highly relevant information tailored to each query it receives.
Frontend: React.js, HTML, CSS
Backend: We used Hugging Face, Open AI embeddings, OpenAI Chatgpt 3.5, MongoDB Vector Database, MongoDB Vector Search, MongoDB Trigger, MongoDB Search Index
Challenges we ran into
Selecting embedding algorithms for optimal vector search to identify the most relevant data corresponding to prompts and questions fed into the LLM.
Our fourth team member also dropped out 12 hours after the start of the hackathon, leaving us extremely pressed for time to fully develop our MVP, and forcing us to pivot our idea.
Accomplishments that we're proud of
Coming up with a solution that can be applied to many use cases (even beyond banks) and building a functional MVP to enhance LLM output in the limited time we had.
What we learned
Never give up! Keep up a positive attitude, focused on problem-solving whenever we hit roadblocks.
What's next for Prompt Wizard
Build a pdf upload function for users to upload their new document information to existing or new document databases. Enable users to label prompt versions and view the full prompts upon clicking prompt versions.
Log in or sign up for Devpost to join the conversation.