No description
Find a file
2023-11-26 22:17:01 +01:00
.github update flow for the docker image 2023-09-04 20:51:15 +02:00
assets update flow for the docker image 2023-09-04 20:49:59 +02:00
bin update flow for the docker image 2023-09-03 10:58:43 +02:00
level_1 quick fix to the bug 2023-08-17 08:41:30 +02:00
level_2 Fixes and added command line tool to run RAG 2023-10-10 14:16:08 +02:00
level_3 Add base SQL query, rework docs a bit 2023-10-31 11:45:22 +01:00
level_4 Added networkx to the graph 2023-11-26 22:17:01 +01:00
.gitignore Merge branch 'main' into code_review 2023-08-25 12:12:46 +02:00
Dashboard_example.png Update docs, fix issue with params, add tracking 2023-10-31 00:44:53 +01:00
infographic_final.png Add files via upload 2023-08-16 18:23:40 +02:00
LICENSE Initial commit 2023-08-16 18:16:33 +02:00
README.md Added a few updates to poetry and tested packages 2023-11-19 16:26:24 +01:00

PromethAI-Memory

AI Applications and RAGs - Cognitive Architecture, Testability, Production Ready Apps

promethAI logo

Open-source framework for building and testing RAGs and Cognitive Architectures, designed for accuracy, transparency, and control.

promethAI forks promethAI stars promethAI pull-requests

Share promethAI Repository

Follow _promethAI Share on Telegram Share on Reddit Buy Me A Coffee


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 ecosystem.

It runs in iterations, with each iteration building on the previous one.

Keep Ithaka always in your mind. Arriving there is what youre destined for. But dont hurry the journey at all. Better if it lasts for years

Installation

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

Or run

``` docker compose up promethai-mem ```

And send API requests add-memory, user-query-to-graph, document-to-graph-db, user-query-processor to the locahost:8000

Current Focus

Cognitive Architecture manager :

  • stores data in Vector Database
  • uses Graph database to create connection between the terms nad objects
  • uses classifiers to pick the right document
  • generates context for LLM to process

Image

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 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 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

  • 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
  • Classification -> classify the user queries and choose relevant graph nodes
  • Context manager -> generate context for LLM to process containing Semantic, Episodic and Vector store data
  • Postgres DB to store metadata
  • Docker
  • API