🧠 Tryb hybrydowy SL5 Aura: lokalna integracja LLM¶
Stan: Eksperymentalny / Stabilny Technologia: Ollama (Llama 3.2) + podproces Pythona Prywatność: 100% offline
Koncepcja: „Architekt i stażysta”¶
Tradycyjnie Aura opiera się na regułach deterministycznych (RegEx) – szybkich, precyzyjnych i przewidywalnych. To jest „Architekt”. Czasami jednak użytkownik chce zapytać o coś „niejasnego” lub kreatywnego, na przykład „Opowiedz mi dowcip”* lub „Podsumuj ten tekst”.
Tutaj z pomocą przychodzi Lokalna wtyczka LLM („Stażysta”**):
Aura (RegEx) najpierw sprawdza wszystkie ścisłe polecenia („Włącz światła”, „Otwórz aplikację”).
Jeśli nic nie pasuje do AND/ LUB określonego słowa wyzwalającego (np. „Aura …”), aktywuje się reguła awaryjna.
Tekst wysyłany jest do lokalnego modelu AI (Ollama).
Odpowiedź jest oczyszczana i wyświetlana za pomocą TTS lub wpisywania tekstu.
🛠 Warunki wstępne¶
Wtyczka wymaga działającej instancji Ollama działającej lokalnie na komputerze.
KOD_BLOKU_0
📂 Kolejność konstrukcji i obciążenia¶
Wtyczka została celowo umieszczona w folderze z_fallback_llm.
Ponieważ Aura ładuje wtyczki alfabetycznie, to nazewnictwo gwarantuje, że reguła LLM zostanie załadowana ostatni. Służy jako „siatka bezpieczeństwa” dla nierozpoznanych poleceń.
Ścieżka: config/maps/plugins/z_fallback_llm/de-DE/
1. Mapa (FUZZY_MAP_pre.py)¶
Używamy wysokiego wyniku (100) i słowa wyzwalającego, aby zmusić Aurę do przekazania kontroli scenariuszowi.
KOD_BLOKU_1
2. Program obsługi (ask_ollama.py)¶
Ten skrypt komunikuje się z interfejsem CLI Ollama.
Ważne: Zawiera funkcję „czysty_tekst_do_typowania”. Surowe wyniki LLM często zawierają emoji (😂, 🚀) lub znaki specjalne, które mogą powodować awarie narzędzi takich jak xdotool lub starsze systemy TTS.
KOD_BLOKU_2
⚙️ Opcje dostosowywania¶
Zmiana wyzwalacza¶
Zmodyfikuj RegEx w FUZZY_MAP_pre.py, jeśli nie chcesz używać „Aura” jako słowa budzącego.
Przykład prawdziwego Catch-All (wszystko, czego Aura nie wie):
r'^(.*)$'(Uwaga: dostosuj wynik!)
Zamiana modelu¶
Możesz łatwo zamienić model w ask_ollama.py (np. na mistral w celu uzyskania bardziej złożonej logiki, chociaż wymaga to więcej pamięci RAM).
KOD_BLOKU_3
Podpowiedź systemowa (osoba)¶
You can give Aura a personality by adjusting the system_instruction:
„Jesteś sarkastycznym asystentem z filmu science-fiction”.
⚠️ Znane ograniczenia¶
Opóźnienie: Pierwsze żądanie po uruchomieniu może zająć 1–3 sekundy, gdy model ładuje się do pamięci RAM. Kolejne żądania są szybsze.
Konflikty: Jeśli wyrażenie regularne jest zbyt szerokie (
.*) bez odpowiedniej struktury folderów, może pochłonąć standardowe polecenia. Kolejność alfabetyczna („z_…”) jest istotna.Sprzęt: Wymaga ok. 2 GB wolnej pamięci RAM dla Lamy 3.2.