Dieses Projekt automatisiert den Prozess der Auswahl der besten Modelle, Eingabeaufforderungen oder Inferenzparameter für einen bestimmten Anwendungsfall, sodass Sie über ihre Kombinationen iterieren und die Ergebnisse visuell überprüfen können.
Es wird davon ausgegangen, dass Ollama installiert ist und Endpunkte entweder in localhost oder in einem Remote -Server bedient.
So sieht ein Experiment für eine einfache Eingabeaufforderung, die auf 3 verschiedenen Modellen getestet wurde, aus:

(Für einen eingehenderen Blick auf einen von diesem Tool unterstützten Bewertungsprozess finden Sie unter https://dezoito.github.io/2023/12/27/rust-ollama-grid-search.html).
Überprüfen Sie die Releases -Seite für das Projekt oder in der Seitenleiste.
Technisch gesehen bezieht sich der Begriff "Gittersuche" auf die Iterierung einer Reihe verschiedener Modellhyperparams, um die Modellleistung zu optimieren. Dies bedeutet jedoch normalerweise Parameter wie batch_size , learning_rate oder number_of_epochs , die häufiger im Training verwendet werden.
Aber das Konzept hier ist ähnlich:
Definieren wir eine Auswahl von Modellen, eine Eingabeaufforderung und einige Parameterkombinationen:

Die Eingabeaufforderung wird für jeden Parameterwert für jedes der ausgewählten Modelle einmal übermittelt, wodurch eine Reihe von Antworten generiert wird.
In ähnlicher Weise können Sie A/B -Tests durch auswählen, indem Sie verschiedene Modelle auswählen und die Ergebnisse für dieselbe Eingabeaufforderung/Parameter -Kombination vergleichen oder verschiedene Eingabeaufforderungen unter ähnlichen Konfigurationen testen:

Vergleich der Ergebnisse verschiedener Eingabeaufforderungen für dasselbe Modell
Sie können Ihre Eingabeaufforderungen speichern und verwalten (wir möchten die Eingabeaufforderungen mit offenem Webui kompatibel machen).

Sie können Eingabeaufforderungen automatisch vervollständigen, indem Sie "/" (inspiriert von offenem Webui): auch inspiriert):

Sie können Ihre Experimente auflisten, überprüfen oder herunterladen:

Für offensichtliche Fehler und Rechtschreibfehler einreichen Sie bitte eine PR.
Wenn Sie eine neue Funktion vorschlagen möchten, die vorhandene Funktionalität ändern oder etwas Komplexeres vorschlagen möchten, öffnen Sie bitte ein Problem zur Diskussion, bevor Sie Arbeiten an einem PR erledigen.
Stellen Sie sicher, dass Sie Rost installiert haben.
Klonen Sie das Repository (oder eine Gabel)
git clone https://github.com/dezoito/ollama-grid-search.git
cd ollama-grid-searchInstallieren Sie die Frontend -Abhängigkeiten.
cd < project root >
# I'm using bun to manage dependencies,
# but feel free to use yarn or npm
bun install Stellen Sie sicher, dass rust-analyzer beim Überprüfen des Codes so konfiguriert ist, dass er Clippy ausführt.
Wenn Sie VS settings.json ausführen
{
...
"rust-analyzer.check.command" : " clippy " ,
}(Verwenden Sie einfach die Einstellungsdatei, die mit dem Code bereitgestellt werden.)
Führen Sie die App im Entwicklungsmodus aus
cd < project root > /
bun tauri devNehmen Sie sich eine Tasse Kaffee, weil dies eine Weile dauern kann.
Die folgenden Arbeiten und diese Thesen haben dieses Repository zitiert:
Inouye, D & Lindo, L. & Lee, R & Allen, e; Informatik und Ingenieurwesen Senior Thesen: Angewandte automatische Tunnung auf Lora Hyperparameters Santa Clara University, 2024 https://scholarcommons.scu.edu/cgi/viewcontent.cgi?article=1271&context=cseng_senior
Vielen Dank an @fabianlars, @peperroni21 und @tomreidnz.