Este proyecto automatiza el proceso de selección de los mejores modelos, indicaciones o parámetros de inferencia para un caso de uso dado, lo que le permite iterar sobre sus combinaciones e inspeccionar visualmente los resultados.
Asume que Ollama está instalado y sirve puntos finales, ya sea en localhost o en un servidor remoto.
Esto es lo que un experimento para un mensaje simple, probado en 3 modelos diferentes, parece:

(Para ver más en profundidad un proceso de evaluación asistido por esta herramienta, consulte https://dezoito.github.io/2023/12/27/rust-ollama-grid-search.html).
Consulte la página de lanzamientos para el proyecto o en la barra lateral.
Técnicamente, el término "búsqueda de cuadrícula" se refiere a iterarse sobre una serie de hiperparams modelo diferentes para optimizar el rendimiento del modelo, pero eso generalmente significa parámetros como batch_size , learning_rate o number_of_epochs , más comúnmente usados en el entrenamiento.
Pero el concepto aquí es similar:
Definamos una selección de modelos, un aviso y algunas combinaciones de parámetros:

El mensaje se enviará una vez para cada valor de parámetro, para cada uno de los modelos seleccionados, generando un conjunto de respuestas.
Del mismo modo, puede realizar pruebas A/B seleccionando diferentes modelos y comparar resultados para la misma combinación de solicitud/parámetro, o probar diferentes indicaciones en configuraciones similares:

Comparación de los resultados de diferentes indicaciones para el mismo modelo
Puede guardar y administrar sus indicaciones (queremos hacer que las indicaciones sean compatibles con Open WebUI)

Puede automáticamente las indicaciones para la escritura escribiendo "/" (inspirado en Open WebUI, también):

Puede enumerar, inspeccionar o descargar sus experimentos:

Para errores obvios y errores de ortografía, continúe y envíe un PR.
Si desea proponer una nueva característica, cambiar la funcionalidad existente o proponer algo más complejo, abra un problema para la discusión, antes de hacer el trabajo en un PR.
Asegúrese de tener óxido instalado.
Clonar el repositorio (o una bifurcación)
git clone https://github.com/dezoito/ollama-grid-search.git
cd ollama-grid-searchInstale las dependencias frontend.
cd < project root >
# I'm using bun to manage dependencies,
# but feel free to use yarn or npm
bun install Asegúrese de que rust-analyzer esté configurado para ejecutar Clippy al verificar el código.
Si está ejecutando el código VS, agregue esto a su archivo settings.json
{
...
"rust-analyzer.check.command" : " clippy " ,
}(o, mejor aún, solo use el archivo de configuración proporcionado con el código)
Ejecute la aplicación en modo de desarrollo
cd < project root > /
bun tauri devVe a tomar una taza de café porque esto puede llevar un tiempo.
Los siguientes trabajos y tesis han citado este repositorio:
Inouye, D y Lindo, L, y Lee, R & Allen, E; Ciencias de la Computer e Ingeniería Tesis senior: Aplicando Auto-Tuning en Lora Hyperparameters University Santa Clara, 2024 https://scholarcommons.scu.edu/cgi/viewcontent.cgi?
Muchas gracias a @fabianlars, @Peperroni21 y @Tomreidnz.