Befehlszeilen-Dienstprogramme für die Abfragung von großsprachigen Modellen
Dieses Repo basiert darauf, dass es einfach ist, eine Reihe von Abfragen über CLI auf einem großen Sprachmodell (LM) auszuführen und eine Reihe von Abschlüssen zurückzubekommen, die gut in ein einzelnes Dokument formatiert sind . Es hat auch eine grundlegende Python -API.
Typischer Workflow:
CSV
/ .xlsx
/ etc. Datei mit Modellabfragen als Zeilenlm-api
mit -i /path/to/my/queries.csv
aus und verwenden Sie -kc
, um den Spaltennamen mit den Abfragen anzugebenEs wird erwartet, dass Abfragen in einem pandas-kompatiblen Format vorliegen, und die Ergebnisse werden in eine Textdatei mit Markdown-Formatierung für das einfache Anzeigen/Freigeben geschrieben.
Eine Beispielausgabedatei wird in data/lm-api-output
bereitgestellt.
Direkt über pip
+ git
installieren:
# create a virtual environment (optional): pyenv virtualenv 3.8.5 lm-api
pip install git+https://github.com/pszemraj/lm-api.git
Alternativ nach dem Klonen, cd
in das lm-api
-Verzeichnis und rennen Sie:
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 .
Ein kurzer Test kann mit dem Skript src/lm_api/test_goose_api.py
ausgeführt werden.
Sie benötigen einen API -Schlüssel für jeden Anbieter, den Sie abfragen möchten. Derzeit werden die folgenden Anbieter unterstützt:
API -Schlüssel können in die Umgebungsvariablen GOOSE
und OPENAI
eingestellt werden:
export OPENAI=api_key11111114234234etc
# or
export GOOSE=api_key11111114234234etc
Alternativ als Argument, wenn Sie lm-api
mit dem -k
-Schalter aufrufen.
Die Befehlszeilenskripte befinden sich in src/lm_api/
und werden als CLI -Befehle installiert, die von überall ausgeführt werden können. Derzeit sind die Befehle auf lm-api
beschränkt ( weitere ).
lm-api
mit dem -k
-Flag übergeben werden, um Abfragen auszuführen
lm-api -i data/test_queries.xlsx -o ./my-test-folder
Dadurch werden die Abfragen in data/test_queries.xlsx
ausgeführt und die Ergebnisse in eine .md
Datei in my-test-folder/
in Ihrem aktuellen Arbeitsverzeichnis geschrieben.
Es gibt viele Optionen für das Skript, das mit der Flagge -h
(z. B. lm-api -h
) angezeigt werden kann.
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]
Die Eingabedatei sollte sich in einem pandas-kompatiblen Format befinden (z. B. .csv
, .xlsx
usw.). Der Standardspaltenname für die Abfragen ist query
, die mit dem -kc
-Flag geändert werden kann.
Eine Beispiel -Eingabedatei finden Sie in data/test_queries.xlsx
.
Hinweis: Dies ist eine laufende Arbeit, und das Folgende ist eine laufende Liste von Dingen, die erledigt werden müssen. Dies kann und wahrscheinlich aktualisiert werden.
--prefix
und --suffix
an einen "Eingabeaufforderung Motor" -Schalter an, der die Eingabeaufforderung mit einer Vielzahl von Optionen erweitern/aktualisieren kann (z. B.- --prompt-engine=prefix
oder --prompt-engine=prefix+suffix
) lm_api
sollte funktionieren und volle Funktionalitätswrt CLI haben) Wir erstellen/diskutieren eine Liste potenzieller Funktionen im Abschnitt mit Diskussionen. Bitte fügen Sie dort Ihre Gedanken hinzu!