6 个版本
0.7.5 | 2024 年 7 月 31 日 |
---|---|
0.7.4 | 2024 年 5 月 7 日 |
0.7.3 | 2024 年 4 月 20 日 |
0.7.0 | 2024 年 3 月 31 日 |
#531 在 命令行工具
每月下载量 234 次
82KB
2K SLoC
Bedrust 🦀🧠⛅🪨
一种在 Amazon Bedrock 上调用模型的好方法。用 Rust 编写,并在 Twitch 上实时运行。
当前支持的以下模型
- Claude 3.5 Sonnet
- Claude V2
- Claude V3 Sonnet
- Claude V3 Haiku
- Llama2 70B
- Cohere Command
- Jurrasic 2 Ultra
- Titan Text Express V1
- Mistral AI 模型 (Mixtral, Mistral7b 和 Mistral Large)
入门指南
要开始使用此工具,您需要完成以下几步
获取本地配置的 AWS 凭证 ☁️
要能够与 Amazon Bedrock 交互,您需要在 Bedrust 将运行的机器上设置一组 AWS 凭证。最简单的方法是通过配置 AWS CLI。请确保安装 AWS CLI 并运行 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"
}
哦,对了,请确保您配置凭证的用户的权限可以调用 Amazon Bedrock 上的 InvokeModel
。
确保您已安装 Rust 和依赖项 🦀
这是当然的,这是一个 Rust 应用程序。最简单的方法是使用 rustup。
现在,您需要一些额外的包才能编译 bedrust。具体来说,您需要 build-essential
(或类似的)包组。根据您的操作系统和包管理器,名称可能会有所不同。
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"
本地安装
要本地安装应用程序,只需运行
cargo install bedrust
这将把编译好的二进制文件安装到您的 $CARGO_HOME/bin
目录中。如果您已正确设置 $PATH
,现在应该可以运行它。但在您做之前...
让我们初始化配置。因为 bedrust 使用两个配置文件(bedrust_config.ron
和 model_config.ron
),它们(以及一些其他资源)需要存储在您的 $HOME/.config/bedrust
目录中。现在,您可以手动完成此操作,但我们有一个为您完成此操作的功能。只需运行
bedrust --init
您将被要求选择一个默认模型。这将为您创建所有必要的文件,以便您能够使用 bedrust。除非您想要修改这些文件,否则不需要修改。
运行应用程序 🚀
最后,要运行应用程序,只需使用以下命令
bedrust -m <MODELNAME> # replacing the model name with one of the supported ones
或者,如果您希望使用默认模型(在 --init
/ 在您的配置文件中定义的模型),只需运行不带任何参数的 bedrust
。如果您没有通过传递 -m
参数来选择模型,并且您在配置文件中没有设置默认模型,则在运行过程中将被提示选择一个。
用法
Usage: bedrust [OPTIONS]
Options:
--init
-m, --model-id <MODEL_ID> [possible values: llama270b, cohere-command, claude-v2, claude-v21, claude-v3-sonnet, claude-v3-haiku, claude-v35-sonnet, jurrasic2-ultra, titan-text-express-v1, mixtral8x7b-instruct, mistral7b-instruct, mistral-large]
-c, --caption <CAPTION>
-s, --source <SOURCE>
-x
-h, --help Print help
-V, --version Print version
一旦提示输入您的问题,并按 ENTER
。🚀 要退出程序,只需在问题提示符中键入 /q
。
图像字幕
🚀 新功能:感谢 Claude V3 的多模态性,您现在可以将图像传递给这个大型语言模型。这意味着我们可以做一些有趣的事情,比如为可访问性添加图像字幕。此功能从 Bedrust 的 0.5.0
版本开始提供。
⚠️ 目前支持此功能的只有两个模型:Claude V3 Sonnet 和 Claude V3 Haiku
要使用字幕,只需传递 -c
参数,以及包含您图像的目录
bedrust -m claude-v3-sonnet -c /tmp/test-images/
这将检索支持的图像,并为它们生成字幕。最终在当前工作目录中生成一个 captions.json
文件,其中包含与图像路径相关的字幕。
以下是输出示例
[
{
"path": "/tmp/test-images/4slika.jpeg",
"caption": "A computer CPU fan cooling a circuit board with Ethernet and other ports."
},
{
"path": "/tmp/test-images/kompjuter.jpeg",
"caption": "An open circuit board with various electronic components and wires, placed in an office or workshop setting with shelves and equipment visible in the background."
},
{
"path": "/tmp/test-images/c64.jpeg",
"caption": "Vintage Commodore computer monitor displaying the Twitch logo on the screen."
}
]
您还可以通过编辑此项目的根目录中的 bedrust_config.ron
文件来自定义字幕 提示 和 支持的图像文件格式。
⚠️ 测试功能 - 源代码分析
您现在可以将 Bedrust 指向包含一些源代码的目录。这将允许您在上下文中讨论您的代码库,并且它可以为您提供代码建议、改进和进一步开发。
注意:由于这是一个测试功能,它有其局限性。例如,它无法处理非常大的代码库。并且因为它将您的整个代码库发送到上下文中,这可能会花费您更多。
bedrust --source ~/workspace/repos/your_code_repo
配置文件
bedrust 附带了两个重要的配置文件
bedrust_config.ron
- 存储与应用程序本身相关的配置参数。model_config.ron
- 存储与 LLM 相关的配置参数。例如,最大令牌、温度、top_p、top_k 等。
它们需要位于您的 $HOME/.config/bedrust/
目录中。如果它们不存在,应用程序将警告您,并且无法运行。您可以通过运行 bedrust --init
自动创建它们。
待办事项
- 获取用户输入的能力
- 能够选择模型
- 与模型进行对话
- 逐字返回响应
- 更好的错误处理
- 代码测试
- 生成图像的能力
- 让它更漂亮
- 更好地处理长粘贴
- Bedder凭据处理
依赖项
~29–42MB
~665K SLoC