Una forma sencilla de invocar modelos en Amazon Bedrock. Escrito en Rust y EN VIVO en Twitch.
NUEVO A PARTIR DE 0.8.2 - BETA: ahora puede exportar su chat a archivos HTML. (Solo los guardará como
conversation.html
en el directorio actual)
Actualmente soporta los siguientes modelos:
Claude 3.5 v2 Soneto
Claude 3.5 Haiku
Soneto de Claude 3.5
claudio v2
Soneto de Claude V3
Claude V3 Haiku
Llama2 70B
Modelos Llama3.1
Comando coherente
Jurásico 2 Ultra
Titán texto expreso V1
Modelos Mistral AI (Mixtral, Mistral7b y Mistral Large 1 y 2)
Para comenzar a usar esto, debes hacer algunas cosas:
Para poder interactuar con Amazon Bedrock, necesita tener un conjunto de credenciales de AWS en la máquina en la que se ejecutará Bedrust . La forma más sencilla de configurar esto es configurando la CLI de AWS. Asegúrese de instalar AWS CLI y ejecutar el comando aws configure
para configurar sus credenciales.
Para verificar si tiene sus credenciales de AWS configuradas correctamente, puede ejecutar 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"}
Ah, sí, asegúrese de que el usuario cuyas credenciales configure tenga permisos para InvokeModel
en Amazon Bedrock.
Bueno, eso tiene sentido, esta es una aplicación Rust . La forma más sencilla de empezar es utilizando Rustup.
Ahora necesitas algunos paquetes adicionales para poder compilar bedrust . Es decir, necesita el grupo de paquetes build-essential
(o similar). Dependiendo de su sistema operativo y administrador de paquetes, el nombre puede diferir.
Ubuntu/Debian:
sudo apt install build-essential
Arco Linux:
sudo pacman -S base-devel
Mac OS:
xcode-select --install
Amazon Linux/Red Hat/CentOS:
yum groupinstall "Development Tools"
Para instalar la aplicación localmente, simplemente ejecute:
cargo install bedrust
Esto instalará el binario compilado en su directorio $CARGO_HOME/bin
. Si tiene $PATH
configurado correctamente, debería poder ejecutarlo ahora. Pero antes de hacerlo...
Inicialicemos la configuración. Debido a que bedrust usa un archivo de configuración ( bedrust_config.ron
), este (junto con algunos otros recursos) debe almacenarse dentro de su directorio $HOME/.config/bedrust
. Ahora puedes hacer esto manualmente, pero tenemos una función para hacerlo por ti. Simplemente ejecuta:
bedrust --init
Se le pedirá que elija un modelo predeterminado. Y esto creará todos los archivos necesarios para que puedas utilizar Bedrust . No es necesario modificar estos archivos, a menos que así lo desee.
Finalmente, para ejecutar la aplicación basta con utilizar el siguiente comando:
bedrust -m <MODELNAME> # reemplazando el nombre del modelo con uno de los admitidos
O si desea utilizar el modelo predeterminado (el definido durante --init
/ en su archivo de configuración), simplemente ejecute bedrust
sin ningún parámetro. Si no selecciona un modelo pasando el parámetro -m
Y no tiene un modelo predeterminado configurado en su archivo de configuración, se le pedirá que elija uno durante la ejecución.
Una herramienta de línea de comandos para invocar y trabajar con modelos de lenguaje grande en AWS, utilizando Amazon Bedrock Uso: óxido de cama [OPCIONES] Opciones: --inicio -m, --model-id <MODEL_ID> [valores posibles: llama270b, llama31405b-instruct, llama3170b-instruct, llama318b-instruct, cohere-command, claude-v2, claude-v21, claude-v3-sonnet, claude-v3 -haiku, claude-v35-soneto, claude-v352-soneto, claude-v35-haiku, jurrasic2-ultra, titan-text-express-v1, mixtral8x7b-instruct, mistral7b-instruct, mistral-large, mistral-large2] -c, --caption <TÍTULO> -s, --source <FUENTE> -incógnita -h, --help Imprimir ayuda -V, --version Versión para imprimir
Una vez que se le solicite, ingrese su pregunta y presione ENTER
. Para salir del programa, simplemente escriba /q
en el mensaje de preguntas.
NUEVA característica: gracias a la multimodalidad de Claude V3, ahora puede pasar imágenes a este modelo de lenguaje grande. Esto significa que podemos hacer algunas cosas divertidas, como imágenes de subtítulos, por razones de accesibilidad. Esta característica está disponible en Bedrust desde la versión 0.5.0
.
️ Actualmente, los únicos dos modelos que admiten esto son: Claude V3 Sonnet y Claude V3 Haiku.
Para usar subtítulos solo necesitas pasarle el parámetro -c
, junto con el directorio donde tienes tus imágenes:
óxido de cama -m claude-v3-sonnet -c /tmp/test-images/
Esto recuperará las imágenes compatibles y generará títulos para ellas. En última instancia, se produce un archivo captions.json
en el directorio de trabajo actual con los títulos conectados a las rutas de las imágenes.
A continuación se muestra un ejemplo del resultado:
[ {"path": "/tmp/test-images/4slika.jpeg","caption": "Un ventilador de CPU de computadora que enfría una placa de circuito con Ethernet y otros puertos." }, {"path": "/tmp/test-images/kompjuter.jpeg","caption": "Una placa de circuito abierto con varios componentes electrónicos y cables, colocada en una oficina o taller con estantes y equipos visibles al fondo. " }, {"path": "/tmp/test-images/c64.jpeg","caption": "Monitor de computadora Commodore antiguo que muestra el logotipo de Twitch en la pantalla." } ]
Además, puede personalizar el mensaje de subtítulos y los formatos de archivos de imagen admitidos editando el archivo bedrust_config.ron
en la raíz de este proyecto.
Ahora puede apuntar a Bedrust a un directorio que contenga algún código fuente. Esto le permitirá analizar su repositorio de código en contexto y puede brindarle sugerencias de código, mejoras y desarrollo adicional.
Nota: Dado que se trata de una función beta, tiene sus limitaciones. Por ejemplo, no es capaz de manejar bases de código realmente grandes. Y debido a que envía toda su base de código al contexto, puede costarle mucho más.
bedrust --fuente ~/workspace/repos/your_code_repo
A partir de la versión 0.8.2, ahora puede guardar sus conversaciones, recuperarlas más adelante e incluso exportarlas como bonitos archivos HTML. Esta función aún se encuentra en fase beta , por lo que se espera que algunas cosas se estropeen y que la funcionalidad cambie.
La forma en que esto funciona es que, cuando ingresas /s
como comando de chat, Bedrust guarda tu conversación dentro de ~/.config/bedrust/chats
como un archivo .json
. Este relleno contendrá un resumen generado y un título para la conversación. Para recuperar la conversación, simplemente escriba /r
como comando de chat y podrá seleccionar cualquiera de las guardadas.
Para exportar su conversación a HTML, simplemente ejecute /h
. Esto creará un archivo llamado conversation.html
en el directorio actual. Todavía no he implementado una función para elegir dónde guardar este archivo, así que por el momento es así. (¿Después de todo está en versión beta?).
Hay un archivo de configuración importante que se envía con bedrust :
bedrust_config.ron
: almacena parámetros de configuración relacionados con la propia aplicación.
Deben estar en su directorio $HOME/.config/bedrust/
. La aplicación le avisará si no existen y no se ejecuta. Puedes crearlos automáticamente ejecutando bedrust --init
Capacidad para obtener información del usuario
Poder seleccionar un modelo
Tener una conversación con el modelo.
Transmita las respuestas palabra por palabra
Mejor manejo de errores
Prueba de código
Capacidad para generar imágenes.
Hazlo más bonito
Maneja mejor las pastas largas
Manejo de credenciales de Bedder