omni_bot / docs /examples /store-conversation-memory-in-dynamodb.md
Zack Zitting Bradshaw
Upload folder using huggingface_hub
4962437

A newer version of the Gradio SDK is available: 4.37.2

Upgrade

To store your conversation on DynamoDB you can use DynamoDbConversationMemoryDriver.

from swarms.memory.structure import ConversationMemory
from swarms.memory.structure import ConversationMemoryElement, Turn, Message
from swarms.drivers import DynamoDbConversationMemoryDriver

# Instantiate DynamoDbConversationMemoryDriver
dynamo_driver = DynamoDbConversationMemoryDriver(
    aws_region="us-east-1",
    table_name="conversations",
    partition_key="convo_id",
    value_attribute_key="convo_data",
    partition_key_value="convo1"
)

# Create a ConversationMemory structure
conv_mem = ConversationMemory(
    turns=[
        Turn(
            turn_index=0,
            system=Message("Hello"),
            user=Message("Hi")
        ),
        Turn(
            turn_index=1,
            system=Message("How can I assist you today?"),
            user=Message("I need some information")
        )
    ],
    latest_turn=Turn(
        turn_index=2,
        system=Message("Sure, what information do you need?"),
        user=None  # user has not yet responded
    ),
    driver=dynamo_driver  # set the driver
)

# Store the conversation in DynamoDB
dynamo_driver.store(conv_mem)

# Load the conversation from DynamoDB
loaded_conv_mem = dynamo_driver.load()

# Display the loaded conversation
print(loaded_conv_mem.to_json())