Tworzenie bloków Gutenberg z użyciem ChatGPT.

Zobacz kurs

Podstawy AWS.

Automatyzacja procesów z Make.com

Najlepsze wtyczki do sprzedaży biletów na WordPressie

Najlepsze wtyczki do sprzedaży biletów na WordPressie

Odkryj Interactivity API w WordPressie

Odkryj Interactivity API w WordPressie

Optymalizacja TTFB: Klucz do szybszej i bardziej responsywnej strony internetowej

Optymalizacja TTFB: Klucz do szybszej i bardziej responsywnej strony internetowej

Najczęściej popełniane błędy przez programistów React i jak ich unikać

Najczęściej popełniane błędy przez programistów React i jak ich unikać

WordPress i Block Protocol: Nowa przyszłość dla twórców i deweloperów

WordPress i Block Protocol: Nowa przyszłość dla twórców i deweloperów

Zobacz więcej
Jak wykonać transkrypcję wideo przy użyciu modelu Whisper od OpenAI

Jak wykonać transkrypcję wideo przy użyciu modelu Whisper od OpenAI

Superinteligencja: Czy prawda jest bardziej brutalna, niż się spodziewamy?

Superinteligencja: Czy prawda jest bardziej brutalna, niż się spodziewamy?

Jak wyprzedzić konkurencję dzięki EU AI Act – Przewodnik dla firm

Jak wyprzedzić konkurencję dzięki EU AI Act – Przewodnik dla firm

Nowe horyzonty sztucznej inteligencji z modelami Claude 3.5 od Anthropic

Nowe horyzonty sztucznej inteligencji z modelami Claude 3.5 od Anthropic

Kotaemon – Test narzędzia open-source RAG do budowania i eksploracji własnej bazy wiedzy

Kotaemon – Test narzędzia open-source RAG do budowania i eksploracji własnej bazy wiedzy

Zobacz więcej

Kotaemon – Test narzędzia open-source RAG do budowania i eksploracji własnej bazy wiedzy

Awatar Mike Tomala

Ostatnimi czasy na jednej z grup facebookowych natknąłem się na informacje o nowym systemie open-source o nazwie Kotaemon, który wzbudził moje zainteresowanie. Postanowiłem sprawdzić go w działaniu, zwłaszcza że na jego stronie na GitHubie zaprezentowano kilka interesujących funkcji. Kotaemon to otwartoźródłowe narzędzie oparte na metodzie Retrieval-Augmentation-Generation (RAG), które obiecuje możliwość interakcji z dokumentami w formie sesji pytań i odpowiedzi. Przyciągnęła mnie zwłaszcza jego elastyczność i zaawansowane funkcje, które mają pomóc w budowaniu i eksplorowaniu własnej bazy wiedzy, a także:

  • Wsparcie dla lokalnych LLM i API – Narzędzie integruje się zarówno z lokalnymi modelami językowymi, jak i dostawcami API, oferując elastyczność w korzystaniu z różnych technologii sztucznej inteligencji. Wybór lokalnych modeli daje większe bezpieczeństwo danych, co jest istotnym aspektem dla firm lub osób, które muszą chronić poufne informacje.
  • Hybrydowa wyszukiwarka RAG – Połączenie wyszukiwania pełnotekstowego oraz z wykorzystaniem wektorów umożliwia bardziej precyzyjne wyniki zapytań.
  • Multimodalna obsługa dokumentów – Kotaemon wspiera nie tylko tekst, ale także grafy i tabele, co czyni narzędzie idealnym do pracy z różnorodnymi materiałami.
  • Zaawansowane cytowania – Użytkownicy mogą korzystać z podglądu dokumentów PDF bezpośrednio w przeglądarce oraz z narzędzi do generowania dokładnych cytatów, co ułatwia pracę z dużą ilością materiału źródłowego.
  • Złożone rozumowanie i podział problemów – Narzędzie wspiera bardziej skomplikowane procesy analizy i rozkładania problemów na mniejsze części, co jest kluczowe w pracy badawczej.

Dlatego postanowiłem go sprawdzić osobiście i w tym artykule podzielę się z Wami moimi wrażeniami.

Uruchomienie Kotaemon

Narzędzie może zostać uruchomione na kilka sposobów. Dla osób nietechnicznych zostały przygotowane dwa łatwe do uruchomienia scenariusze:

  • uruchomienie online za pomocą HuggingFace Space
  • uruchomienie lokalne za pomocą skryptu run_windows.bat lub run_macos.sh lub run_linux.sh

Ja wybrałem instalację za pomocą Docker’a. System Kotaemon korzysta z biblioteki unstructured.

Unstructured.io to narzędzie służące do przetwarzania i analizowania nieustrukturyzowanych danych. Narzędzie to specjalizuje się w konwersji różnych formatów danych (np. PDF, obrazy, e-maile, dokumenty tekstowe) na bardziej uporządkowane i strukturyzowane informacje, które można następnie łatwiej przetwarzać i analizować za pomocą algorytmów sztucznej inteligencji, takich jak modele językowe (LLM). Jest to wymagająca biblioteka ze względu na różnorodność formatów danych, które obsługuje. Dlatego zostały przygotowane 2 wersje kontenerów Docker: lite oraz full. Wersja full instaluje więcej paczek do obsługi formatów, przez co obraz zajmuje więcej miejsca. Ja zainstalowałem tą właśnie wersję, chociaż podobno wersja lite jest wystarczająca dla większości przypadków.

Uruchomienie obrazu Dockera przebiega za pomocą komendy:

docker run \
-e GRADIO_SERVER_NAME=0.0.0.0 \
-e GRADIO_SERVER_PORT=7860 \
-p 7860:7860 -it --rm \
--platform linux/arm64 \
ghcr.io/cinnamon/kotaemon:main-lite

Po uruchomieniu system Kotaemon jest dostępny pod adresem lokalnym http://localhost:7860.

Pierwsza konfiguracja Kotaemon

Po wejściu na adres lokalny musimy skonfigurować narzędzie.

W pierwszym kroku musimy wybrać model LLM, który będzie nas obsługiwał. Sugerowanym domyślnie API jest Cohere.

Cohere to platforma oferująca zaawansowane modele językowe, które umożliwiają tworzenie aplikacji opartych na sztucznej inteligencji, takich jak generowanie tekstu, analiza sentymentu czy klasyfikacja danych. Cohere kładzie duży nacisk na personalizację modeli i prywatność danych, co czyni ją atrakcyjnym wyborem dla firm dbających o bezpieczeństwo informacji.

W tym teście sprawdzę działanie Kotaemon właśnie z modelami z Cohere. Musimy wygenerować klucz API, co wymaga założenia konta w Cohere.

Po dodaniu klucza API w Kotaemon, w kolejnym kroku należy utworzyć pierwsze konto użytkownika.

Po utworzeniu konta mamy już dostęp do interfejsu panelu. Mogę więc już podsumować, że instalacja i pierwsza konfiguracja przebiegła bardzo szybko i sprawnie.

Pierwszy plik, pierwsze zapytanie…

W panelu z lewej strony znajduje się panel „Quick Upload”, w którym wgrywam pierwszy plik PDF, a następnie w polu czatu zadaję pytanie: „Ile rozdziałów zawiera ten plik?”

Odpowiedź na tak zadane pytanie nie jest poprawna. Jest to pewna wada rozwiązań typu RAG, które zawężają kontekst LLM do skrawków zaindeksowanych treści. Co jednak ciekawe w narzędziu Kotaemon, po zadaniu pytania w panelu z prawej strony znajdują się odniesienia skrawków wraz z ich „relevance score” czyli współczynnikiem dopasowana. W niektórych pozycjach możemy nawet kliknąć link „Preview”, który otworzy dokument PDF w wyznaczonym miejscu. Dzięki temu możemy dokładnie zobaczyć co wziął pod uwagę model, generując odpowiedź na pytanie.

Drugi plik….

Tym razem wgrałem plik PDF, który zawierał większą liczbę stron, a także dane tabelaryczne i wykresy. Indeksacja pliku trwała krótko. Przy zadawaniu pierwszego pytania okazały się problemy. Wyglądało jakby chat się zawiesił, a po zajrzeniu do konsoli, widać było powtarzające się błędy, które uniemożliwiły dalszą eksplorację.

Wstępne podsumowanie

Narzędzie Kotaemon to ciekawa inicjatywa open-source, która ma na celu stworzenie interfejsu do obsługi architektury RAG. Repozytorium projektu w ciągu ostatniego miesiąca otrzymało ponad 12k gwiazdek na github’ie i otrzymało tytuł „Repository of the Day”. Jest to na pewno projekt wart uwagi i na pewno będę do niego wracał w kolejnych artykułach, aby dokładnie poznać jako mocne i słabe strony.