Prosty RAG

Prosty RAG to otwartoźródłowy asystent AI oparty na polskim modelu językowym Bielik-4.5B-v3.0-Instruct, który odpowiada na pytania z prywatnej bazy wiedzy użytkownika, wykorzystując technikę RAG (Retrieval-Augmented Generation). Asystent działa w pełni lokalnie, jako dwa pliki wykonywalne na Windows/Linux/MacOS, wykorzystujące technologię llamafile i embedfile. Aplikacja jest przenośna, nie wymaga środowiska Python z mnóstwem pakietów (np. LangChain, LangGraph, LlamaIndex i podobne), automatycznie wykrywa zainstalowane biblioteki GPU (CUDA/ROCm), a w przypadku ich braku wykorzystuje CPU.

Zasada działania:

  1. Umieszczamy pliki bazy wiedzy PDF, TXT, MD (Markdown) lub CSV w folderze baza,
  2. Pliki są indeksowane (PDF konwertowane na TXT za pomocą pdftotext), dzielone na fragmenty (po 200 słów, 20 słów nakłada się) i osadzane w wektorowej bazie danych sqlite-vec,
  3. Dla danego zapytania pobierane są najbardziej trafne fragmenty z bazy danych, które uzupełniają kontekst pytania,
  4. Model językowy generuje odpowiedź na pytanie wykorzystując wzbogacone dane z bazy wiedzy.

Uruchamianie

Wystarczy pobrać plik prosty-rag.cmd (klikając prawym przyciskiem -> zapisz link jako...) i uruchomić go (klikając dwukrotnie myszą lub wpisując w wierszu poleceń ./prosty-rag.cmd). Skrypt sam pobierze pliki: prosty-rag.llamafile i bge-m3.embedfile (jeśli nie zostały wcześniej pobrane), uruchomi indeksator (jeśli nie został jeszcze uruchomiony), załaduje serwer z modelem osadzania (embedfile), serwer z modelem językowym (llamafile) i otworzy stronę http://localhost:8080 w przeglądarce internetowej. Asystent działa off-line, a wszelkie dane pozostają lokalnie na urządzeniu.

W folderze baza należy umieścić wszystkie pliki PDF, TXT, MD i CSV do stworzenia bazy wiedzy. Następnie należy uruchomić skrypt indeksator.cmd, który skonwertuje pliki PDF do TXT i zaindeksuje pliki tesktowe w wektorowej bazie danych SQLite prosty-rag.db, korzystając z modelu osadzania bge-m3.embedfile. Indeksator należy uruchomić po każdej zmianie plików w folderze baza.

Aby zadawać pytania dotyczące zaindeksowanej bazy wiedzy, należy uruchomić skrypt prosty-rag.cmd i wpisać pytanie w aplikacji czatu na http://localhost:8080. Najbardziej trafne fragmenty zostaną wyszukane w bazie danych prosty-rag.db, a następnie zostanie załadowany model językowy Bielik 4.5B v3.0, który wygeneruje odpowiedź w oparciu o kontekst z bazy wiedzy.

Budowanie

Aby zbudować własną wersję asystenta AI, należy ściągnąć skrypt build.cmd i uruchomić go pod Windows/Linux/MacOS. Po udanym zbudowaniu powinien pojawić się nowy plik prosty-rag.llamafile.

Podgląd

Prosty RAG

Lista zmian

  • 0.1 - pierwsza wersja wieloplatformowa
  • 0.2 - dodanie serwera embedfile z modelem osadzania BGE-M3
  • 0.3 - dodanie obsługi CSV, logowania do pliku prosty-rag.log

Licencja

© 2025 Jerzy Głowacki na licencji Apache 2.0.

Downloads last month
35
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for jglowa/prosty-rag

Finetuned
(3)
this model