0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
–
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
–
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
/
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
/
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
ANNO·​TRICESIMO·​DIE·​DVCENTESIMO·​NONAGESIMO·​OCTAVO·​VITÆ·​POVYA
Making @karypress

I wanted to have system for typesetting that had my notations from AnnotationsKit , without me having to create the whole typesetting engine. So I thought, given the new superpowers of CSS Houdini Paint, I can achieve much of what I want and let the web do the heavy lifting. So I first tried to create an electron app like iA Writer, then realized man I have vscode, I can only make the compiler. Made it, and it now does so much like compiling headers into wave flags and putting the end SVG into the code, then I brought the huge beautiful curly brackets of AnnotationsKit into the system and put them before my lists to show where the list starts and ends (not to mention, I brought the spirograph rosette lists two)

Better Border Spacing in @karypress

One amazing thing about web is the negative margins. Whoever made them was a genius. Now, with this, I made the lists have a negative space equals to the width of the curly bracket + the spacing of the bracket and the list. This made the list be in its natural place in the document and the bracket to become a hugely nice decoration.

CSS Houdini Paint Quote Borders for @karypress

Once done with the basics in L'imprimerie de Kary , I did something I wanted to do for as long as I had made the rosette to paint the quote border myself. And doing so I could put the rosette in between and change the shape of border ends from lozenges to sparkle diamonds.

Composition Book Titles In @karypress

It is not my template without a composition book title. But then I was routing for a very old french / early American style. So, I changed the type in the heading to the amazing Zapfino, made the document have EB Garamond as the typeface, a three line drop caps, and the first line after it being rendered as small-caps.

Quotes & Excerpts

Large language models (LLMs) have revolutionized AI, but are constrained by limited context windows, hindering their utility in tasks like extended conversations and document analysis. To enable using context beyond limited context windows, we propose virtual context management, a technique drawing inspiration from hierarchical memory systems in traditional operating systems which provide the illusion of an extended virtual memory via paging between physical memory and disk. Using this technique, we introduce MemGPT (MemoryGPT), a system that intelligently manages different storage tiers in order to effectively provide extended context within the LLM’s limited context window. We evaluate our OS-inspired design in two domains where the limited context windows of modern LLMs severely handicaps their performance: document analysis, where MemGPT is able to analyze large documents that far exceed the underlying LLM’s context window, and multi-session chat, where MemGPT can create conversational agents that remember, reflect, and evolve dynamically through long-term interactions with their users. We release MemGPT code and data for our experiments at https://research.memgpt.ai.

In MemGPT, a fixed-context LLM processor is augmented with a hierarchical memory system and functions that let it manage its own memory. The LLM’s prompt tokens (inputs), or main context, consist of the system instructions, working context, and a FIFO queue. The LLM completion tokens (outputs) are interpreted as function calls by the function executor. MemGPT uses functions to move data between main context and external context (the archival and recall storage databases). The LLM can request immediate follow-up LLM inference to chain function calls together by generating a special keyword argument (request_heartbeat=true) in its output; function chaining is what allows MemGPT to perform multi-step retrieval to answer user queries.

MemGPT’s OS-inspired multi-level memory architecture delineates between two primary memory types: main context (analogous to main memory/physical memory/RAM) and external context (analogous to disk memory/disk storage). Main context consists of the LLM prompt tokens—anything in main context is considered in-context and can be accessed by the LLM processor during inference. External context refers to any information that is held outside of the LLMs fixed context window. This out-of-context data must always be explicitly moved into main context in order for it to be passed to the LLM processor during inference. MemGPT provides function calls that the LLM processor to manage its own memory without any user intervention.

The prompt tokens in MemGPT are split into three contiguous sections: the system instructions, working context, and FIFO Queue. The system instructions are read-only (static) and contain information on the MemGPT control flow, the intended usage of the different memory levels, and instructions on how to use the MemGPT functions (e.g. how to retrieve out-of-context data). Working context is a fixed-size read/write block of unstructured text, writeable only via MemGPT function calls. In conversational settings, working context is intended to be used to store key facts, preferences, and other important information about the user and the persona the agent is adopting, allowing the agent to converse fluently with the user. The FIFO queue stores a rolling history of messages, including messages between the agent and user, as well as system messages (e.g. memory warnings) and function call inputs and outputs. The first index in the FIFO queue stores a system message containing a recursive summary of messages that have been evicted from the queue.

The queue manager manages messages in recall storage and the FIFO queue. When a new message is received by the system, the queue manager appends the incoming messages to the FIFO queue, concatenates the prompt tokens and triggers the LLM inference to generate LLM output (the completion tokens). The queue manager writes both the incoming message and the generated LLM output to recall storage (the MemGPT message database). When messages in recall storage are retrieved via a MemGPT function call, the queue manager appends them to the back of the queue to reinsert them into the LLM’s context window.

The queue manager is also responsible for controlling context overflow via a queue eviction policy. When the prompt tokens exceed the ‘warning token count‘ of the underlying LLM’s context window (e.g. 70% of the context window), the queue manager inserts a system message into the queue warning the LLM of an impending queue eviction (a ‘memory pressure‘ warning) to allow the LLM to use MemGPT functions to store important information contained in the FIFO queue to working context or archival storage (a read/write database storing arbitrary length text objects). When the prompt tokens exceed the ‘flush token count’ (e.g. 100% of the context window), the queue manager flushes the queue to free up space in the context window: the queue manager evicts a specific count of messages (e.g. 50% of the context window), generates a new recursive summary using the existing recursive summary and evicted messages. Once the queue is flushed, the evicted messages are no longer in-context and immediately viewable to the LLM, however they are stored indefinitely in recall storage and readable via MemGPT function calls.

During each inference cycle, LLM processor takes main context (concatenated into a single string) as input, and generates an output string. This output string is parsed by MemGPT to ensure correctness, and if the parser validates the function arguments the function is executed. The results, including any runtime errors that occur (e.g. trying to add to main context when it is already at maximum capacity), are then fed back to the processor by MemGPT. This feedback loop enables the system to learn from its actions and adjust its behavior accordingly. Awareness of context limits is a key aspect in making the self-editing mechanism work effectively, to this end MemGPT prompts the processor with warnings regarding token limitations to guide its memory management decisions. Additionally, our memory retrieval mechanisms are designed to be cognizant of these token constraints and implement pagination to prevent retrieval calls from overflowing the context window.

This is a test quote.

TEST AUTHOR

The Sovetsky Soyuz-class battleships (Project 23, Russian: Советский Союз, ‘Soviet Union’), also known as “Stalin’s Republics”, were a class of battleships begun by the Soviet Union in the late 1930s but never brought into service. They were designed in response to the Bismarck-class battleships being built by Germany.

Day's Context
Nick Leng - Lonely Shade of Blue (Acoustic) Patrick Stewart Is Hilarious When He's Not Playing Captain Picard The Inventor's Wife - SNL Counterblast
Written byMaestro McLuhan
&Harley Parker
Creative SchoolsThe Grassroots Revolution That's Transforming Education
Written byKen Robinson
&Lou Aronica
Leonardo Da Vinci
Written byWalter Isaacson
Project Management for DummiesSecond Edition
Written byNick Graham
RachmaninoffComposer, Pianist, Conductor
Written byBarrie Martyn
The Structure of Scientific Revolutions
Written byThomas Kuhn
Tools for ThoughtThe History and Future of Mind-Expanding Technology
Written byHoward Rheingold
Introducing Chomsky2nd Edition
Written byJohn Maher
Absolutely on MusicConversations
Written byHaruki Murakami
Year 30, day 298 of Pouya's Life AnnotationsKitworked on(Me, AnnotationsKit) AnnotationsKitworked on(Me, AnnotationsKit) L'imprimerie de Karyworked on(Me, L'imprimerie de Kary) Patoo figlia di ser Suzi da JordanKnown as Patoo Kamwa di ser Patoo da JordanKnown as Kamwa Patoo figlia di ser Suzi da JordanKnown as Patoo