Memor: A Python Library for Managing and Transferring Conversational Memory Across LLMs
Project description
Overview
Memor is a library designed to help users manage the memory of their interactions with Large Language Models (LLMs). It enables users to seamlessly access and utilize the history of their conversations when prompting LLMs. That would create a more personalized and context-aware experience. Memor stands out by allowing users to transfer conversational history across different LLMs, eliminating cold starts where models don't have information about user and their preferences. Users can select specific parts of past interactions with one LLM and share them with another. By bridging the gap between isolated LLM instances, Memor revolutionizes the way users interact with AI by making transitions between models smoother.
| PyPI Counter |
|
| Github Stars |
|
| Branch | main | dev |
| CI |
|
|
| Code Quality |
Installation
PyPI
- Check Python Packaging User Guide
- Run
pip install memor==0.2
Source code
- Download Version 0.2 or Latest Source
- Run
pip install .
Usage
Define your prompt and the response(s) to that; Memor will wrap it into a object with a templated representation. You can create a session by combining multiple prompts and responses, gradually building it up:
>>> from memor import Session, Prompt, Response, Role
>>> from memor import PresetPromptTemplate, RenderFormat
>>> response = Response(message="I am fine.", role=Role.ASSISTANT, temperature=0.9, score=0.9)
>>> prompt = Prompt(message="Hello, how are you?",
responses=[response],
role=Role.USER,
template=PresetPromptTemplate.INSTRUCTION1.PROMPT_RESPONSE_STANDARD)
>>> system_prompt = Prompt(message="You are a friendly and informative AI assistant designed to answer questions on a wide range of topics.",
role=Role.SYSTEM)
>>> session = Session(messages=[system_prompt, prompt])
>>> session.render(RenderFormat.OPENAI)
The rendered output will be a list of messages formatted for compatibility with the OpenAI API.
[{"content": "You are a friendly and informative AI assistant designed to answer questions on a wide range of topics.", "role": "system"},
{"content": "I'm providing you with a history of a previous conversation. Please consider this context when responding to my new question.\n"
"Prompt: Hello, how are you?\n"
"Response: I am fine.",
"role": "user"}]
Issues & bug reports
Just fill an issue and describe it. We'll check it ASAP! or send an email to memor@openscilab.com.
- Please complete the issue template
You can also join our discord server
References
Show your support
Star this repo
Give a ⭐️ if this project helped you!
Donate to our project
If you do like our project and we hope that you do, can you please support us? Our project is not and is never going to be working for profit. We need the money just so we can continue doing what we do ;-) .
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Unreleased
0.2 - 2025-03-01
Added
Sessionclass
Changed
Promptclass modifiedResponseclass modifiedPromptTemplateclass modifiedREADME.mdupdated- Test system modified
0.1 - 2025-02-12
Added
PromptclassResponseclassPromptTemplateclassPresetPromptTemplateclass
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file memor-0.2.tar.gz.
File metadata
- Download URL: memor-0.2.tar.gz
- Upload date:
- Size: 20.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c92122403a342d87dec756727009d56017b71c3408fa729f85130e2c58dbdb15
|
|
| MD5 |
50fdfe834996ac1052a3d856e5a44c58
|
|
| BLAKE2b-256 |
375d2b37e3b461f61c8ad39ff2dec1b7d1b34d1a1770d25b3f45e3260aa38b73
|
File details
Details for the file memor-0.2-py3-none-any.whl.
File metadata
- Download URL: memor-0.2-py3-none-any.whl
- Upload date:
- Size: 18.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23ab630eb67d2e8741ae2f95bae1a1380a84124479aa6203419eeb7a499e368b
|
|
| MD5 |
1af197b72553f7e02ec3f752e307f577
|
|
| BLAKE2b-256 |
049b45dad35240452f8991b52379e1de17d1e8b74f1187617a72eeaccaad51ac
|