This module provides an MS SQL-backed short-term memory store to use with AI messages (e.g., with AI agents, model providers, etc.).
- Configuration for an MS SQL database
Follow the steps below to use this store in your Ballerina application:
- Import the
ballerinax/ai.memory.mssqlmodule.
import ballerinax/ai.memory.mssql;Optionally, import the ballerina/ai and/or ballerinax/mssql module(s).
import ballerina/ai;
import ballerinax/mssql;-
Create the short-term memory store, by passing either the configuration for the database or an
mssql:Clientclient.i. Using the configuration
import ballerina/ai; import ballerinax/ai.memory.mssql; configurable string host = ?; configurable string user = ?; configurable string password = ?; configurable string database = ?; ai:ShortTermMemoryStore store = check new mssql:ShortTermMemoryStore({ host, user, password, database });
ii. Using an
mssql:Clientclientimport ballerina/ai; import ballerinax/mssql; import ballerinax/ai.memory.mssql as mssqlStore; configurable string host = ?; configurable string user = ?; configurable string password = ?; configurable string database = ?; mssql:Client mssqlClient = check new (host, user, password, database); ai:ShortTermMemoryStore store = check new mssqlStore:ShortTermMemoryStore(mssqlClient);
Optionally, specify the maximum number of messages to store per key (
maxMessagesPerKey- defaults to20) and/or the configuration for the in-memory cache for messages (cacheConfig- defaults to a capacity of20).ai:ShortTermMemoryStore store = check new mssql:ShortTermMemoryStore({ host, user, password, database }, 10, {capacity: 10});
-
Download and install Java SE Development Kit (JDK) version 21. You can download it from either of the following sources:
Note: After installation, remember to set the
JAVA_HOMEenvironment variable to the directory where JDK was installed. -
Download and install Ballerina Swan Lake.
-
Download and install Docker.
Note: Ensure that the Docker daemon is running before executing any tests.
-
Export Github Personal access token with read package permissions as follows,
export packageUser=<Username> export packagePAT=<Personal access token>
Execute the commands below to build from the source.
-
To build the package:
./gradlew clean build
-
To run the tests:
./gradlew clean test -
To build without the tests:
./gradlew clean build -x test -
To run tests against different environments:
./gradlew clean test -Pgroups=<Comma separated groups/test cases>
-
To debug the package with a remote debugger:
./gradlew clean build -Pdebug=<port>
-
To debug with the Ballerina language:
./gradlew clean build -PbalJavaDebug=<port>
-
Publish the generated artifacts to the local Ballerina Central repository:
./gradlew clean build -PpublishToLocalCentral=true
-
Publish the generated artifacts to the Ballerina Central repository:
./gradlew clean build -PpublishToCentral=true
As an open-source project, Ballerina welcomes contributions from the community.
For more information, go to the contribution guidelines.
All the contributors are encouraged to read the Ballerina Code of Conduct.
- For more information go to the
ai.memory.mssqlpackage. - For example demonstrations of the usage, go to Ballerina By Examples.
- Chat live with us via our Discord server.
- Post all technical questions on Stack Overflow with the #ballerina tag.