airust
🧠 airust ist eine modulare, trainierbare KI-Bibliothek in Rust.
Sie unterstützt Compile-Zeit-Wissen über JSON-Dateien und erlaubt einfache Vorhersage-Engines für natürliche Spracheingaben.
🚀 Features
- 🧩 Modularer Aufbau mit
TrainableAgent-Trait - 🧠 Mehrere eingebaute Agenten:
SimpleAgent(exakte Übereinstimmung)FuzzyAgent(Levenshtein-Ähnlichkeit)ContextAgent(berücksichtigt Gesprächskontext)TfidfAgent(nutzt BM25-Algorithmus für bessere Ähnlichkeitssuche)StructuredAgent(unterstützt strukturierte Antwortformate)
- 💾 Compile-Zeit-Wissen via
knowledge/train.json - ⚖️ Gewichtete Trainingsdaten für präzisere Antworten
- 📋 Erweiterbare dynamische Wissensbasis zur Laufzeit
- 🔍 Erweiterte Texterkennung mit TF-IDF und BM25
- 🏷️ Unterstützung für strukturierte Antworten (Text, Markdown, JSON)
- 📦 Leicht in andere Projekte einbindbar
- 🖥️ CLI-Testprogramm inklusive
🔧 Verwendung
In deinem Projekt
[]
= { = "../airust" }
Beispielcode
use SimpleAgent;
use TRAINING_DATA;
use TrainableAgent;
📂 Trainingsdaten
Die Datei knowledge/train.json unterstützt nun auch Gewichtungen:
Diese Datei wird automatisch bei Build-Zeit in das Binary eingebunden (build.rs kümmert sich darum).
🖥️ CLI-Nutzung
# Verschiedene Agenten testen
🧪 Testen der erweiterten Funktionen
Kontext-Agent testen
# Interaktiven Kontext-Test starten
Der Kontext-Agent speichert vorherige Fragen und Antworten, um bessere Ergebnisse bei zusammenhängenden Gesprächen zu liefern.
Dynamische Wissensbasis
# Testen der dynamischen Wissensdatenbank
Mit der dynamischen Wissensbasis können Sie zur Laufzeit:
- Neue Trainingsdaten hinzufügen
- Die Wissensbasis speichern und laden
- Änderungen an Trainingsdaten vornehmen
Strukturierte Antworten
Der StructuredAgent unterstützt verschiedene Antwortformate:
- Einfacher Text
- Markdown-formatierter Text
- JSON-strukturierte Daten
# Testen der strukturierten Antworten
📊 Fortgeschrittene Verwendung
BM25-Algorithmus für bessere Trefferquoten
Der TfidfAgent verwendet den BM25-Algorithmus, eine Erweiterung des TF-IDF-Verfahrens, um die semantische Ähnlichkeit zwischen Fragen besser zu erkennen:
use TfidfAgent;
use TRAINING_DATA;
use TrainableAgent;
📃 Lizenz
MIT
Entwickelt mit ❤️ in Rust.
Dieses Crate ist offen für Beiträge und Erweiterungen.