OwnLlama
Project Overview: OwnLlama is your personal local AI assistant, leveraging any open source LLM from Ollama. It allows simple chat and also RAG chat with your own documents.
Objectives
- Have a fully free and local AI assistant.
- Understand your own documents thanks to Retrieval Augmented Generation.
- Provide a simple chat interface.
- Get a better understanding of the Llama3 model.
- Learn how to create an AI chatbot.
Features
- Local
- OwnLlama is fully local. This means it runs on your computer and never sends any data to the internet. This is possible thanks to the Ollama project. Now you might get why I named it “OwnLlama”.
- RAG
- I wanted to create a simple chatbot that could understand my documents and provide answers based on my questions. This meant that I was able to provide my own sources of knowledge to the chatbot. This is possible with Retrieval Augmented Generation (RAG). To simplify the process, I used the Langchain library.
Architecture
Plock is self-contained and can be deployed in any environment supporting Docker. Under the hood, it is a Sveltekit app with a python backend. The Sveltekit app communicates with the Python backend over a REST API. For real-time chat completion, the Python backend returns Server Sent Events (SSE) response.
Technology Stack
Final Words
I created this project to learn AI development using Large Language Models (LLMs). I first used the TypeScript LangChain library to keep everything in one language. It was all working well, but I decided to write the backend in Python to also use the Python library since it is mainly used in these LLMs/AI/ML apps nowadays.