4 个版本
0.1.23 | 2024年4月23日 |
---|---|
0.1.16 |
|
161 在 机器学习 中排名
每月下载量 287
46KB
489 行
Hiramu CLI
Hiramu CLI 是一个用于与语言模型交互的强大命令行界面。它提供了一个无缝的方式来使用来自不同供应商的各种模型(包括 Anthropic 的 Claude(Haiku、Sonnet、Opus)、Mistral(7B、8x7B、Large)和 Ollama)提问和生成文本。
目录
功能
- 使用简单的命令行界面向语言模型提问
- 支持 Anthropic、Mistral 和 Ollama 的多个模型
- 可自定义的区域、配置文件、最大令牌、温度和模型别名选项
- 使用提示中的
{input}
占位符进行交互式输入 - 实时生成文本流
- 与其他命令行工具和数据库(例如
git diff
、DuckDB、PostgreSQL)集成
安装
要安装 Hiramu CLI,请确保您的系统上已安装 Rust。如果您还没有安装 Rust,可以遵循官方安装指南:https://rust-lang.net.cn/tools/install
安装 Rust 后,运行以下命令安装 Hiramu CLI
cargo install hiramu-cli
使用方法
要向语言模型提问,请使用 generate
命令后跟问题。您可以指定额外的选项来自定义 CLI 的行为。
hiramu-cli generate "What is the capital of France?" -r us-west-2 -p bedrock -m 100 -t 0.7 -M haiku -P bedrock
选项
-r, --region <REGION>
:要使用的区域(默认: "us-west-2")。-p, --profile <PROFILE>
:要使用的配置文件(默认值:"bedrock")。-m, --maxtoken <MAXTOKEN>
:要生成的最大令牌数(默认值:100)。-t, --temperature <TEMPERATURE>
:生成的温度(默认值:0.7)。-M, --model <MODEL>
:要使用的模型别名(默认值:"haiku")。-P, --provider <PROVIDER>
:用于生成的提供者别名(默认值:"bedrock")。-E, --endpoint <ENDPOINT>
:用于生成的提供者端点(默认值:"https://127.0.0.1:11434")。
交互式输入
Hiramu CLI 支持使用提示中的 {input}
占位符进行交互式输入。当占位符存在时,CLI 将提示您输入,该输入将在发送到语言模型之前插入到提示中。
hiramu-cli generate "Translate the following text from English to French: {input}" -M sonnet
此功能允许您在运行时向语言模型提供动态输入。
模型别名
Hiramu CLI 为不同的语言模型提供方便的别名。以下是一些可用的模型别名
haiku
:Anthropic Claude 3,Haiku 1xsonnet
:Anthropic Claude 3,Sonnet 1xopus
:Anthropic Claude 3,Opus 1xmistral7b
:Mistral 7B Instruct 0xmistral8x7b
:Mistral 8x7B Instruct 0xmistral-large
:Mistral Large
您可以使用这些别名与 -M
或 --model
选项来指定要生成的模型。
供应商别名
Hiramu CLI 支持不同的语言模型生成提供者。以下是一些可用的提供者别名
bedrock
:Anthropic 的 Bedrock 平台(默认值)ollama
:Ollama 提供者
您可以使用这些别名与 -P
或 --provider
选项来指定要生成的提供者。当使用 ollama
提供者时,您还需要使用 -E
或 --endpoint
选项指定端点。
示例
以下是一些演示 Hiramu CLI 用法的示例
-
使用默认选项提问
hiramu-cli generate "What is the capital of France?"
-
指定模型和温度
hiramu-cli generate "What is the meaning of life?" -M sonnet -t 0.5
-
进行交互式翻译
hiramu-cli generate "Translate from English to Spanish: {input}" -M mistral8x7b
-
通过结合
git diff
生成发行说明git diff HEAD~1..HEAD | hiramu-cli generate "Summarize the changes:" -M opus
将
git diff
的输出导入Hiramu CLI以生成代码更改摘要。 -
使用DuckDB从自然语言生成SQL查询
hiramu-cli generate "SQL query to find users who signed up in the last 30 days: {input}" -M mistral7b | duckdb -c -
生成的SQL查询直接导入DuckDB执行。
-
使用PostgreSQL优化SQL查询
query="SELECT * FROM orders JOIN customers ON orders.customer_id = customers.id" optimized_query=$(echo "$query" | hiramu-cli generate "Optimize this SQL query:" -M mistral-large) psql -d mydb -c "$optimized_query"
将现有的SQL查询传递给Hiramu CLI以生成优化版本,然后使用PostgreSQL执行。
请随意探索不同的提示、模型、提供者和选项,使用Hiramu CLI生成各种类型的内容。
贡献
欢迎为Hiramu CLI做出贡献!如果您遇到任何问题或对改进有建议,请打开GitHub仓库中的问题。
在提交拉取请求之前,请确保测试通过并且代码使用cargo fmt
格式化。您可以使用以下命令运行测试
hiramu-cli generate "Once upon a time, in a far-off land, there lived a brave knight named {input}. The knight embarked on a quest to..." -m 200 -M mistral-large
请随意探索不同的提示、模型和选项,使用Hiramu CLI生成各种类型的内容。
贡献
欢迎为Hiramu CLI做出贡献。如果您遇到任何问题或对改进有建议,请打开GitHub仓库中的问题。
版本
0.1.21
- 修复{input}处理问题
0.1.16
- 将
prompt
命令替换为generate
- 支持Ollama的温度和maxtoken
许可证
Hiramu CLI是开源软件,Apache 2许可证下授权。有关详细信息,请参阅LICENSE文件。
依赖关系
约20-34MB
约508K SLoC