Update README.md
Browse files
README.md
CHANGED
|
@@ -14,23 +14,35 @@ tags:
|
|
| 14 |
Prosty RAG to otwarto藕r贸d艂owy asystent AI oparty na polskim modelu j臋zykowym [Bielik-4.5B-v3.0-Instruct](https://huggingface.co/speakleash/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](https://llamafile.ai/) 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.
|
| 15 |
|
| 16 |
Zasada dzia艂ania:
|
| 17 |
-
1. Umieszczamy pliki bazy wiedzy PDF, TXT
|
| 18 |
-
2. Pliki s膮 indeksowane (PDF konwertowane na TXT za pomoc膮 [pdftotext](https://www.xpdfreader.com/pdftotext-man.html)), dzielone na fragmenty i osadzane w wektorowej bazie danych [sqlite-vec](https://github.com/asg017/sqlite-vec),
|
| 19 |
3. Dla danego zapytania pobierane s膮 najbardziej trafne fragmenty z bazy danych, kt贸re uzupe艂niaj膮 kontekst pytania,
|
| 20 |
4. Model j臋zykowy generuje odpowied藕 na pytanie wykorzystuj膮c wzbogacone dane z bazy wiedzy.
|
| 21 |
|
| 22 |
### Uruchamianie
|
| 23 |
|
| 24 |
-
Wystarczy pobra膰 plik [**prosty-rag.cmd**](https://huggingface.co/jglowa/prosty-rag/resolve/main/prosty-rag.cmd?download=true) (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), z modelem j臋zykowym (llamafile) i otworzy stron臋 [http://localhost:8080](http://localhost:8080) w przegl膮darce internetowej. Asystent dzia艂a off-line, a wszelkie dane pozostaj膮 lokalnie na urz膮dzeniu.
|
| 25 |
|
| 26 |
-
W folderze `baza` nale偶y umie艣ci膰 wszystkie pliki PDF, TXT i
|
| 27 |
|
| 28 |
-
Aby zadawa膰 pytania dotycz膮ce zaindeksowanej bazy wiedzy, nale偶y uruchomi膰 skrypt `prosty-rag.cmd` i wpisa膰 pytanie. Najbardziej trafne fragmenty zostan膮 wyszukane w bazie danych `prosty-rag.db`, a nast臋pnie zostanie za艂adowany model j臋zykowy
|
| 29 |
|
| 30 |
### Budowanie
|
| 31 |
|
| 32 |
-
Aby zbudowa膰 w艂asn膮 wersj臋 asystenta AI, nale偶y 艣ci膮gn膮膰
|
| 33 |
|
| 34 |
### Podgl膮d
|
| 35 |
|
| 36 |

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
Prosty RAG to otwarto藕r贸d艂owy asystent AI oparty na polskim modelu j臋zykowym [Bielik-4.5B-v3.0-Instruct](https://huggingface.co/speakleash/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](https://llamafile.ai/) 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.
|
| 15 |
|
| 16 |
Zasada dzia艂ania:
|
| 17 |
+
1. Umieszczamy pliki bazy wiedzy PDF, TXT, MD (Markdown) lub CSV w folderze `baza`,
|
| 18 |
+
2. Pliki s膮 indeksowane (PDF konwertowane na TXT za pomoc膮 [pdftotext](https://www.xpdfreader.com/pdftotext-man.html)), dzielone na fragmenty (po 200 s艂贸w, 20 s艂贸w nak艂ada si臋) i osadzane w wektorowej bazie danych [sqlite-vec](https://github.com/asg017/sqlite-vec),
|
| 19 |
3. Dla danego zapytania pobierane s膮 najbardziej trafne fragmenty z bazy danych, kt贸re uzupe艂niaj膮 kontekst pytania,
|
| 20 |
4. Model j臋zykowy generuje odpowied藕 na pytanie wykorzystuj膮c wzbogacone dane z bazy wiedzy.
|
| 21 |
|
| 22 |
### Uruchamianie
|
| 23 |
|
| 24 |
+
Wystarczy pobra膰 plik [**prosty-rag.cmd**](https://huggingface.co/jglowa/prosty-rag/resolve/main/prosty-rag.cmd?download=true) (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](http://localhost:8080) w przegl膮darce internetowej. Asystent dzia艂a off-line, a wszelkie dane pozostaj膮 lokalnie na urz膮dzeniu.
|
| 25 |
|
| 26 |
+
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`.
|
| 27 |
|
| 28 |
+
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](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.
|
| 29 |
|
| 30 |
### Budowanie
|
| 31 |
|
| 32 |
+
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`.
|
| 33 |
|
| 34 |
### Podgl膮d
|
| 35 |
|
| 36 |

|
| 37 |
+
|
| 38 |
+
### Lista zmian
|
| 39 |
+
|
| 40 |
+
0.1 - pierwsza wersja wieloplatformowa
|
| 41 |
+
|
| 42 |
+
0.2 - dodanie serwera embedfile z modelem osadzania BGE-M3
|
| 43 |
+
|
| 44 |
+
0.3 - dodanie obs艂ugi CVS, poprawienie serwera embedfile pod *NIX.
|
| 45 |
+
|
| 46 |
+
### Licencja
|
| 47 |
+
|
| 48 |
+
© 2025 Jerzy G艂owacki na licencji Apache 2.0.
|