#ai #openai-api #tui #openai #gpt #command-line #api-wrapper

bin+lib ja

ja (just ask) 是一个小型 CLI / TUI 应用程序,允许您使用 AI 工具

25 个版本

新版本 0.1.23 2024 年 8 月 20 日
0.1.20 2024 年 7 月 23 日
0.1.10 2024 年 3 月 12 日
0.1.5 2023 年 11 月 7 日
0.1.2 2023 年 5 月 9 日

1263命令行工具

Download history 8/week @ 2024-04-29 8/week @ 2024-05-20 193/week @ 2024-06-03 206/week @ 2024-06-10 10/week @ 2024-06-17 126/week @ 2024-06-24 22/week @ 2024-07-01 280/week @ 2024-07-08 127/week @ 2024-07-15 143/week @ 2024-07-22 127/week @ 2024-07-29 146/week @ 2024-08-05 11/week @ 2024-08-12

每月下载量 428

MIT 许可证

28KB
347

ja (just ask) 是一个小型 CLI 应用程序,允许您使用 AI 工具

目前它只是围绕 openAI API 的另一个包装器

交互式运行

ja

demo

命令行参数

ja (just ask) is a small CLI / TUI app that allows you to work with AI tools

Usage: ja [OPTIONS] [-- <MESSAGE>...] [COMMAND]

Commands:
  chat  default command (can be omitted)
  logs  
  help  Print this message or the help of the given subcommand(s)

Arguments:
  [MESSAGE]...
          

Options:
  -m, --model <MODEL>
          ID of the model to use

          Possible values:
          - gpt-3.5-turbo:          alias 3.5 (default - because it's fast and cheap)
          - gpt-3.5-turbo-0301
          - gpt-3.5-turbo-0613
          - gpt-3.5-turbo-1106
          - gpt-3.5-turbo-16k:      alias 3.5-16k
          - gpt-3.5-turbo-16k-0613
          - gpt-4:                  alias 4
          - gpt-4-0314
          - gpt-4-0613
          - gpt-4-1106-preview
          - gpt-4-32k:              alias 4-32k
          - gpt-4-32k-0314
          - gpt-4-32k-0613

  -t, --temperature <TEMPERATURE>
          Sampling temperature

  -p, --top-p <TOP_P>
          Probability mass percentage

  -n, --n <N>
          Number of choices to generate for each input message

  -s, --stream <STREAM>
          Stream the resultt of the API call
          
          [possible values: true, false]

      --stop <STOP>
          Up to 4 sequences where the API will stop generating further tokens

  -c, --max-tokens <MAX_TOKENS>
          The maximum number of tokens to generate in the chat completion

      --presence-penalty <PRESENCE_PENALTY>
          Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far

      --frequency-penalty <FREQUENCY_PENALTY>
          Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far

  -u, --user <USER>
          A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse

  -i, --input <INPUT>
          Input file

  -o, --output <OUTPUT>
          Output file

      --system <SYSTEM>
          System message

  -v, --verbose
          Show verbose output

  -h, --help
          Print help (see a summary with '-h')

  -V, --version
          Print version

示例用法

直接提供命令行参数

$ ja -- hello
assistant: Hello! How can I assist you today?

通过管道提供输入

$ echo "hello" | ja
assistant: Hello! How can I assist you today?

待办事项

没有特定的顺序,一些想法

  • 将日志存储在缓存目录中(使用 --verbose 查看文件名)
  • 从 stdin 接收输入
  • 如果命令行或 stdin 中没有提供输入,则在终端提示输入
  • 聊天模式。不仅仅是单次对话,而是多个(尽管已经有许多 ChatGPT 风格的应用程序了)
  • 在输出中突出显示代码语法
  • 添加 TUI 模式(使用 ratatui
  • 历史管理:允许用户查看、搜索和管理他们的对话历史,使其更容易参考之前的交互。
  • 可自定义的输出格式:提供选项供用户自定义输出格式,例如纯文本、JSON,甚至 HTML,以满足他们的需求。
  • 速率限制和用量监控:添加功能以监控 API 用量并执行速率限制,帮助用户避免意外成本或 API 限制。
  • 支持其他 OpenAI 模型:扩展应用程序以支持其他 OpenAI 模型,为用户提供更多生成内容的选择。
  • 文本到语音集成:集成文本到语音功能,允许用户收听 AI 生成的响应而不是阅读它们。
  • 自定义系统消息。可自定义 AI 行为:允许用户调整 AI 的行为
  • 模板消息

依赖项

~12–27MB
~359K SLoC