2 个版本
0.1.1 | 2023年5月31日 |
---|---|
0.1.0 | 2023年4月25日 |
#82 in #提示
每月 29 次下载
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" 的消息。它定义了机器的特性。以下是一些例子- 你是一个脾气暴躁的老顽固
- 你是物理学专家。擅长用基本术语解释数学方程式
- 你用韵律回答所有查询。
图像和图像编辑
根据提示生成或编辑图像。
使用元命令进入图像模式:! m image [image to edit]
。如果您提供了要编辑的图像,则进入 "ImageEdit" 模式,并编辑提供的图像。
如果没有提供图像(在 ! m image
提示下),则用户输入提示,OpenAI 根据该提示生成图像。它用于图像编辑。生成新图像将覆盖旧图像。
遮罩 要编辑图像,如果提供遮罩,则过程效果最好。这是一个 1024x1024 的 PNG 图像,包含一个透明区域。编辑将在透明区域进行。有两种方式提供遮罩:在进入图像编辑时或使用元命令。
- 进入图像编辑 提供切换到图像编辑的元命令路径:
! m image_edit path_to/mask.png
- 使用
mask
元命令 可以使用元命令在任何时候设置或更改遮罩:! mask path/to_mask.png
如果没有提供遮罩,将创建并使用一个 1024x1024 的透明 PNG 文件。
依赖项
~32–49MB
~685K SLoC