Inspiration
Jack of One Trade AI was born out of frustration with searching through poorly organized documentation, including proprietary work-related materials and textbooks. While hosted LLMs exist to address this problem, they are expensive and pose security risks when handling sensitive information.
What It Does
Jack of One Trade AI solves these issues by providing users with a complete personal machine learning pipeline. It allows users to train models on specific documents, enabling fully local ML solutions. Users can upload documents for training and selectively base LLM chats on those documents.
How We Built It
We built Jack of One Trade AI using a Retrieval-Augmented Generation (RAG) data flow, featuring a FastAPI backend, a React frontend, and the Ollama LLM API. Documents are first chunked and processed through the all-MiniLM-L6-v2 text embedding model, where they are converted into vector representations and stored in a vector database alongside essential metadata. When a query is made, the system performs a cosine similarity search against the stored embeddings to retrieve the most relevant information, which is then passed to the Mistral LLM to generate a natural, human-like response.
Challenges We Faced
Our biggest challenges were networking between the three containers and implementing complex API calls between them.
Accomplishments We're Proud Of
We're proud that we built a fully functional product within 24 hours. Delivering a solid, working solution in such a short time is a remarkable achievement.
What We Learned
We gained valuable experience in running local machine learning models and managing networking between services.
What's Next for Jack of One Trade AI
One of our next major features is a web scraper that can traverse proprietary Confluence and wiki pages. This will help site reliability engineers and incident response teams quickly find relevant documentation.
Built With
- docker
- fast-api
- llm
- natural-language-processing
- ollama
- python
- react
- text-embeddings
- typescript
Log in or sign up for Devpost to join the conversation.