diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml deleted file mode 100644 index c054da34..00000000 --- a/.github/workflows/jekyll-gh-pages.yml +++ /dev/null @@ -1,51 +0,0 @@ -# Sample workflow for building and deploying a Jekyll site to GitHub Pages -name: Deploy Jekyll with GitHub Pages dependencies preinstalled - -on: - # Runs on pushes targeting the default branch - push: - branches: ["gh-pages"] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages -permissions: - contents: read - pages: write - id-token: write - -# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. -# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. -concurrency: - group: "pages" - cancel-in-progress: false - -jobs: - # Build job - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Setup Pages - uses: actions/configure-pages@v3 - - name: Build with Jekyll - uses: actions/jekyll-build-pages@v1 - with: - source: ./ - destination: ./_site - - name: Upload artifact - uses: actions/upload-pages-artifact@v2 - - # Deployment job - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - needs: build - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v2 diff --git a/README.md b/README.md deleted file mode 100644 index 9abaf6b3..00000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -# MemGPT diff --git a/assets/css/Highlight-Clean.css b/assets/css/Highlight-Clean.css deleted file mode 100644 index 185933ac..00000000 --- a/assets/css/Highlight-Clean.css +++ /dev/null @@ -1,64 +0,0 @@ -.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 deleted file mode 100644 index d84ba7ea..00000000 --- a/assets/css/Team-Clean.css +++ /dev/null @@ -1,84 +0,0 @@ -.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 deleted file mode 100644 index e69de29b..00000000 diff --git a/assets/img/memgpt-system-diagram.png b/assets/img/memgpt-system-diagram.png deleted file mode 100644 index 6bff4729..00000000 Binary files a/assets/img/memgpt-system-diagram.png and /dev/null differ diff --git a/index.html b/index.html deleted file mode 100644 index c82fe0ac..00000000 --- a/index.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - - - MemGPT - - - - - - - - -
-
-

MemGPT: Towards LLMs as Operating Systems

-
-

-
- -
-

-
- Paper - Discord - GitHub -
-

-
-
-
-
-

Teach LLMs to manage their own memory for unbounded context!

-
-
- -
-
-

-
-
-
MemGPT system overview - - In MemGPT, a fixed-context LLM processor is augmented with a tiered memory system and a set of functions that allow it to manage its own memory. - Main context is the (fixed-length) LLM input. - MemGPT parses the LLM text ouputs at each processing cycle, and either yields control or executes a function call, which can be used to move data between main and external context. - 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
  • -
  • Limited context lengths makes perpetual chat challenging
  • -
  • MemGPT manages a virtual context (inspired by virtual memory in operating systems) to create unbounded LLM context
  • -
  • 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. 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 that provide the appearance of large memory resources through data movement between fast and slow memory. Using this technique, we introduce MemGPT (Memory-GPT), a system that intelligently manages different memory tiers in order to effectively provide extended context within the LLM'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 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://memgpt.ai. -
-

-
-
-
- -
-
-
-
-

Citation

- - @inproceedings{packer2023memgpt,
-   title={{MemGPT}: Towards LLMs as Operating Systems},
-   author={Packer, Charles and Fang, Vivian and Patil, Shishir G.
-   and Lin, Kevin and Wooders, Sarah and Gonzalez, Joseph E.},
-   year={2023}
- } -
-
-
- - -