Удобный способ запуска моделей на Amazon Bedrock. Написано на Rust и в прямом эфире на Twitch.
НОВИНКА В 0.8.2 – БЕТА: теперь вы можете экспортировать чат в файлы HTML. (Они будут сохранены только как
conversation.html
в текущем каталоге)
На данный момент поддерживаются следующие модели:
Клод 3.5 v2 Сонет
Клод 3.5 Хайку
Клод 3.5 Сонет
Клод V2
Клод V3 Сонет
Клод V3 Хайку
Лама2 70Б
Модели LLama3.1
Сплоченная команда
Юрский период 2 Ультра
Титан Текст Экспресс V1
Модели Mistral AI (Mixtral, Mistral7b и Mistral Large 1 и 2)
Чтобы начать использовать это, вам нужно сделать несколько вещей:
Чтобы иметь возможность взаимодействовать с Amazon Bedrock, вам необходимо иметь набор учетных данных AWS на компьютере, на котором будет работать Bedrust . Самый простой способ выполнить эту настройку — настроить интерфейс командной строки AWS. Обязательно установите интерфейс командной строки AWS и запустите команду aws configure
чтобы установить свои учетные данные.
Чтобы проверить, правильно ли установлены ваши учетные данные AWS, вы можете запустить aws sts get-caller-identity
:
darko@devbox [~/workspace/projects/bedrust]: aws sts get-caller-identity {"UserId": "AIDAXXXXXXXXXXXXXXXXXX5","Account": "123456789999999","Arn": "arn:aws:iam::123456789999999:user/alan-ford"}
Ах да, убедитесь, что пользователь, чьи учетные данные вы настраиваете, имеет разрешения на InvokeModel
на Amazon Bedrock.
Что ж, это имеет смысл, это приложение на Rust . Самый простой способ начать — использовать Rustup.
Теперь вам нужны дополнительные пакеты, чтобы скомпилировать Bedrust . А именно, вам нужна группа пакетов build-essential
(или подобная). В зависимости от вашей операционной системы и менеджера пакетов имя может отличаться.
Убунту/Дебиан:
sudo apt install build-essential
Арч Линукс:
sudo pacman -S base-devel
МакОС:
xcode-select --install
Amazon Linux/Red Hat/CentOS:
yum groupinstall "Development Tools"
Чтобы установить приложение локально, просто запустите:
cargo install bedrust
Это установит скомпилированный двоичный файл в ваш каталог $CARGO_HOME/bin
. Если у вас правильно настроен $PATH
, вы сможете запустить его сейчас. Но прежде чем ты это сделаешь...
Давайте инициализируем конфигурацию. Поскольку Bedrust использует файл конфигурации ( bedrust_config.ron
), его (вместе с некоторыми другими ресурсами) необходимо хранить внутри вашего каталога $HOME/.config/bedrust
. Теперь вы можете сделать это вручную, но у нас есть возможность сделать это за вас. Просто запустите:
bedrust --init
Вам будет предложено выбрать модель по умолчанию. И это создаст все необходимые файлы, чтобы вы могли использовать Bedrust . Нет необходимости изменять эти файлы, если вы этого не хотите.
Наконец, чтобы запустить приложение, просто используйте следующую команду:
Bedrust -m <ИМЯ МОДЕЛИ> # замена названия модели на одно из поддерживаемых
Или, если вы хотите использовать модель по умолчанию (тот, который определен в --init
/ в вашем файле конфигурации), просто запустите bedrust
без каких-либо параметров. Если вы не выбрали модель, передав параметр -m
, И в вашем файле конфигурации не установлена модель по умолчанию, вам будет предложено выбрать ее во время запуска.
Инструмент командной строки для вызова моделей большого языка и работы с ними на AWS с использованием Amazon Bedrock. Использование: ржавчина [ВАРИАНТЫ] Параметры: --init -m, --model-id <MODEL_ID> [возможные значения: llama270b, llama31405b-instruct, llama3170b-instruct, llama318b-instruct, cohere-command, claude-v2, claude-v21, claude-v3-sonnet, claude-v3 -хайку, claude-v35-sonnet, claude-v352-sonnet, claude-v35-haiku, jurrasic2-ultra, titan-text-express-v1, mixtral8x7b-instruct, mistral7b-instruct, мистраль-большой, мистраль-большой2] -c, --caption <ЗАГОЛОВОК> -s, --source <ИСТОЧНИК> -х -h, --help Распечатать справку -V, --version Версия для печати
После появления запроса введите свой вопрос и нажмите ENTER
. Чтобы выйти из программы, просто введите /q
в строке вопроса.
НОВАЯ функция: благодаря мультимодальности Claude V3 теперь вы можете передавать изображения в эту большую языковую модель. Это означает, что мы можем делать некоторые забавные вещи, например изображения подписей, ради доступности. Эта функция доступна в Bedrust начиная с версии 0.5.0
.
️ В настоящее время это поддерживают только две модели: Claude V3 Sonnet и Claude V3 Haiku.
Чтобы использовать субтитры, вам просто нужно передать параметр -c
вместе с каталогом, в котором находятся ваши изображения:
постельная пыль -m claude-v3-sonnet -c /tmp/test-images/
Это позволит получить поддерживаемые изображения и создать подписи к ним. В конечном итоге создается файл captions.json
в текущем рабочем каталоге с подписями, связанными с путями к изображениям.
Вот пример вывода:
[ {"path": "/tmp/test-images/4slika.jpeg","caption": "Вентилятор процессора компьютера, охлаждающий печатную плату с Ethernet и другими портами." }, {"path": "/tmp/test-images/kompjuter.jpeg","caption": "Открытая плата с различными электронными компонентами и проводами, расположенная в офисе или мастерской, на заднем плане видны полки и оборудование. " }, {"path": "/tmp/test-images/c64.jpeg","caption": "Винтажный компьютерный монитор Commodore с логотипом Twitch на экране." } ]
Кроме того, вы можете настроить подсказку для субтитров и поддерживаемые форматы файлов изображений , отредактировав файл bedrust_config.ron
в корне этого проекта.
Теперь вы можете указать Bedrust каталог, содержащий исходный код. Это позволит вам обсудить ваш репозиторий кода в контексте, а также предоставить вам предложения по коду, улучшения и дальнейшее развитие.
Примечание. Поскольку это бета-версия функции, она имеет свои ограничения. Например, он не способен обрабатывать действительно большие базы кода. А поскольку при этом вся ваша кодовая база попадает в контекст, это может стоить вам значительно дороже.
Bedrust --source ~/workspace/repos/your_code_repo
Начиная с версии 0.8.2, вы теперь можете сохранять свои разговоры, вызывать их позже и даже экспортировать в виде красивых HTML-файлов. Эта функция все еще находится в стадии тяжелого бета-тестирования , поэтому ожидайте, что что-то сломается и функциональность изменится.
Это работает так: когда вы вводите /s
в качестве команды чата, Bedrust сохраняет ваш разговор внутри ~/.config/bedrust/chats
в виде файла .json
. Эта заливка будет содержать сгенерированное резюме и заголовок беседы. Чтобы вызвать разговор, вы можете просто ввести /r
в качестве команды чата, и вы сможете выбрать любой из сохраненных.
Чтобы экспортировать разговор в HTML, просто запустите /h
. В результате в текущем каталоге будет создан файл с именем conversation.html
. Я еще не реализовал возможность выбирать, куда сохранять этот файл, поэтому пока все так. (В конце концов, это бета-версия?).
В комплект поставки Bedrus входит один важный файл конфигурации:
bedrust_config.ron
— хранит параметры конфигурации, относящиеся к самому приложению.
Они должны находиться в вашем каталоге $HOME/.config/bedrust/
. Приложение предупредит вас, если они не существуют и не запустятся. Вы можете создать их автоматически, запустив bedrust --init
Возможность получить пользовательский ввод
Возможность выбора модели
Поговорите с моделью
Передавайте ответы слово за словом
Улучшенная обработка ошибок
Тестирование кода
Возможность генерировать изображения.
Сделай это красивее
Лучше справляйтесь с длинными пастами
Обработка учетных данных Беддера