WizSearch: 🏆 Winning My First AI Hackathon 🚀
Tags: hackathon, ai, python, opensource
Published: 2024-06-11 06:31:17

## WizSearch: The Future of AI is Open 🚀

> We are thrilled to announce that **WizSearch** has been awarded the winner of the hackathon **[THE FUTURE OF AI IS OPEN](https://arctic-streamlit-hackathon.devpost.com/)** This event encouraged participants to push the boundaries of what can be achieved with open-source AI, using tools like Streamlit and Snowflake Arctic. Our creation, WizSearch, stood out for its innovation and practical application.

### 🌟 Check Out the Demo!

{% youtube Q8jIdsFLJJQ %}

## 🌟 Inspiration

Inspired by the advanced capabilities of AI assistants like Perplexity, we aimed to create **WizSearch**, an open-source, customizable, and modular AI assistant. Our goal is to leverage open-source models and tools to develop a robust and intelligent search assistant that can seamlessly integrate internet searches with large language model (LLM) capabilities.

## ✨ What it Does

**WizSearch** is a super-smart AI assistant designed to retrieve and synthesize information from the internet. Users can ask questions, and WizSearch utilizes powerful LLMs to generate accurate and relevant answers, complete with summaries and links to sources. This makes finding information as easy and magical as simply asking.

## 🛠️ How We Built It

We built **WizSearch** using the following components:

- **LLM:** [Snowflakes Arctic LLM](https://www.snowflake.com/en/data-cloud/arctic/) for natural language understanding and generation.
- **Embeddings:** [Snowflakes Arctic Embedding Model](https://www.snowflake.com/blog/introducing-snowflake-arctic-embed-snowflakes-state-of-the-art-text-embedding-family-of-models/) to enhance search relevance.
- **Intelligent Search:** [Tavily](https://tavily.com/) for advanced search capabilities.
- **Vector Databases:** [Qdrant](https://qdrant.tech/) for efficient data storage and retrieval.
- **Observability:** [Langfuse](https://www.langfuse.com/) for monitoring and observability.
- **UI:** [Streamlit](https://streamlit.io/) for creating an interactive and user-friendly interface.

### 📈 How It Works

Here's a diagram that explains the workflow of **WizSearch**:

![How it works](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k2plag015qto9fwq4eck.png)


### 🚧 Challenges We Ran Into

- **Unpredictable LLM Output:** Ensuring consistency and accuracy in the responses generated by LLMs.
- **Retrieval Issues:** Addressing the challenge of the retrieval process not always selecting the most relevant information, leading to potential hallucinations in responses.
- **Security:** Implementing guardrails to prevent prompt injection and other security vulnerabilities.

### 🎉 Accomplishments That We're Proud Of

- Successfully integrating multiple open-source tools to create a seamless and efficient search assistant.
- Developing a modular and customizable workflow that allows for easy adjustments and enhancements.

### 📚 What We Learned

- The importance of modular RAG (retrieval-augmented generation) and LLM routing for maintaining controlled and efficient agentic workflows.
- Effective prompting techniques for open-source models to optimize performance.

## 🚀 What's Next for WizSearch

In the future, we aim to enhance **WizSearch** by incorporating more controlled agentic capabilities, such as running code and generating images. We also plan to develop a minimalistic, voice-interactive platform that responds in a human-like voice and displays only the most relevant visual information, such as images and graphs. Technically, we will integrate RAGAS for evaluation and Giskard for testing. This will further streamline the user experience and broaden the range of tasks WizSearch can perform.

## 🌐 Try It Out

- [GitHub Repo](https://github.com/SSK-14/WizSearch) 🐙
- [wizsearch.streamlit.app](https://wizsearch.streamlit.app) 🌐