memprompt项目使用手册
1. 目录结构及介绍
memprompt项目是设计来优化GPT-3在部署后的性能,允许通过用户反馈进行调整,无需重新训练。以下是该项目的基本目录结构及其简介:
memprompt/
├── data # 存放数据文件,包括预设的提示和任务样本
│ ├── prompts # 提示文件夹,包含不同场景下的提示文本
│ └── tasks # 各类任务文件,如hin(印地语)、linguistic(语言学)、synthetic_gpt3等
├── docs # 文档资料
├── res # 结果相关文件或资源
├── results # 实验结果或分析数据
├── src # 核心源代码,包括主要功能实现
│ └── streaming # 流式处理相关代码,实现记忆辅助的流处理作业
├── .gitignore # Git忽略文件
├── CITATION.cff # 引用信息文件
├── CompletionAndChat.ipynb # 示例Notebook,模拟Python终端的交互过程
├── LICENSE # 许可证文件,遵循Apache-2.0协议
├── QueryOpenAI.ipynb # 与OpenAI API交互的Notebook
├── README.md # 项目说明文件
├── YoavsPythonPrompts.ipynb # 另一个示例Notebook,可能涉及特定Python提示
├── requirements.txt # 项目依赖库列表
2. 项目启动文件介绍
虽然项目中没有明确标记为“启动”文件,但运行项目的关键入口位于src
目录下,尤其是用于执行记忆辅助流处理的脚本。两个关键脚本如下:
- stream_with_memory.py: 使用记忆辅助的流处理作业,该脚本是项目的核心之一,它允许基于用户反馈动态修改模型的行为,通过指定任务文件、任务ID等参数启动。
- stream_with_growing_prompt.py: 类似于前一个脚本,但其特点是随着作业的进展,提示会不断增长。
启动命令一般形式如下,以stream_with_memory.py
为例:
python src/streaming/stream_with_memory.py \
--task_file tasks/linguistic/tasks_10.jsonl \
--job_id linguistic \
--getting_clarification_probability 0.5 \
--memory_type closest \
...
3. 项目的配置文件介绍
memprompt项目中的配置更多是通过命令行参数来设定的,而不是传统意义上的单独配置文件。尽管如此,项目的运行依赖于环境变量OPENAI_API_KEY
,这是必要的配置项,需在运行任何作业之前设置。此外,依赖关系配置在requirements.txt
文件中,确保项目运行所需的第三方库版本得到满足。
对于特定的记忆类型或路径(如模型检查点路径、提示文件路径)等,这些被视为参数传给上述提到的脚本,而非静态配置文件中定义。因此,项目操作的配置化主要通过脚本调用时提供的参数完成。
请注意,要完全利用此项目,还需了解每个脚本内定义的参数,并根据实际需求调整这些命令行参数。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考