Eine nette Möglichkeit, Modelle auf Amazon Bedrock aufzurufen. Geschrieben in Rust und LIVE auf Twitch.
NEU AB 0.8.2 – BETA: Sie können Ihren Chat jetzt in HTML-Dateien exportieren. (Sie werden nur als
conversation.html
im aktuellen Verzeichnis gespeichert.)
Derzeit werden folgende Modelle unterstützt:
Claude 3.5 v2 Sonett
Claude 3.5 Haiku
Claude 3,5 Sonett
Claude V2
Claude V3 Sonett
Claude V3 Haiku
Lama2 70B
LLama3.1-Modelle
Cohere-Kommando
Jurrasic 2 Ultra
Titan Text Express V1
Mistral AI-Modelle (Mixtral, Mistral7b und Mistral Large 1 und 2)
Um damit zu beginnen, müssen Sie ein paar Dinge tun:
Um mit Amazon Bedrock interagieren zu können, benötigen Sie eine Reihe von AWS-Anmeldeinformationen auf dem Computer, auf dem Bedrust ausgeführt wird. Der einfachste Weg, dies einzurichten, ist die Konfiguration der AWS CLI. Stellen Sie sicher, dass Sie die AWS CLI installieren und den Befehl aws configure
ausführen, um Ihre Anmeldeinformationen festzulegen.
Um zu überprüfen, ob Ihre AWS-Anmeldeinformationen richtig eingestellt sind, können Sie aws sts get-caller-identity
ausführen:
darko@devbox [~/workspace/projects/bedrust]: aws sts get-caller-identity {"UserId": "AIDAXXXXXXXXXXXXXXXXXX5",Account": "123456789999999",Arn": "arn:aws:iam::123456789999999:user/alan-ford"}
Ach ja, stellen Sie sicher, dass der Benutzer, dessen Anmeldeinformationen Sie konfigurieren, Berechtigungen für InvokeModel
auf Amazon Bedrock hat.
Nun, das macht einfach Sinn, dies ist eine Rust -Anwendung. Der einfachste Einstieg ist die Verwendung von rustup.
Jetzt benötigen Sie einige zusätzliche Pakete, um bedrust kompilieren zu können. Sie benötigen nämlich die Paketgruppe build-essential
(oder eine ähnliche). Abhängig von Ihrem Betriebssystem und Paketmanager kann der Name unterschiedlich sein.
Ubuntu/Debian:
sudo apt install build-essential
Arch Linux:
sudo pacman -S base-devel
MacOS:
xcode-select --install
Amazon Linux/Red Hat/CentOS:
yum groupinstall "Development Tools"
Um die Anwendung lokal zu installieren, führen Sie einfach Folgendes aus:
cargo install bedrust
Dadurch wird die kompilierte Binärdatei in Ihrem Verzeichnis $CARGO_HOME/bin
installiert. Wenn Sie $PATH
richtig eingerichtet haben, sollten Sie es jetzt ausführen können. Aber bevor du es tust ...
Lassen Sie uns die Konfiguration initialisieren. Da Bedrust eine Konfigurationsdatei ( bedrust_config.ron
) verwendet, muss diese (zusammen mit einigen anderen Ressourcen) in Ihrem Verzeichnis $HOME/.config/bedrust
gespeichert werden. Jetzt können Sie dies manuell tun, aber wir haben eine Funktion, die es für Sie erledigt. Führen Sie einfach Folgendes aus:
bedrust --init
Sie werden aufgefordert, ein Standardmodell auszuwählen. Dadurch werden alle notwendigen Dateien erstellt, damit Sie bedrust verwenden können. Es besteht keine Notwendigkeit, diese Dateien zu ändern, es sei denn, Sie möchten dies.
Um die Anwendung schließlich auszuführen, verwenden Sie einfach den folgenden Befehl:
bedrust -m <MODELNAME> # Ersetzen des Modellnamens durch einen der unterstützten
Oder wenn Sie das Standardmodell (das während --init
/ in Ihrer Konfigurationsdatei definierte) verwenden möchten, führen Sie bedrust
einfach ohne Parameter aus. Wenn Sie kein Modell durch Übergabe des Parameters -m
auswählen UND in Ihrer Konfigurationsdatei kein Standardmodell festgelegt ist, werden Sie während der Ausführung aufgefordert, eines auszuwählen.
Ein Befehlszeilentool zum Aufrufen und Arbeiten mit Large Language-Modellen in AWS unter Verwendung von Amazon Bedrock Verwendung: Bettrost [OPTIONEN] Optionen: --init -m, --model-id <MODEL_ID> [mögliche Werte: llama270b, llama31405b-instruct, llama3170b-instruct, llama318b-instruct, cohere-command, claude-v2, claude-v21, claude-v3-sonnet, claude-v3 -haiku, claude-v35-sonett, claude-v352-sonnet, claude-v35-haiku, jurrasic2-ultra, titan-text-express-v1, mixtral8x7b-instruct, mistral7b-instruct, mistral-large, mistral-large2] -c, --caption <CAPTION> -s, --source <QUELLE> -X -h, --help Hilfe drucken -V, --version Druckversion
Sobald Sie aufgefordert werden, geben Sie Ihre Frage ein und drücken Sie ENTER
. Um das Programm zu beenden, geben Sie einfach /q
in Ihre Frage ein.
NEUE Funktion: Dank der Multimodalität von Claude V3 können Sie jetzt Bilder an dieses große Sprachmodell übergeben. Das bedeutet, dass wir aus Gründen der Barrierefreiheit einige lustige Dinge wie Bildunterschriften tun können. Diese Funktion ist in Bedrust ab Version 0.5.0
verfügbar.
️ Derzeit unterstützen dies nur zwei Modelle: Claude V3 Sonnet und Claude V3 Haiku
Um Untertitel zu verwenden, müssen Sie lediglich den Parameter -c
zusammen mit dem Verzeichnis, in dem Sie Ihre Bilder haben, übergeben:
bedrust -m claude-v3-sonnet -c /tmp/test-images/
Dadurch werden die unterstützten Bilder abgerufen und Beschriftungen für sie erstellt. Letztendlich wird im aktuellen Arbeitsverzeichnis eine Datei captions.json
erstellt, wobei die Untertitel mit den Bildpfaden verbunden sind.
Hier ist ein Beispiel für die Ausgabe:
[ {"path": "/tmp/test-images/4slika.jpeg", "caption": "Ein Computer-CPU-Lüfter, der eine Leiterplatte mit Ethernet und anderen Anschlüssen kühlt." }, {"path": "/tmp/test-images/kompjuter.jpeg", "caption": "Eine offene Leiterplatte mit verschiedenen elektronischen Bauteilen und Drähten, platziert in einem Büro oder einer Werkstatt, mit sichtbaren Regalen und Geräten im Hintergrund. " }, {"path": "/tmp/test-images/c64.jpeg", "caption": "Vintage Commodore-Computermonitor, auf dem das Twitch-Logo auf dem Bildschirm angezeigt wird." } ]
Darüber hinaus können Sie die Eingabeaufforderung für Untertitel und die unterstützten Bilddateiformate anpassen, indem Sie die Datei bedrust_config.ron
im Stammverzeichnis dieses Projekts bearbeiten.
Sie können Bedrust jetzt auf ein Verzeichnis verweisen, das Quellcode enthält. Auf diese Weise können Sie Ihr Code-Repository im Kontext besprechen und Codevorschläge, Verbesserungen und Weiterentwicklungen erhalten.
Hinweis: Da es sich um eine Beta-Funktion handelt, gibt es Einschränkungen. Es ist beispielsweise nicht in der Lage, wirklich große Codebasen zu verarbeiten. Und weil dadurch Ihre gesamte Codebasis in den Kontext gesendet wird, kann es für Sie deutlich mehr kosten.
bedrust --source ~/workspace/repos/your_code_repo
Ab Version 0.8.2 können Sie Ihre Gespräche jetzt speichern, zu einem späteren Zeitpunkt abrufen und sogar als schöne HTML-Dateien exportieren. Diese Funktion befindet sich noch in der intensiven Betaphase . Es kann also damit gerechnet werden, dass Probleme auftreten und sich die Funktionalität ändert.
Dies funktioniert folgendermaßen: Wenn Sie /s
als Chat-Befehl eingeben, speichert Bedrust Ihre Konversation in ~/.config/bedrust/chats
als .json
Datei. Diese Füllung enthält eine generierte Zusammenfassung und einen Titel für die Konversation. Um die Konversation abzurufen, können Sie einfach /r
als Chat-Befehl eingeben und dann eine der gespeicherten Konversationen auswählen.
Um Ihre Konversation in HTML zu exportieren, führen Sie einfach /h
aus. Dadurch wird eine Datei mit dem Namen conversation.html
im aktuellen Verzeichnis erstellt. Ich habe noch keine Funktion implementiert, um auszuwählen, wo diese Datei gespeichert werden soll, daher ist es im Moment einfach so. (Es ist immerhin in der Beta?).
Es gibt eine wichtige Konfigurationsdatei, die im Lieferumfang von bedrust enthalten ist:
bedrust_config.ron
– speichert Konfigurationsparameter, die sich auf die Anwendung selbst beziehen.
Sie müssen sich in Ihrem Verzeichnis $HOME/.config/bedrust/
befinden. Die Anwendung warnt Sie, wenn sie nicht vorhanden sind und nicht ausgeführt werden können. Sie können sie automatisch erstellen, indem Sie bedrust --init
ausführen
Möglichkeit, Benutzereingaben einzuholen
Ein Modell auswählen können
Führen Sie ein Gespräch mit dem Model
Streamen Sie die Antworten Wort für Wort zurück
Bessere Fehlerbehandlung
Codetests
Fähigkeit, Bilder zu generieren
Mach es hübscher
Behandeln Sie lange Pasten besser
Umgang mit Bedder-Anmeldeinformationen