Skip to content

MSSQL-backed short-term memory store implementation for AI messages.

License

Notifications You must be signed in to change notification settings

ballerina-platform/module-ballerinax-ai.memory.mssql

Repository files navigation

Ballerina MSSQL-backed short-term chat message store connector

Build GitHub Last Commit GitHub Issues

Overview

This module provides an MS SQL-backed short-term memory store to use with AI messages (e.g., with AI agents, model providers, etc.).

Prerequisites

  • Configuration for an MS SQL database

Quickstart

Follow the steps below to use this store in your Ballerina application:

  1. Import the ballerinax/ai.memory.mssql module.
import ballerinax/ai.memory.mssql;

Optionally, import the ballerina/ai and/or ballerinax/mssql module(s).

import ballerina/ai;
import ballerinax/mssql;
  1. Create the short-term memory store, by passing either the configuration for the database or an mssql:Client client.

    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:Client client

    import 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 to 20) and/or the configuration for the in-memory cache for messages (cacheConfig - defaults to a capacity of 20).

    ai:ShortTermMemoryStore store = check new mssql:ShortTermMemoryStore({
        host, user, password, database
    }, 10, {capacity: 10});

Build from the source

Setting up the prerequisites

  1. 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_HOME environment variable to the directory where JDK was installed.

  2. Download and install Ballerina Swan Lake.

  3. Download and install Docker.

    Note: Ensure that the Docker daemon is running before executing any tests.

  4. Export Github Personal access token with read package permissions as follows,

    export packageUser=<Username>
    export packagePAT=<Personal access token>

Build options

Execute the commands below to build from the source.

  1. To build the package:

    ./gradlew clean build
  2. To run the tests:

    ./gradlew clean test
  3. To build without the tests:

    ./gradlew clean build -x test
  4. To run tests against different environments:

    ./gradlew clean test -Pgroups=<Comma separated groups/test cases>
  5. To debug the package with a remote debugger:

    ./gradlew clean build -Pdebug=<port>
  6. To debug with the Ballerina language:

    ./gradlew clean build -PbalJavaDebug=<port>
  7. Publish the generated artifacts to the local Ballerina Central repository:

    ./gradlew clean build -PpublishToLocalCentral=true
  8. Publish the generated artifacts to the Ballerina Central repository:

    ./gradlew clean build -PpublishToCentral=true

Contribute to Ballerina

As an open-source project, Ballerina welcomes contributions from the community.

For more information, go to the contribution guidelines.

Code of conduct

All the contributors are encouraged to read the Ballerina Code of Conduct.

Useful links

About

MSSQL-backed short-term memory store implementation for AI messages.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •