Utilidades de línea de comandos para consultar modelos de idiomas grandes
Este repositorio se basa en que sea fácil ejecutar un conjunto de consultas a través de CLI en un modelo de idioma grande (LM) y recuperar un conjunto de terminaciones formateadas en un solo documento . También tiene una API básica de Python.
Flujo de trabajo típico:
CSV
/ .xlsx
/ etc. Archivo con consultas de modelo como filaslm-api
con -i /path/to/my/queries.csv
, y use -kc
para especificar el nombre de la columna con las consultasSe espera que las consultas estén en formato compatible con PANDAS, y los resultados se escriben en un archivo de texto con formato de Markdown para una fácil visualización/compartir.
Se proporciona un archivo de salida de ejemplo en data/lm-api-output
.
Instale directamente a través de pip
+ git
:
# create a virtual environment (optional): pyenv virtualenv 3.8.5 lm-api
pip install git+https://github.com/pszemraj/lm-api.git
Alternativamente, después de la clonación, cd
en el directorio lm-api
y ejecutar:
git clone https://github.com/pszemraj/lm-api.git
cd lm-api
# create a virtual environment (optional): pyenv virtualenv 3.8.5 lm-api
pip install -e .
Se puede ejecutar una prueba rápida con el script src/lm_api/test_goose_api.py
.
Necesitará una clave API para cada proveedor que desee consultar. Actualmente, los siguientes proveedores son compatibles:
Las teclas API se pueden configurar en las variables de entorno GOOSE
y OPENAI
:
export OPENAI=api_key11111114234234etc
# or
export GOOSE=api_key11111114234234etc
Alternativamente, pase como argumento cuando llame lm-api
con el interruptor -k
.
Los scripts de línea de comandos se encuentran en src/lm_api/
y se instalan como comandos CLI que se pueden ejecutar desde cualquier lugar. Actualmente, los comandos se limitan a lm-api
( más por venir ).
lm-api
con el indicador -k
para ejecutar cualquier consulta
lm-api -i data/test_queries.xlsx -o ./my-test-folder
Esto ejecutará las consultas en data/test_queries.xlsx
y escribirá los resultados en un archivo .md
en my-test-folder/
en su directorio de trabajo actual.
Hay muchas opciones para el script, que se pueden ver con la bandera -h
(por ejemplo, lm-api -h
).
usage: lm-api [-h] [-i INPUT_FILE] [-o OUTPUT_DIR] [-provider PROVIDER_ID] [-k KEY] [-p PREFIX] [-s SUFFIX] [-simple]
[-kc KEY_COLUMN] [-m MODEL_ID] [-n N_TOKENS] [-t TEMPERATURE] [-f2 FREQUENCY_PENALTY]
[-p2 PRESENCE_PENALTY] [-v]
El archivo de entrada debe estar en un formato compatible con pandas (por ejemplo, .csv
, .xlsx
, etc.). El nombre de columna predeterminado para las consultas es query
, que se puede cambiar con el indicador -kc
.
Se proporciona un archivo de entrada de ejemplo en data/test_queries.xlsx
.
Nota: Este es un trabajo en progreso, y la siguiente es una lista de cosas que deben hacerse. Esto puede y probablemente se actualizará.
--prefix
y --suffix
a un interruptor de "motor rápido" que puede aumentar/actualizar la solicitud con una variedad de opciones (por ejemplo, --prompt-engine=prefix
o --prompt-engine=prefix+suffix
) lm_api
debería funcionar y tener funcionalidad completa WRT CLI) Estamos compilando/discutiendo una lista de características potenciales en la sección de discusiones, ¡así que no dude en agregar sus pensamientos allí!