Skip to content

Latest commit

 

History

History
106 lines (78 loc) · 2.96 KB

File metadata and controls

106 lines (78 loc) · 2.96 KB

PenSieve (A magical Pensieve based on Language Models that’s real)

Install with Pen
Pen.el on GitHubhttps://github.com/semiosis/pen.el/
Tutorialhttps://mullikine.github.io/posts/pen-el-tutorial/

PenSieve - A file system abstraction for prompting Large Language Models

PenSieve is essentially an imaginary file system based on prompting Large LMs, using Pen.el as the prompting server, or more accurately, a file system interface to prompting.

In layman’s terms, you drag and drop files representing thoughts, or similarly high- dimensional entities.

You could, for example, drag memories between chatbots, and that would influence each of their personalities.

File system units such as files and directories may also keep metadata, such as a prompting history, which is used to guide the prompting.

What goes in also affects what comes out, and may be used to train the model.

File system code
https://github.com/semiosis/pensieve

Talking to Dumbledore about the design and risks

Example use-cases

Browse the memories of a personality

  • look through their memories
  • add memories by dropping them in, and their character’s personality would change

Creating coding projects

Generating art-books

Prompt programming /without/ the programming

Creating a PenSieve

Code
https://github.com/semiosis/pen.el/blob/master/scripts/pensieve
while [ $# -gt 0 ]; do opt="$1"; case "$opt" in
    "") { shift; }; ;;
    -pf-list) {
        # Function for listing files and dirs
        pf_list_function="$2"
        shift
        shift
    }
    ;;

    -pf-gen) {
        # Function for generating file contents
        pf_gen_function="$2"
        shift
        shift
    }
    ;;

    *) break;
esac; done

: "${pf_list_function:="pf-list-subdirectories/1"}"
: "${pf_gen_function:="pf-generate-the-contents-of-a-new-file/6"}"

dir="$1"
shift

# In container
cd /root/repos/pensieve
lein run pensieve "$dir"

Creating a new PenSieve

Browsing the PenSieve

Dropping files into the PenSieve