164 lines
7.3 KiB
Markdown
164 lines
7.3 KiB
Markdown
# PromethAI-Memory
|
||
|
||
AI Applications and RAGs - Cognitive Architecture, Testability, Production Ready Apps
|
||
|
||
|
||
|
||
<p align="left">
|
||
<a href="https://prometh.ai//#gh-light-mode-only">
|
||
<img src="assets/topoteretes_logo.png" width="5%" alt="promethAI logo" />
|
||
</a>
|
||
|
||
|
||
</p>
|
||
|
||
<p align="left"><i>Open-source framework for building and testing RAGs and Cognitive Architectures, designed for accuracy, transparency, and control.</i></p>
|
||
|
||
<p align="left">
|
||
<a href="https://github.com/topoteretes/PromethAI-Memory/fork" target="blank">
|
||
<img src="https://img.shields.io/github/forks/topoteretes/PromethAI-Memory?style=for-the-badge" alt="promethAI forks"/>
|
||
</a>
|
||
|
||
<a href="https://github.com/topoteretes/PromethAI-Backend/stargazers" target="blank">
|
||
<img src="https://img.shields.io/github/stars/topoteretes/PromethAI-Memory?style=for-the-badge" alt="promethAI stars"/>
|
||
</a>
|
||
<a href="https://github.com/topoteretes/PromethAI-Backend/pulls" target="blank">
|
||
<img src="https://img.shields.io/github/issues-pr/topoteretes/PromethAI-Memory?style=for-the-badge" alt="promethAI pull-requests"/>
|
||
</a>
|
||
<a href='https://github.com/topoteretes/PromethAI-Backend/releases'>
|
||
<img src='https://img.shields.io/github/release/topoteretes/PromethAI-Memory?&label=Latest&style=for-the-badge'>
|
||
</a>
|
||
|
||
</p>
|
||
|
||
[//]: # (<p align="center"><b>Follow PromethAI </b></p>)
|
||
|
||
[//]: # (<p align="center">)
|
||
|
||
[//]: # (<a href="https://twitter.com/_promethAI" target="blank">)
|
||
|
||
[//]: # (<img src="https://img.shields.io/twitter/follow/_promethAI?label=Follow: _promethAI&style=social" alt="Follow _promethAI"/>)
|
||
|
||
[//]: # (</a>)
|
||
|
||
[//]: # (<p align="center">)
|
||
|
||
[//]: # (<a href="https://prometh.ai" target="_blank"><img src="https://img.shields.io/twitter/url?label=promethAI Website&logo=website&style=social&url=https://github.com/topoteretes/PromethAI-Memory"/></a>)
|
||
|
||
[//]: # (<p align="center">)
|
||
|
||
[//]: # (<a href="https://www.youtube.com/@_promethAI" target="_blank"><img src="https://img.shields.io/twitter/url?label=Youtube&logo=youtube&style=social&url=https://github.com/topoteretes/PromethAI-Memory"/></a>)
|
||
|
||
[//]: # (</p>)
|
||
|
||
|
||
<p align="left"><b>Share promethAI Repository</b></p>
|
||
|
||
<p align="left">
|
||
|
||
<a href="https://twitter.com/intent/tweet?text=Check%20this%20GitHub%20repository%20out.%20promethAI%20-%20Let%27s%20you%20easily%20build,%20manage%20and%20run%20useful%20autonomous%20AI%20agents.&url=https://github.com/topoteretes/PromethAI-Backend-Backend&hashtags=promethAI,AGI,Autonomics,future" target="blank">
|
||
<img src="https://img.shields.io/twitter/follow/_promethAI?label=Share Repo on Twitter&style=social" alt="Follow _promethAI"/></a>
|
||
<a href="https://t.me/share/url?text=Check%20this%20GitHub%20repository%20out.%20promethAI%20-%20Let%27s%20you%20easily%20build,%20manage%20and%20run%20useful%20autonomous%20AI%20agents.&url=https://github.com/topoteretes/PromethAI-Backend" target="_blank"><img src="https://img.shields.io/twitter/url?label=Telegram&logo=Telegram&style=social&url=https://github.com/topoteretes/PromethAI-Backend" alt="Share on Telegram"/></a>
|
||
<a href="https://api.whatsapp.com/send?text=Check%20this%20GitHub%20repository%20out.%20promethAI%20-%20Let's%20you%20easily%20build,%20manage%20and%20run%20useful%20autonomous%20AI%20agents.%20https://github.com/topoteretes/PromethAI-Backend"><img src="https://img.shields.io/twitter/url?label=whatsapp&logo=whatsapp&style=social&url=https://github.com/topoteretes/PromethAI-Backend" /></a> <a href="https://www.reddit.com/submit?url=https://github.com/topoteretes/PromethAI-Backend&title=Check%20this%20GitHub%20repository%20out.%20promethAI%20-%20Let's%20you%20easily%20build,%20manage%20and%20run%20useful%20autonomous%20AI%20agents.
|
||
" target="blank">
|
||
<img src="https://img.shields.io/twitter/url?label=Reddit&logo=Reddit&style=social&url=https://github.com/topoteretes/PromethAI-Backend" alt="Share on Reddit"/>
|
||
</a> <a href="mailto:?subject=Check%20this%20GitHub%20repository%20out.&body=promethAI%20-%20Let%27s%20you%20easily%20build,%20manage%20and%20run%20useful%20autonomous%20AI%20agents.%3A%0Ahttps://github.com/topoteretes/PromethAI-Backend" target="_blank"><img src="https://img.shields.io/twitter/url?label=Gmail&logo=Gmail&style=social&url=https://github.com/topoteretes/PromethAI-Backend"/></a> <a href="https://www.buymeacoffee.com/promethAI" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="23" width="100" style="border-radius:1px"></a>
|
||
|
||
</p>
|
||
|
||
<hr>
|
||
|
||
|
||
|
||
|
||
|
||
This repo is built to test and evolve RAG architecture, inspired by human cognitive processes, using Python. It's aims to be production ready, testable, but give great visibility in how we build RAG applications.
|
||
|
||
This project is a part of the [PromethAI](https://prometh.ai/) ecosystem.
|
||
|
||
It runs in iterations, with each iteration building on the previous one.
|
||
|
||
_Keep Ithaka always in your mind.
|
||
Arriving there is what you’re destined for.
|
||
But don’t hurry the journey at all.
|
||
Better if it lasts for years_
|
||
|
||
|
||
### Installation
|
||
|
||
To get started with PromethAI Memory, start with the latest iteration, and follow the instructions in the README.md file
|
||
|
||
### Current Focus
|
||
|
||
Cogntive Architecture, RAGs, and production-ready applications
|
||
|
||

|
||
|
||
### Project Structure
|
||
|
||
#### Level 1 - OpenAI functions + Pydantic + DLTHub
|
||
Scope: Give PDFs to the model and get the output in a structured format
|
||
Blog post: [Link](https://prometh.ai/promethai-memory-blog-post-one)
|
||
We introduce the following concepts:
|
||
- Structured output with Pydantic
|
||
- CMD script to process custom PDFs
|
||
#### Level 2 - Memory Manager + Metadata management
|
||
Scope: Give PDFs to the model and consolidate with the previous user activity and more
|
||
Blog post: [Link](https://www.notion.so/topoteretes/Going-beyond-Langchain-Weaviate-Level-2-towards-Production-98ad7b915139478992c4c4386b5e5886?pvs=4)
|
||
We introduce the following concepts:
|
||
|
||
- Long Term Memory -> store and format the data
|
||
- Episodic Buffer -> isolate the working memory
|
||
- Attention Modulators -> improve semantic search
|
||
- Docker
|
||
- API
|
||
|
||
#### Level 3 - Dynamic Graph Memory Manager + DB + Rag Test Manager
|
||
Scope: Store the data in N-related stores and test the retrieval with the Rag Test Manager
|
||
Blog post: [Link](https://topoteretes.notion.site/Going-beyond-Langchain-Weaviate-Level-3-towards-production-e62946c272bf412584b12fbbf92d35b0?pvs=4)
|
||
- Dynamic Memory Manager -> store the data in N hierarchical stores
|
||
- Auto-generation of tests
|
||
- Multiple file formats supported
|
||
- Postgres DB to store metadata
|
||
- Docker
|
||
- API
|
||
- Superset to visualize the results
|
||
|
||
#### Level 4 - Dynamic Graph Memory Manager + DB + Rag Test Manager
|
||
Scope: Use Neo4j to map the user queries into a knowledge graph based on cognitive architecture
|
||
Blog post: Soon!
|
||
- Dynamic Memory Manager -> store the data in N hierarchical stores
|
||
- Dynamic Graph -> map the user queries into a knowledge graph
|
||
- Postgres DB to store metadata - soon
|
||
- Docker
|
||
- API - soon
|
||
|
||
### Run the level 4
|
||
|
||
Make sure you have Docker, Poetry, and Python 3.11 installed and postgres installed.
|
||
|
||
Copy the .env.example to .env and fill in the variables
|
||
|
||
``` poetry shell ```
|
||
|
||
```docker compose up ```
|
||
|
||
Run
|
||
|
||
``` python main.py ```
|
||
|
||
If you are running natively, change ENVIRONMENT to local in the .env file
|
||
If you are running in docker, change ENVIRONMENT to postgres in the .env file
|
||
|
||
Run
|
||
|
||
|
||
|
||
``` python main.py ```
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|