#language-model #generate #text #nlp #prompt #bedrock #text-input

bin+lib hiramu-cli

Hiramu CLI 是一个用于与 AWS Bedrock 上的大型语言模型 (LLMs) 交互并基于提示生成文本的命令行界面工具

4 个版本

0.1.23 2024年4月23日
0.1.16 2024年4月21日

161机器学习 中排名

Download history 372/week @ 2024-04-16 177/week @ 2024-04-23 3/week @ 2024-04-30 21/week @ 2024-07-02

每月下载量 287

Apache-2.0

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 1x
  • sonnet:Anthropic Claude 3,Sonnet 1x
  • opus:Anthropic Claude 3,Opus 1x
  • mistral7b:Mistral 7B Instruct 0x
  • mistral8x7b:Mistral 8x7B Instruct 0x
  • mistral-large:Mistral Large

您可以使用这些别名与 -M--model 选项来指定要生成的模型。

供应商别名

Hiramu CLI 支持不同的语言模型生成提供者。以下是一些可用的提供者别名

  • bedrock:Anthropic 的 Bedrock 平台(默认值)
  • ollama:Ollama 提供者

您可以使用这些别名与 -P--provider 选项来指定要生成的提供者。当使用 ollama 提供者时,您还需要使用 -E--endpoint 选项指定端点。

示例

以下是一些演示 Hiramu CLI 用法的示例

  1. 使用默认选项提问

    hiramu-cli generate "What is the capital of France?"
    
  2. 指定模型和温度

    hiramu-cli generate "What is the meaning of life?" -M sonnet -t 0.5
    
  3. 进行交互式翻译

    hiramu-cli generate "Translate from English to Spanish: {input}" -M mistral8x7b
    
  4. 通过结合 git diff 生成发行说明

    git diff HEAD~1..HEAD | hiramu-cli generate "Summarize the changes:" -M opus
    

    git diff的输出导入Hiramu CLI以生成代码更改摘要。

  5. 使用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执行。

  6. 使用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