Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[issue in need of revisiting] Retrieval Augmentation / Memory #3536

Closed
8 of 19 tasks
Pwuts opened this issue Apr 29, 2023 · 12 comments · Fixed by #4208
Closed
8 of 19 tasks

[issue in need of revisiting] Retrieval Augmentation / Memory #3536

Pwuts opened this issue Apr 29, 2023 · 12 comments · Fixed by #4208
Assignees
Labels
AI efficacy architecture Topics related to package and system architecture function: memory function: process text high priority meta Meta-issue about a topic that multiple issues already exist for Stale

Comments

@Pwuts
Copy link
Member

Pwuts commented Apr 29, 2023

🚧 Actual state of work in progress

In order to effectively utilize RAG for long-term memory in AutoGPT, we need to find or create data points during the think-execute cycle which we can use to query a vector DB and enrich the context. Our current vision is that the best way to realize these data points is to implement structured planning/task management. This is tracked in #4107.

Problem

Vector memory isn't used effectively.

Related proposals

Related issues (need deduplication)

🔭 Primary objectives

  • Robust and reliable memorization routines for all relevant types of content 🏗️ 1+3
    This covers all processes, functions and pipelines involved in creating memories. We need the content of the memory to be of high quality to allow effective memory querying and to maximize the added value of having these memories in the first place.
    TL;DR: garbage in, garbage out -> what goes in must be focused towards relevance and subsequent use.

  • Good memory search/retrieval based on relevance 🏗️ 1
    For a given query (e.g. a prompt or question), we need to be able to find the most relevant memories.

    Must be implemented separately for each memory backend provider:

    • Milvus

    (The other currently implemented providers are not in this list because they may be moved to plugins.)

  • Effective LLM context provisioning from memory 🏗️ 2
    Once we have an effective system to store and retrieve memories, we can hook this into the agent loop. The goal is to provide the LLM with focused, useful information when it is needed or useful for the next step of a given task.

    • Determine what context data we can best use to find relevant memories. This is non-trivial because we are looking for information that is relevant to the next step before that step has been specified.

🏗️ Pull requests

  1. Vector memory revamp (part 1: refactoring) #4208
    Applies refactoring and restructuring to make way for bigger improvements to the memory system
  2. Agent loop v2: Planning & Task Management (part 1: refactoring) #4799
    Restructures the Agent to make extension and modification easier
  3. [to be created], implements effective use of available memory in the agent loop
  4. [to be created], adds memorization routines for more content types
  5. [to be created], adds visualizations for functionality involving embeddings

🛠️ Secondary todo's

  • Refactoring 🏗️ 1
  • Improving text summarization 🏗️ 1
  • Implementing code summarization/description/search 🏗️ 3
    (see also Code files under 🔭 Primary objectives)

✨ Tertiary todo's

  • Visualizations 🏗️ 4
    • Embeddings
    • Similarities
    • Memory state (graph?)

📝 Drawing boards

These boards contain drafts, concepts and considerations that form the basis of this subproject. Feel free to comment on them if you have ideas/proposals to improve the workflows or schematics.
If you are curious and have questions, please ask those on Discord.

Related

🚨 Please no discussion in this thread 🚨

This is a collection issue, intended to collect insights, resources and record progress. If you want to join the discussion on this topic, please do so in the Discord.

@Pwuts Pwuts converted this from a draft issue Apr 29, 2023
@Pwuts Pwuts added high priority function: memory AI efficacy architecture Topics related to package and system architecture labels Apr 29, 2023
@Pwuts Pwuts added this to the v0.4.0 Release milestone Apr 29, 2023
@Pwuts
Copy link
Member Author

Pwuts commented Apr 29, 2023

@Pwuts Pwuts changed the title Rework the vector memory system Rework the memory system Apr 29, 2023
@Boostrix Boostrix mentioned this issue May 9, 2023
@Pwuts Pwuts linked a pull request May 15, 2023 that will close this issue
17 tasks
@github-project-automation github-project-automation bot moved this from In Progress to Done in AutoGPT Roadmap May 25, 2023
@Pwuts Pwuts reopened this May 25, 2023
@Pwuts Pwuts moved this from Done to In Progress in AutoGPT Roadmap May 25, 2023
@Wladastic
Copy link
Contributor

I will tinker with this shortly:
#4467

@W3Warp
Copy link

W3Warp commented May 30, 2023

Sorry I am new to this, do I post this here or somewhere else?
W3Warp#4 (comment)

@Pwuts
Copy link
Member Author

Pwuts commented May 31, 2023

@W3Warp depends what you want to achieve

@W3Warp
Copy link

W3Warp commented May 31, 2023

@W3Warp depends what you want to achieve

Help with the issue.

@Pwuts Pwuts changed the title Rework the memory system Retrieval augmentation Jun 4, 2023
@Pwuts Pwuts changed the title Retrieval augmentation Retrieval Augmentation - Reworking the Memory System Jun 4, 2023
This was referenced Jun 14, 2023
@collijk collijk mentioned this issue Jun 22, 2023
@p-i- p-i- removed their assignment Jul 24, 2023
@Pwuts Pwuts mentioned this issue Sep 7, 2023
5 tasks
@Pwuts Pwuts moved this to 📋 Backlog in AutoGPT development kanban Sep 10, 2023
@Pwuts Pwuts changed the title Retrieval Augmentation - Reworking the Memory System [issue in need of revisiting] Retrieval Augmentation / Memory Sep 10, 2023
@github-actions
Copy link
Contributor

This issue has automatically been marked as stale because it has not had any activity in the last 50 days. You can unstale it by commenting or removing the label. Otherwise, this issue will be closed in 10 days.

@github-actions github-actions bot added the Stale label Oct 31, 2023
Copy link
Contributor

This issue was closed automatically because it has been stale for 10 days with no activity.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Nov 10, 2023
@github-project-automation github-project-automation bot moved this from In Progress to Done in AutoGPT Roadmap Nov 10, 2023
@github-project-automation github-project-automation bot moved this from 📋 Backlog to ✅ Done in AutoGPT development kanban Nov 10, 2023
@Pwuts Pwuts moved this from Done to In Progress in AutoGPT Roadmap Nov 15, 2023
@Pwuts Pwuts moved this from ✅ Done to 📋 Backlog in AutoGPT development kanban Nov 15, 2023
@Pwuts Pwuts added the meta Meta-issue about a topic that multiple issues already exist for label Nov 15, 2023
@Pwuts Pwuts reopened this Nov 15, 2023
@github-project-automation github-project-automation bot moved this from 📋 Backlog to ✅ Done in AutoGPT development kanban Jun 28, 2024
@github-project-automation github-project-automation bot moved this from In Progress to Done in AutoGPT Roadmap Jun 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AI efficacy architecture Topics related to package and system architecture function: memory function: process text high priority meta Meta-issue about a topic that multiple issues already exist for Stale
Projects
Status: Done
Status: Done
Development

Successfully merging a pull request may close this issue.

8 participants