这是一个基于 GPT-3 的实验性树状写作界面。代码正在积极开发中,因此不稳定且文档不完善。
功能
-
读取模式
- 线性故事视图
- 树状导航栏
- 编辑模式
-
树状视图
- 使用鼠标探索树状视图
- 展开和折叠节点
- 更改树状拓扑
- 原位编辑节点
-
导航
- 快捷键
- 书签
- 章节
- "已访问"状态
-
生成
- 使用 GPT-3 生成 N 个子节点
- 修改生成设置
- 逐节点更改隐藏记忆
-
文件 I/O
- 以 JSON 文件形式打开/保存树
- 在多个标签页中处理树
- 合并树
演示
哇哦,真是太棒的功能!
块多元模式
阅读此文了解块多元接口的概念性解释和演示视频。
在 loom 中如何使用
- 点击底部工具栏上的
Wavefunction
按钮。这将在右侧边栏中打开块多元接口(可拖动调整大小)。 - 在主文本框中写入初始提示。
- [可选] 在块多元接口底部的灰色输入框中写入真实延续。在真实轨迹中的块将被着色为黑色。
- 在顶部工具栏中设置模型和参数。
- 点击
Propagate
以绘制块多元图。 - 点击任何一个块以"重正化"到该块。
- 再次点击
Propagate
以从重正化的框架开始绘制未来的块多元图。 - 点击
Reset zoom
可重置缩放级别到初始位置。 - 点击
Clear
可清除块多元图。在生成新的块多元图之前请执行此操作。
快捷键
Alt 快捷键在 Mac 上对应 Command
文件
打开: o
, Control-o
以子树的形式导入 JSON: Control-Shift-O
保存: s
, Control-s
对话框
更改章节: Control-y
首选项: Control-p
生成设置: Control-Shift-P
可视化设置: Control-u
多媒体对话框: u
树信息: Control-i
节点元数据: Control+Shift+N
运行代码: Control+Shift+B
模式/显示
切换编辑/保存编辑: e
, Control-e
切换故事文本框可编辑: Control-Shift-e
切换可视化: j
, Control-j
切换底部窗格: Tab
切换侧边窗格: Alt-p
切换显示子节点: Alt-c
提升: Alt-h
取消提升: Alt-Shift-h
导航
点击前往节点: Control-shift-click
向后: period
, Return
, Control-period
向前: comma
, Control-comma
前往子节点: Right
, Control-Right
前往下一兄弟节点: Down
, Control-Down
前往父节点: Left
, Control-Left
前往上一兄弟节点: Up
, Control-Up
返回根节点: r
, Control-r
行走: w
, Control-w
前往检查点: t
保存检查点: Control-t
前往下一书签: d
, Control-d
前往上一书签: a
, Control-a
搜索祖先: Control-f
搜索树: Control-shift-f
点击以分割节点: Control-alt-click
按 ID 前往节点: Control-shift-g
组织
切换书签: b
, Control-b
切换存档节点: !
生成和记忆
生成: g
, Control-g
内联生成: Alt-i
添加记忆: Control-m
查看当前 AI 记忆: Control-Shift-m
查看节点记忆: Alt-m
编辑拓扑
删除: BackSpace
, Control-BackSpace
与父节点合并: Shift-Left
与子节点合并: Shift-Right
向上移动节点: Shift-Up
向下移动节点: Shift-Down
更改父节点: Shift-P
新建根子节点: Control-Shift-h
新建子节点: h
, Control-h
, Alt-Right
新建父节点: Alt-Left
新建兄弟节点: Alt-Down
编辑文本
切换编辑/保存编辑: Control-e
将编辑保存为新兄弟节点: Alt-e
点击编辑历史: Control-click
点击选择令牌: Alt-click
下一个反事实令牌: Alt-period
上一个反事实令牌: Alt-comma
应用反事实更改: Alt-return
输入文本: Control-bar
退出文本框: Escape
添加换行: n
, Control-n
添加空格: Control-Space
折叠/展开
折叠除子树外的所有节点: Control-colon
折叠节点: Control-question
折叠子树: Control-minus
展开子节点: Control-quotedbl
展开子树: Control-plus
视图
居中视图: l
, Control-l
重置缩放: Control-0
使用说明
Linux
-
确保已安装 tkinter
sudo apt-get install python3-tk
-
设置 python 环境(应为 >= 3.9.13)
```python3 -m venv env``` ```source env/bin/activate```
-
安装依赖
pip install -r requirements.txt
-
[可选] 设置环境变量
OPENAI_API_KEY
、GOOSEAI_API_KEY
、AI21_API_KEY
(您也可以使用设置选项)export OPENAI_API_KEY={your api key}
-
运行 main.py
-
加载 json 树
-
开始阅读 :)
Mac
conda create -n pyloom python=3.10
conda activate pyloom
pip install -r requirements-mac.txt
- 设置 OPENAI_API_KEY 环境变量
python main.py
Docker
(仅在 Linux 上测试过)
-
[可选] 编辑 Makefile 文件以添加您的 API 密钥(您也可以使用设置选项)
-
运行 make 目标
```make build``` ```make run```
-
加载 json 树
-
开始阅读 :)
使用 llama-cpp-python 进行本地推理
llama.cpp 可让您在本地运行模型,特别适用于 Mac 上的模型运行。[https://github.com/abetlen/llama-cpp-python] 提供了良好的安装和方便的 API。
设置
conda create -n llama-cpp-local python=3.10; conda activate llama-cpp-local
- 在安装
llama-cpp-python
之前,请根据这些说明设置您首选的后端。例如,要在 MPS 上进行推理:CMAKE_ARGS="-DLLAMA_METAL=on"
pip install 'llama-cpp-python[server]'
pip install huggingface-hub
- 现在您可以使用来自 Huggingface 的任何 .gguf 模型运行服务器,例如:
python3 -m llama_cpp.server --hf_model_repo_id NousResearch/Meta-Llama-3-8B-GGUF --model 'Meta-Llama-3-8B-Q4_5_M.gguf' --port 8009
推理
conda activate llama-cpp-local
并启动您的 llama-cpp-python 服务器。- 在新的终端窗口中,激活您的
pyloom
环境并运行main.py
- 在"设置 > 模型配置 > 添加模型"中输入您本地模型的配置。默认情况下,llama-cpp-port-8009 模型使用以下设置:
{
'model': 'Meta-Llama-3-8B-Q4_5_M',
'type': 'llama-cpp',
'api_base': 'http://localhost:8009/v1',
},