Ce projet automatise le processus de sélection des meilleurs modèles, invites ou paramètres d'inférence pour un cas d'utilisation donné, vous permettant d'itérer sur leurs combinaisons et d'inspecter visuellement les résultats.
Il suppose que Olllama est installé et sert des points de terminaison, soit dans localhost , soit dans un serveur distant.
Voici à quoi ressemble une expérience pour une simple invite, testée sur 3 modèles différents, ressemble:

(Pour un aperçu plus approfondi d'un processus d'évaluation assisté par cet outil, veuillez vérifier https://dezoito.github.io/2023/12/27/rust-ollama-grid-search.html).
Vérifiez la page des versions du projet ou sur la barre latérale.
Techniquement, le terme «recherche de grille» fait référence à l'itération d'une série d'hyperparams de modèles différents pour optimiser les performances du modèle, mais cela signifie généralement des paramètres comme batch_size , learning_rate ou number_of_epochs , plus couramment utilisés dans la formation.
Mais le concept ici est similaire:
Permet de définir une sélection de modèles, une invite et certaines combinaisons de paramètres:

L'invite sera soumise une fois pour chaque valeur de paramètre, pour chacun des modèles sélectionnés, générant un ensemble de réponses.
De même, vous pouvez effectuer des tests A / B en sélectionnant différents modèles et en comparant les résultats pour la même combinaison d'invites / paramètres, ou tester différentes invites sous des configurations similaires:

Comparaison des résultats de différentes invites pour le même modèle
Vous pouvez enregistrer et gérer vos invites (nous voulons rendre les invites compatibles avec Open WebUI)

Vous pouvez également les invites de saisie automatique en tapant "/" (inspiré par Open WebUi, également):

Vous pouvez répertorier, inspecter ou télécharger vos expériences:

Pour des bugs évidents et des erreurs d'orthographe, veuillez aller de l'avant et soumettre un RP.
Si vous souhaitez proposer une nouvelle fonctionnalité, modifier les fonctionnalités existantes ou proposer quelque chose de plus complexe, veuillez ouvrir un problème pour la discussion, avant de faire le travail sur un RP.
Assurez-vous que la rouille a installé.
Clone le référentiel (ou une fourche)
git clone https://github.com/dezoito/ollama-grid-search.git
cd ollama-grid-searchInstallez les dépendances de frontend.
cd < project root >
# I'm using bun to manage dependencies,
# but feel free to use yarn or npm
bun install Assurez-vous que rust-analyzer est configuré pour exécuter Clippy lors de la vérification du code.
Si vous exécutez VS Code, ajoutez ceci à votre fichier settings.json
{
...
"rust-analyzer.check.command" : " clippy " ,
}(ou, mieux encore, utilisez simplement le fichier de paramètres fournis avec le code)
Exécutez l'application en mode développement
cd < project root > /
bun tauri devAllez prendre une tasse de café car cela peut prendre un certain temps.
Les œuvres et les thèses suivantes ont cité ce référentiel:
Inouye, D & Lindo, L et Lee, R & Allen, E; Informatique et génie thèses seniors: Auto-tun appliquée sur Lora Hyperparameters Santa Clara University, 2024 https://scholarcommons.scu.edu/cgi/viewcontent.cgi?article=1271&context=CSENG_SENIOR
Un grand merci à @FabianLars, @ peperroni21 et @tomreidnz.