## Inspiration

The inspiration behind BizSpyMaster 007 was to empower small businesses without dedicated IT personnel to access and harness the power of their sales data. Our goal was to create a platform that could seamlessly integrate various technologies, including MindsDB, Snowflake, Streamlit, PostgreSQL, Python, and the Open AI LLM. By providing a user friendly multilingual interface as an advisor in the form of AI. We aim to revolutionize the process of generating valuable business insights by providing accessibility and efficiency to our clients.

## What it does

BizSpyMaster 007 acts as a business insight advisor, it utilizes a combination of data analytics and AI capabilities provided by MindsDB. It provides users with access to global sales transaction data stored in the BIZMASTERDB.SALESSCHEMA.SALESFACTTB table. Clients can ask questions about their sales data, and the platform generate relevant insights using the data's integration with the AI model. This will help companies understand sales trends, customer behavior, and other valuable information without technical expertise or knowledge.

## How we built it

The project was built using the integration of several technologies, with Streamlit serving as the front end interface for user interactions. Snowflake and PostgreSQL were used as the data warehouse and retrieval solutions, allowing seamless access to the sales data. Snowflake database served as the primary source for feeding data into MindsDB, which is important to generate sales forecasts. We harnessed the potential capabilities of MindsDB's bridge between databases and LLM after attending a comprehensive evening workshop. We used Python as the core programming language and OpenAI LLM was employed for natural language processing and communication with users. The integration process involved establishing connections between various systems, and optimizing query performance.

## Challenges we ran into

Some of the challenges include maintaining performance of data retrieval from Snowflake and PostgreSQL. The integration between numerous platforms also required extensive research as it comes with its own requirements and complexities.

## Accomplishments that we're proud of

We are proud to have built a functional and user-friendly platform that revolutionizes the workflow in gathering business insights. BizSpyMaster 007 bridges the gap between business users and technical work, allowing a wider audience to be able to manage and handle business even without specialized IT personnel.

## What we learned

We learned that effective technology integration is complex but important. We learned how to optimize data retrieval processes and ensuring data accuracy as well as predictions.

## What's next for BIZSPYMASTER 007

Some of our future possibilities include expanding the datasets and types of questions the AI advisor can answer. We can also generate financial reports by adding integrations and provide a forecast more into the future. We will also focus on refining the user experience by making it more intuitive. Moreover, we aim to explore opportunities for scalability and improved integration with other business tools to provide comprehensive solutions for small businesses.
**What inspired us**
Despite the prevalence of LLMs increasing, their power still hasn't been leveraged to improve the experience of students during class. In particular, LLMs are often discouraged by professors, often because they often give inaccurate or too much information. To remedy this issue, we created an LLM that has access to all the information for a course, including the course information, lecture notes, and problem sets. Furthermore, in order for this to be useful for actual courses, we made sure for the LLM to not answer specific questions about the problem set. Instead, the LLM guides the student and provides relevant information for the student to complete the coursework without providing students with the direct answer. This essentially serves as a TA for students to help them navigate their problem sets.

**What we learned**
Through this project, we delved into the complexities of integrating AI with software solutions, uncovering the essential role of user interface design and the nuanced craft of prompt engineering. We learned that crafting effective prompts is crucial, requiring a deep understanding of the AI’s capabilities and the project's specific needs. This process taught us the importance of precision and creativity in prompt engineering, where success depends on translating educational objectives into prompts that generate meaningful AI responses.

Our exploration also introduced us to the concept of retrieval-augmented generation (RAG), which combines the power of information retrieval with generative models to enhance the AI's ability to produce relevant and contextually accurate outputs. While we explored the potentials of using the OpenAI and Together APIs to enrich our project, we ultimately did not incorporate them into our final implementation. This exploration, however, broadened our understanding of the diverse AI tools available and their potential applications. It underscored the importance of selecting the right tools for specific project needs, balancing between the cutting-edge capabilities of such APIs and the project's goals. This experience highlighted the dynamic nature of AI project development, where learning about and testing various tools forms a foundational part of the journey, even if some are not used in the end.

**How we built our project**
Building our project required a strategic approach to assembling a comprehensive dataset from the Stanford CS 106B course, which included the syllabus, problem sets, and lectures. This effort ensured our AI chatbot was equipped with a detailed understanding of the course's structure and content, setting the stage for it to function as an advanced educational assistant. Beyond the compilation of course materials, a significant portion of our work focused on refining an existing chatbot user interface (UI) to better serve the specific needs of students engaging with the course. This task was far from straightforward; it demanded not only a deep dive into the chatbot's underlying logic but also innovative thinking to reimagine how it interacts with users. The modifications we made to the chatbot were extensive and targeted at enhancing the user experience by adjusting the output behavior of the language learning model (LLM).
A pivotal change involved programming the chatbot to moderate the explicitness of its hints in response to queries about problem sets. This adjustment required intricate tuning of the LLM's output to strike a balance between guiding students and stimulating independent problem-solving skills. Furthermore, integrating direct course content into the chatbot’s responses necessitated a thorough understanding of the LLM's mechanisms to ensure that the chatbot could accurately reference and utilize the course materials in its interactions. This aspect of the project was particularly challenging, as it involved manipulating the chatbot to filter and prioritize information from the course data effectively. Overall, the effort to modify the chatbot's output capabilities underscored the complexity of working with advanced AI tools, highlighting the technical skill and creativity required to adapt these systems to meet specific educational objectives.

**Challenges we faced**
Some challenges we faced included scoping our project to ensure that it is feasible given the constraints we had for this hackathon including time. We learned React.js and PLpgSQL for our project since we had only used JavaScript previously. Other challenges we faced were installing Docker, Supabase CLI, and ensuring all dependencies are properly managed. Moreover, we also had to configure Supabase and create the database schema. There were also deployment configuration issues as we had to integrate our front-end application with our back-end to ensure that they are communicating properly.
## Inspiration

it's really fucking cool that big LLMs (ChatGPT) are able to figure out on their own how to use various tools to accomplish tasks.

for example, see Toolformer: Language Models Can Teach Themselves to Use Tools (<https://arxiv.org/abs/2302.04761>)

this enables a new paradigm self-assembling software: machines controlling machines.

what if we could harness this to make our own lives better -- a lil LLM that works for you?

## What it does

i made an AI assistant (SMS) using GPT-3 that's able to access various online services (calendar, email, google maps) to do things on your behalf.

it's just like talking to your friend and asking them to help you out.

## How we built it

a lot of prompt engineering + few shot prompting.

## What's next for jarbls

shopping, logistics, research, etc -- possibilities are endless

* more integrations !!!
the capabilities explode exponentially with the number of integrations added
* long term memory

come by and i can give you a demo