Utilitários de linha de comando para consultar grandes modelos de linguagem
Este repositório é construído para facilitar a execução de um conjunto de consultas via CLI em um grande modelo de idioma (LM) e recuperar um conjunto de conclusões formatadas muito bem em um único documento . Ele também possui uma API básica de Python.
Fluxo de trabalho típico:
CSV
/ .xlsx
/ etc. Arquivo com consultas modelo como linhaslm-api
com -i /path/to/my/queries.csv
e use -kc
para especificar o nome da coluna com as consultasEspera-se que as consultas estejam em um formato compatível com Pandas e os resultados são gravados em um arquivo de texto com formatação de marcação para facilitar a visualização/compartilhamento.
Um exemplo de arquivo de saída é fornecido em data/lm-api-output
.
Instale diretamente via pip
+ git
:
# create a virtual environment (optional): pyenv virtualenv 3.8.5 lm-api
pip install git+https://github.com/pszemraj/lm-api.git
Como alternativa, após a clonagem, cd
no diretório lm-api
e Run:
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 .
Um teste rápido pode ser executado com o script src/lm_api/test_goose_api.py
.
Você precisará de uma chave de API para cada provedor que deseja consultar. Atualmente, os seguintes provedores são suportados:
As chaves da API podem ser definidas nas variáveis de ambiente GOOSE
e OPENAI
:
export OPENAI=api_key11111114234234etc
# or
export GOOSE=api_key11111114234234etc
Como alternativa, passe como um argumento ao chamar lm-api
com o interruptor -k
.
Os scripts da linha de comando estão localizados em src/lm_api/
e são instalados como comandos da CLI que podem ser executados de qualquer lugar. Atualmente, os comandos são limitados ao lm-api
( mais por vir ).
lm-api
com a bandeira -k
para executar qualquer dúvida
lm-api -i data/test_queries.xlsx -o ./my-test-folder
Isso executará as consultas em data/test_queries.xlsx
e gravará os resultados em um arquivo .md
no my-test-folder/
no seu diretório de trabalho atual.
Existem muitas opções para o script, que podem ser vistas com o sinalizador -h
(por exemplo, 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]
O arquivo de entrada deve estar em um formato compatível com Pandas (por exemplo, .csv
, .xlsx
, etc.). O nome da coluna padrão para as consultas é query
, que pode ser alterada com o sinalizador -kc
.
Um exemplo de arquivo de entrada é fornecido em data/test_queries.xlsx
.
Nota: Este é um trabalho em andamento, e a seguir é uma lista em execução de coisas que precisam ser feitas. Isso pode e provavelmente será atualizado.
--prefix
e --suffix
para um interruptor de "mecanismo imediato" que pode aumentar/atualizar o prompt com uma variedade de opções (por exemplo, --prompt-engine=prefix
ou --prompt-engine=prefix+suffix
) lm_api
deve funcionar e ter funcionalidade completa wrt cli) Estamos compilando/discutindo uma lista de recursos em potencial na seção de discussões; portanto, sinta -se à vontade para adicionar seus pensamentos lá!