cognee/level_3
Vasilije 1a284ec127 Added following:
1. Dynamic metadata retrieval, refactored function
2. Load with using marshmallow, allows dynamic fields now
3. Added chunkers, different varieties
4. Fixed PDF loading so it is better standardized
2023-10-04 21:53:14 +02:00
..
auth Added following: 2023-10-04 21:52:35 +02:00
buffer Added following: 2023-10-04 21:52:35 +02:00
chunkers Added following: 2023-10-04 21:52:35 +02:00
database Added following: 2023-10-04 21:52:35 +02:00
loaders Added following: 2023-10-04 21:52:35 +02:00
models Added following: 2023-10-04 21:53:14 +02:00
schema/semantic Added following: 2023-10-04 21:52:35 +02:00
scripts Added following: 2023-10-04 21:52:35 +02:00
shared Added following: 2023-10-04 21:52:35 +02:00
tests Added following: 2023-10-04 21:52:35 +02:00
vectordb Added following: 2023-10-04 21:52:35 +02:00
.env.template Added following: 2023-10-04 21:52:35 +02:00
api.py Added following: 2023-10-04 21:52:35 +02:00
docker-compose.yml Added following: 2023-10-04 21:52:35 +02:00
Dockerfile Added following: 2023-10-04 21:52:35 +02:00
entrypoint.sh Added following: 2023-10-04 21:52:35 +02:00
fetch_secret.py Added following: 2023-10-04 21:52:35 +02:00
level_2_pdf_vectorstore__dlt_contracts.py Added following: 2023-10-04 21:52:35 +02:00
poetry.lock Added following: 2023-10-04 21:52:35 +02:00
pyproject.toml Added following: 2023-10-04 21:52:35 +02:00
Readme.md Added following: 2023-10-04 21:52:35 +02:00
utils.py Added following: 2023-10-04 21:52:35 +02:00

PromethAI Memory Manager

Description

Initial code lets you do three operations:

  1. Add to memory
  2. Retrieve from memory
  3. Structure the data to schema
  4. Load to a database

#How to use

Installation

docker compose build promethai_mem

Run

docker compose up promethai_mem

Clean database

docker compose down promethai_mem

docker volume prune

docker compose up --force-recreate --build promethai_mem

Usage

The fast API endpoint accepts prompts and stores data with the help of the Memory Manager

The types of memory are: Episodic, Semantic, Buffer

Endpoint Overview The Memory API provides the following endpoints:

  • /[memory_type]/add-memory (POST)
  • /[memory_type]/fetch-memory (POST)
  • /[memory_type]/delete-memory (POST)
  • /available-buffer-actions (GET)
  • /run-buffer (POST)
  • /buffer/create-context (POST)

How To Get Started

  1. We do a post request to add-memory endpoint with the following payload: It will upload Jack London "Call of the Wild" to SEMANTIC memory
curl -X POST http://localhost:8000/semantic/add-memory -H "Content-Type: application/json" -d '{
  "payload": {
    "user_id": "681",
    "prompt": "I am adding docs",
    "params": {
        "version": "1.0",
        "agreement_id": "AG123456",
        "privacy_policy": "https://example.com/privacy",
        "terms_of_service": "https://example.com/terms",
        "format": "json",
        "schema_version": "1.1",
        "checksum": "a1b2c3d4e5f6",
        "owner": "John Doe",
        "license": "MIT",
        "validity_start": "2023-08-01",
        "validity_end": "2024-07-31"
    },
    "loader_settings": {
        "format": "PDF",
        "source": "url",
        "path": "https://www.ibiblio.org/ebooks/London/Call%20of%20Wild.pdf"
    }
  }
}'
  1. We run the buffer with the prompt "I want to know how does Buck adapt to life in the wild and then have that info translated to German "
curl -X POST http://localhost:8000/run-buffer -H "Content-Type: application/json" -d '{
  "payload": {
    "user_id": "681",
    "prompt": "I want to know how does Buck adapt to life in the wild and then have that info translated to German ",
    "params": {
        "version": "1.0",
        "agreement_id": "AG123456",
        "privacy_policy": "https://example.com/privacy",
        "terms_of_service": "https://example.com/terms",
        "format": "json",
        "schema_version": "1.1",
        "checksum": "a1b2c3d4e5f6",
        "owner": "John Doe",
        "license": "MIT",
        "validity_start": "2023-08-01",
        "validity_end": "2024-07-31"
    },
    "attention_modulators": {
        "relevance": 0.0,
        "saliency": 0.1
    }
  }
}'

Other attention modulators that could be implemented:

    "frequency": 0.5, 
    "repetition": 0.5,
    "length": 0.5,
    "position": 0.5,
    "context": 0.5,
    "emotion": 0.5,
    "sentiment": 0.5,
    "perspective": 0.5,
    "style": 0.5,
    "grammar": 0.5,
    "spelling": 0.5,
    "logic": 0.5,
    "coherence": 0.5,
    "cohesion": 0.5,
    "plausibility": 0.5,
    "consistency": 0.5,
    "informativeness": 0.5,
    "specificity": 0.5,
    "detail": 0.5,
    "accuracy": 0.5,
    "topicality": 0.5,
    "focus": 0.5,
    "clarity": 0.5,
    "simplicity": 0.5,
    "naturalness": 0.5,
    "fluency": 0.5,
    "variety": 0.5,
    "vividness": 0.5,
    "originality": 0.5,
    "creativity": 0.5,
    "humor": 0.5,