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

Refactoring & Add Planning Module to Generative Agents #5

Merged
merged 88 commits into from
Nov 3, 2023

Conversation

alckasoc
Copy link
Member

@alckasoc alckasoc commented Sep 27, 2023

🤔 Reasoning

Adding the planning feature to LangChain's generative agents. The planning feature keeps the agent's actions consistent across a long horizon. It also gives them a sense of direction and purpose.

🚧 Changes

New functions added in discussion_agents/models/base_agent.py and small changes in discussion_agents/memory/base_memory.py. Working on updating folder structure and reorganizing/decoupling the code. More detailed updates coming soon.

  • changed package management to poetry & pipx
  • updated Makefile & requirements txt files & README
  • devised Notion page for this project
    • kanban board, timeline, gallery, resources, references, keeping up to date
  • set up github workflow ci/cd
    • added black
    • added ruff
    • added mypy
    • added pre-commit
  • added issue templates
    • added issue labels
  • added PR template
  • several refactors to GenerativeAgent and GenerativeAgentMemory
  • use pydantic v2 (LangChain has an issue with v2, v1 is used in some parts)
  • added pytest configurations
  • added test cases for both GenerativeAgent and GenerativeAgentMemory
  • added AddMemoriesInterface
  • implemented and generalized/simplified original paper's planning module
  • modularized all underlying cognitive modules
  • added utility methods
  • added BaseCore and BaseCoreWithMemory as the underlying core components of the agents' memories and the agent classes complete with getters and setters + some error handling
  • linted, tested, and wrote docstrings for all methods and classes
  • re-generalized planning module for instructional use (still needs to be looked into)
  • plenty of bug fixes, small changes, updates to docs, linting, testing
  • added pytest into github workflow
  • set up github secrets for testing
  • set up pytest code coverage

✅ PR Checklist

  • Using this PR template?
  • Linked issue?
  • Added feature?
    • Added/updated docs?
    • Added/updated tests?

@notion-workspace
Copy link

@notion-workspace
Copy link

@alckasoc alckasoc changed the title Add Planning Module to Generative Agents Add Planning Module to Generative Agents & Refactoring Oct 7, 2023
@alckasoc alckasoc linked an issue Oct 8, 2023 that may be closed by this pull request
@alckasoc alckasoc changed the title Add Planning Module to Generative Agents & Refactoring Refactoring & Add Planning Module to Generative Agents Oct 9, 2023
@alckasoc alckasoc added enhancement New feature or request documentation Improvements or additions to documentation labels Oct 31, 2023
@alckasoc alckasoc self-assigned this Oct 31, 2023
Copy link

codecov bot commented Nov 3, 2023

Welcome to Codecov 🎉

Once merged to your default branch, Codecov will compare your coverage reports and display the results in this comment.

Thanks for integrating Codecov - We've got you covered ☂️

@alckasoc alckasoc merged commit 0f3791f into main Nov 3, 2023
@alckasoc alckasoc deleted the vincent/add_planning branch November 3, 2023 08:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature Request]: Refactoring & Adding a Planning Feature
1 participant