#语言模型 #openai #命令行界面 #图像 #提示 #llm #文本

bin+lib llm-rs

一个带有命令行界面的库,用于利用大型语言模型

2 个版本

0.1.1 2023年5月31日
0.1.0 2023年4月25日

#82 in #提示

每月 29 次下载

GPL-3.0-only

2.5MB
2K SLoC

与大型语言模型交互的包

仅与 OpenAI 的语言模型 交互

命令行界面 cli

有一个库暴露了各种端点,以及一个命令行二进制文件 (cli) 来使用它

使用方法:cargo run --bin cli -- --help

Command line argument definitions

Usage: cli [OPTIONS]

Options:
  -m, --model <MODEL>                  The model to use [default: text-davinci-003]
  -t, --max-tokens <MAX_TOKENS>        Maximum tokens to return [default: 2000]
  -T, --temperature <TEMPERATURE>      Temperature for the model [default: 0.9]
      --api-key <API_KEY>              The secret key.  [Default: environment variable `OPENAI_API_KEY`]
  -d, --mode <MODE>                    The initial mode (API endpoint) [default: completions]
  -r, --record-file <RECORD_FILE>      The file name that prompts and replies are recorded in [default: reply.txt]
  -p, --system-prompt <SYSTEM_PROMPT>  The system prompt sent to the chat model
  -h, --help                           Print help
  -V, --version                        Print version

当程序运行时,在 ">" 处输入提示。

通常输入的文本会发送到 LLM。

以 "! " 开头的文本是发送到系统的命令。

命令行界面

有一个 cli 可以用来测试 API。

元命令列表

影响程序性能的元命令以一个 ! 字符为前缀,并且是

命令 结果
! p 显示设置
! md 显示所有可用的模型
! ms 更改当前模型
! ml 列出模式 切换模式 (API 端点)
! v 设置详细程度
! k 设置完成的最大令牌数
! t 设置完成时的温度
! sp 设置系统提示 (在 ! cc 后)
! ci 清除图像遮罩 设置图像编辑模式中使用的遮罩。一个 1024x1024 的透明遮罩 PNG 文件
! a 转录的音频文件
! ci 清除存储用于编辑的图像
! f 列出服务器上存储的文件
! fu 上传用于微调的数据文件
! fd 删除文件
! fi 获取文件信息
! fc [目标文件] 获取文件的全部内容
! fl path 的内容与 name 关联,以便在提示中使用:{name}
! dx 显示上下文 (用于聊天)
! cx 清除上下文
! sx 将上下文保存到指定路径的文件中
! rx 从指定路径的文件中恢复上下文
! ? 此文本

C-q 或 C-c 退出。

特性

  • 保存和恢复聊天上下文 ! sx <path>, ! rx <path> 目前尚未保存系统提示。
  • 在提示中包含文件内容 ! fl <name> <path> 然后 "总结 {name}"
  • 显示聊天会话的成本 它以美分计算,是一个高估。
  • 命令历史rustyline 提供

模式

LLMs 可以在不同的模式下使用。每个模式对应一个 API 端点。

提示的含义随模式而变化。

自动完成

  • 每个提示都是独立的
  • 温度非常重要。
  • 最大令牌数影响回复的长度

聊天

  • 提示在对话中被考虑。
  • 切换到聊天模式时,提供 "系统" 提示。这是一个在对话开始时将 role 设置为 "system" 的消息。它定义了机器的特性。以下是一些例子
    • 你是一个脾气暴躁的老顽固
    • 你是物理学专家。擅长用基本术语解释数学方程式
    • 你用韵律回答所有查询。

图像和图像编辑

根据提示生成或编辑图像。

Lolipop clown

使用元命令进入图像模式:! m image [image to edit]。如果您提供了要编辑的图像,则进入 "ImageEdit" 模式,并编辑提供的图像。

如果没有提供图像(在 ! m image 提示下),则用户输入提示,OpenAI 根据该提示生成图像。它用于图像编辑。生成新图像将覆盖旧图像。

遮罩 要编辑图像,如果提供遮罩,则过程效果最好。这是一个 1024x1024 的 PNG 图像,包含一个透明区域。编辑将在透明区域进行。有两种方式提供遮罩:在进入图像编辑时或使用元命令。

  1. 进入图像编辑 提供切换到图像编辑的元命令路径:! m image_edit path_to/mask.png
  2. 使用 mask 元命令 可以使用元命令在任何时候设置或更改遮罩:! mask path/to_mask.png

如果没有提供遮罩,将创建并使用一个 1024x1024 的透明 PNG 文件。

依赖项

~32–49MB
~685K SLoC