commit a68048dd003bff6d749410dbd5215b64c6665e49 Author: Shishir Patil Date: Wed Oct 11 00:41:24 2023 -0700 Initial commit diff --git a/README.md b/README.md new file mode 100644 index 00000000..04d67d9a --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ +# MemGPT +By Charles Avery Packer + +Brief Introduction + +## Get Started + + diff --git a/assets/css/Highlight-Clean.css b/assets/css/Highlight-Clean.css new file mode 100644 index 00000000..185933ac --- /dev/null +++ b/assets/css/Highlight-Clean.css @@ -0,0 +1,64 @@ +.highlight-clean { + color: #313437; + background-color: #fff; + padding: 50px 0; +} + +.highlight-clean p { + color: #7d8285; +} + +.highlight-clean h2 { + font-weight: bold; + margin-bottom: 25px; + line-height: 1.5; + padding-top: 0; + margin-top: 0; + color: inherit; +} + +.highlight-clean .intro { + font-size: 16px; + max-width: 500px; + margin: 0 auto 25px; +} + +.highlight-clean .buttons { + text-align: center; +} + +.highlight-clean .buttons .btn { + padding: 16px 32px; + margin: 6px; + border: none; + background: none; + box-shadow: none; + text-shadow: none; + opacity: 0.90; + /*text-transform: uppercase;*/ + font-weight: bold; + font-size: 13px; + letter-spacing: 0.4px; + line-height: 1; + outline: none; + background-color: #ddd; +} + +.highlight-clean .buttons .btn:hover { + opacity: 1; +} + +.highlight-clean .buttons .btn:active { + transform: translateY(1px); +} + +.highlight-clean .buttons .btn-primary { + background-color: #055ada; + color: #fff; +} + +body { + font-family: 'Source Sans Pro', sans-serif; + padding-bottom: 50px; +} + diff --git a/assets/css/Team-Clean.css b/assets/css/Team-Clean.css new file mode 100644 index 00000000..d84ba7ea --- /dev/null +++ b/assets/css/Team-Clean.css @@ -0,0 +1,84 @@ +.team-clean { + color: #313437; + background-color: #fff; +} + +.team-clean p { + color: #7d8285; +} + +.team-clean h2 { + font-weight: bold; + margin-bottom: 40px; + padding-top: 40px; + color: inherit; +} + +@media (max-width:767px) { + .team-clean h2 { + margin-bottom: 25px; + padding-top: 25px; + font-size: 24px; + } +} + +.team-clean .intro { + font-size: 16px; + max-width: 500px; + margin: 0 auto; +} + +.team-clean .intro p { + margin-bottom: 0; +} + +.team-clean .people { + padding-bottom: 40px; +} + +.team-clean .item { + text-align: center; + padding-top: 50px; +} + +.team-clean .item .name { + font-weight: bold; + margin-top: 28px; + margin-bottom: 8px; + color: inherit; +} + +.team-clean .item .title { + text-transform: uppercase; + font-weight: bold; + color: #d0d0d0; + letter-spacing: 2px; + font-size: 13px; +} + +.team-clean .item .description { + font-size: 15px; + margin-top: 15px; + margin-bottom: 20px; +} + +.team-clean .item img { + max-width: 160px; +} + +.team-clean .social { + font-size: 18px; + color: #a2a8ae; +} + +.team-clean .social a { + color: inherit; + margin: 0 10px; + display: inline-block; + opacity: 0.7; +} + +.team-clean .social a:hover { + opacity: 1; +} + diff --git a/assets/css/styles.css b/assets/css/styles.css new file mode 100644 index 00000000..e69de29b diff --git a/assets/img/memgpt-system-diagram.png b/assets/img/memgpt-system-diagram.png new file mode 100644 index 00000000..fd4d3a85 Binary files /dev/null and b/assets/img/memgpt-system-diagram.png differ diff --git a/index.html b/index.html new file mode 100644 index 00000000..ed9e0713 --- /dev/null +++ b/index.html @@ -0,0 +1,134 @@ + + + + + + + + + + + MemGPT + + + + + + + + +
+
+

MemGPT: Towards An OS For LLMs

+
+

+
+
+
+

+ Charles Avery Packer +

+

+
UC Berkeley
+
+
+
+

+ +

+
+
+
+
+

Teach LLMs to manage their own memory and achieve unbounded context!

+
+
+ +
+
+

+
+
+
MemGPT system overview + In MemGPT (components shaded), a fixed-context LLM is augmented with a tiered memory system and a set of functions + that allow it to manage its own memory. + The LLM inputs the text (tokens) in main memory, and outputs text that is interpreted by a parser, + resulting either in a yield or a function call. + MemGPT uses functions to move data between main memory and disk memory. + When the LLM generates a function call, it can request immediate return of execution to chain together functions. + In the case of a yield, the LLM will not be run again until the next external event trigger + (e.g. a user message or scheduled interrupt). + +
+
+
+
+

+
+
+
+
+

Overview

+
    +
  • LLMs are increasingly being used for perpetual chats.
  • +
  • Challenge: Limited context length makes perpetual chat challenging.
  • +
  • Inspired by memory management in OS, MemGPT uses RAM (in-context), and Disk (Archival) memory to effeciently manage + the limited context length.
  • +
  • With MemGPT, we demonstrate that LLMs can be taught to manage their own memory! +
  • +
+
+
+

+
+
+
+
+

Abstract

+

+ 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. + Drawing inspiration from the hierarchical memory systems in traditional operating systems, + we introduce MemGPT (Memory-GPT). + Similar to how an operating system (OS) provides the illusion of large memory resources through + data movement between fast and slow memory, + MemGPT manages tiers of memory to effectively manage extended context within the language model's + limited context window, and utilizes interrupts to manage control flow between itself and the user. + 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 limit, and multi-session chat, where MemGPT enables + conversational agents to remember, reflect, and evolve dynamically through long-term interactions with their users. +
+

+
+
+
+ +
+
+
+
+

Citation

+ + @inproceedings{pacher2023memgpt,
+   title={MemGPT: Towards an OS for LLMs}
+   author={Packer, Charles Avery}
+   year={2023},
+ } +
+
+
+ + +