Na rynku jest zalew narzędzi do RAG (Retrieval-Augmented Generation), ale jeśli chcesz szybko zobaczyć, jak to działa w praktyce, zamiast przebijać się przez dokumentacje, to zapraszam. Nie wybrzydzałem, wziąłem pierwszy z brzegu zestaw, połączenie Kotaemon + Ollama, i uruchomiłem. Rezultat? Prywatny asystenta AI, który działa w 100% lokalnie. Zero chmury.
Warto jednak pamiętać, że to rozwiązanie, choć kuszące ze względu na prywatność, ma swoje istotne ograniczenia. Taki lokalny system często się myli. Modele LLM działające offline mają tendencję do generowania nieprecyzyjnych informacji, błędnego interpretowania danych, halucynacji zwłaszcza gdy muszą poradzić sobie ze złożonymi zapytaniami. Zyskujemy więc pełną kontrolę nad danymi, ale musimy być świadomi, że niezawodność i zdolności analityczne mogą być dalekie od ideału.
Jak w kilka minut uruchomić Kotaemona z Ollamą
Obraz kotaemon:main-ollama zawiera wbudowaną obsługę Ollamy, więc wszystkie modele potrzebne do działania systemu można pobrać wewnątrz kontenera.
docker run \
--name kotaemon-local \
-e GRADIO_SERVER_NAME=0.0.0.0 \
-e GRADIO_SERVER_PORT=7860 \
-v ./ktem_app_data:/app/ktem_app_data \
-p 7860:7860 \
-it --rm \
ghcr.io/cinnamon/kotaemon:main-ollama
BashNastępnie otwórz nowy terminal i połącz się z działającym kontenerem:
docker exec -it kotaemon-local /bin/bash
BashPobierz LLMy, wewnątrz kontenera:
ollama pull qwen2.5:7b
ollama pull nomic-embed-text
BashPobrane zostaną modele LLM i embeddingowe. Interfejs będzie dostępny pod adresem:
http://localhost:7860
BashDzięki temu prostemu procesowi, cały system działa bez konieczności manualnej edycji plików konfiguracyjnych.
Jeśli chcesz wypróbować inne modele AI, odwiedź oficjalną stronę www.ollama.com, aby przejrzeć dostępne opcje. Gdy znajdziesz interesujący Cię model, możesz go pobrać wewnątrz kontenera (używając docker exec …) komendą ollama pull <nazwa-modelu>. Następnie, w interfejsie webowym Kotaemona, w ustawieniach zasobów, będziesz mógł wybrać nowo pobrany model jako domyślny do generowania odpowiedzi lub tworzenia osadzeń(embeddingu).
Na przykład, można pobrać model Llama 3.1 oraz model embeddingowy od Google
ollama pull llama3.1
ollama pull embedding-gemma
BashJak działa system
Kotaemon opiera się na technologii Retrieval-Augmented Generation (RAG). Dokumenty są dzielone na fragmenty, które zamieniane są w tzw. embeddingi, matematyczne reprezentacje znaczenia tekstu. Embeddingi trafiają do lokalnej bazie wektorowej, dzięki czemu wyszukiwanie odbywa się po sensie słów, ich znaczeniu, a nie tylko po słowach kluczowych.
Gdy zadasz pytanie, Kotaemon zamienia je w embedding i wyszukuje w bazie fragmenty najbardziej podobne semantycznie. Następnie przekazuje je do modelu LLM, który tworzy gotową odpowiedź w naturalnym języku. Efekt? Trafna, kontekstowa odpowiedź oparta wyłącznie na Twoich dokumentach.
Dlaczego dwa modele?
System RAG korzysta z dwóch modeli, bo każdy ma inne zadanie. Model embeddingowy (nomic-embed-text) rozumie sens tekstu i zamienia go w liczby, co pozwala na precyzyjne wyszukiwanie fragmentów. Model LLM (qwen2.5:7b) generuje odpowiedzi w języku naturalnym, umie pisać, tłumaczyć i streszczać, ale nie jest zoptymalizowany do porównywania znaczenia.
Jeden rozumie, drugi mówi. Dzięki temu połączeniu otrzymujesz zarówno trafne dopasowanie treści, jak i naturalne, spójne odpowiedzi.
Dlaczego warto
Największą zaletą tego rozwiązania jest prywatność i pełna kontrola. Wszystko działa lokalnie, bez chmury i bez wysyłania danych na zewnątrz. Nie ma opłat za API ani limitów tokenów.
Możesz dopasować modele do sprzętu — lekkie do szybkich testów albo większe i bardziej precyzyjne do pracy z dużą ilością dokumentów. Całość działa szybko, elastycznie i bez zbędnej konfiguracji.
Dlaczego nie zawsze warto
Mimo zalet, lokalny RAG nie jest rozwiązaniem idealnym dla wszystkich. Po pierwsze, wymaga stosunkowo mocnego sprzętu, zwłaszcza przy większych modelach LLM.Po drugie, lokalne modele mają swoje ograniczenia rozmiarowe i możliwości. Są mniejsze i mniej „inteligentne” niż pełne modele w chmurze, więc nie oczekuj perfekcyjnych odpowiedzi na bardzo złożone pytania, co szybko zobaczymy, gdy uruchomimy system.