Download the PHP package assistant-engine/open-functions-memory without Composer
On this page you can find all versions of the php package assistant-engine/open-functions-memory. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download assistant-engine/open-functions-memory
More information about assistant-engine/open-functions-memory
Files in assistant-engine/open-functions-memory
Package open-functions-memory
Short Description Memory OpenFunction provides a standardized API for storing, updating, retrieving, and removing conversational memories - empowering AI-powered applications with enhanced context management.
License MIT
Homepage https://github.com/AssistantEngine/open-functions-memory
Informations about the package open-functions-memory
Memory OpenFunction
The Memory OpenFunction is an implementation of the OpenFunctions architecture designed to provide a standardized interface for managing memories within your AI-powered applications. This repository allows language models (LLMs) to store, update, remove, and list memories easily.
Key Features:
- ✅ Standardized Memory Interface - Provides a consistent API to store, update, remove, and list memories.
- ✅ CRUD Operations - Built-in methods to add new memories, update existing entries, delete memories, and retrieve all stored memories.
- ✅ Seamless Integration - Easily integrates with the OpenAI PHP SDK and can be added as a tool within the Filament Assistant Plugin.
- ✅ Flexible Storage Options - Comes with a demo JSON memory driver, with the ability to swap in custom drivers like MySQL, Redis, or others.
- ✅ Memory Presenter - Enhance your LLM’s context by preloading user memories directly into the conversation history.
- ✅ Open Source & Extensible - Fully compliant with the OpenFunctions architecture and ready for customization to suit your application’s needs.
Installation
Install the Memory OpenFunction via Composer:
Usage
Using the OpenAI PHP SDK
Below is a basic example of how to use the Memory OpenFunction directly with the OpenAI PHP SDK:
Using the Filament Assistant Plugin
The Memory OpenFunction can also be integrated as a tool within the Filament Assistant Plugin. To add it, include the following configuration in your config/filament-assistant.php file:
With this configuration in place, your assistant can directly utilize the Memory tool. You can add multiple tools to enhance your assistant’s capabilities.
Memory Driver
The Memory OpenFunction interacts with a driver to handle storing, retrieving, and managing memory data. The driver must implement the MemoryDriverInterface, which defines a standardized set of methods.
For your convenience, there is already a JSON memory driver provided. This is just a demonstration driver. Feel free to implement the driver yourself using other storage options like MySQL, Redis, or any other preferred storage system. The JSON memory driver stores a data object like this:
Using the Memory Presenter
The MemoryPresenter implements the MessageListExtensionInterface from the OpenFunctions architecture. This interface allows the presenter to extend or modify a MessageList before it’s sent to the language model. The idea is to provide the LLM with more context by preloading user memories into the conversation history.
Feel free to adjust the MemoryPresenter implementation or integrate it with your custom memory drivers as needed!
Methods
Method | Description | Parameters |
---|---|---|
addMemory | Adds a new memory entry. | content: string (required) |
updateMemory | Updates an existing memory by its ID. | memoryId: string (required); newContent: string (required) |
removeMemory | Removes a memory entry by its ID. | memoryId: string (required) |
listMemories | Lists all stored memories. | None |
Available Open Function Implementations
In addition to creating your own OpenFunction, there are several ready-to-use implementations available like Slack, Trello, Notion, Jira Service Desk, Bitbucket, and GitHub.
You can find a list of all OpenFunctions inside the OpenFunctions Core repository.
Consultancy & Support
Do you need assistance integrating OpenFunctions into your application, or help setting it up?
We offer consultancy services to help you get the most out of our package, whether you’re just getting started or looking to optimize an existing setup.
Reach out to us at contact@assistant-engine.com.
Contributing
We welcome contributions from the community! Feel free to submit pull requests, open issues, and help us improve the package.
License
This project is licensed under the MIT License. Please see License File for more information.