Skip to main content

LlamaIndex Memory Integration: Bedrock AgentCore

Installation

To install the required package, run:

%pip install llama-index-memory-bedrock-agentcore

Bedrock AgentCore Setup Pre-Requisites

  1. AWS account with Bedrock AgentCore access
  2. Configured AWS credentials (boto3)
  3. Created memory resource in AWS Bedrock AgentCore
  4. Required IAM permissions:
    1. bedrock-agentcore:CreateEvent
    2. bedrock-agentcore:ListEvents
    3. bedrock-agentcore:RetrieveMemories

Sample Usage

  1. Create an instance of AgentCoreMemoryContext to setup the memory resources that you will need for building an agent.
    1. Actor id → This is a required field and it is the identifier of the actor (could be an agent or the end-user).
    2. Memory id → This is a required field and it is the identifier of the memory store.
    3. Session id → This is a required field and it is the unique identifier of a particular conversation.
    4. Namespace → This is an optional field and it is used to determine how to extract long term memories. By default it will use “/” as the namespace.
    5. Memory strategy id → This is an optional field and it is the identifier for a memory strategy.
context = AgentCoreMemoryContext(
    actor_id="<INSERT_HERE>",
    memory_id="<INSERT_HERE>",
    session_id="<INSERT_HERE>",
    namespace="<INSERT_HERE>",
    memory_strategy_id="<INSERT_HERE>",
)
agentcore_memory = AgentCoreMemory(context=context)
  1. This is an example of how to create a FunctionAgent in LlamaIndex. This sample adds a tool & the Claude Sonnet 4 LLM to the agent’s initialization.

If you would like to use this tool, the run the following command

%pip install llama-index-tools-yahoo-finance
from llama_index.llms.bedrock_converse import BedrockConverse
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.tools.yahoo_finance import YahooFinanceToolSpec

llm = BedrockConverse(model="us.anthropic.claude-sonnet-4-20250514-v1:0")

finance_tool_spec = YahooFinanceToolSpec()
agent = FunctionAgent(
    tools=finance_tool_spec.to_tool_list(),
    llm=llm,
)

Here's a simpler example that doesn't utilize a third party tool

from llama_index.core.tools import FunctionTool
from llama_index.core.agent.workflow import FunctionAgent


def call_fn(name: str):
    """Call the provided name.
    Args:
        name: str (Name of the person)
    """
    print(f"Calling... {name}")


def email_fn(name: str):
    """Email the provided name.
    Args:
        name: str (Name of the person)
    """
    print(f"Emailing... {name}")


call_tool = FunctionTool.from_defaults(fn=call_fn)
email_tool = FunctionTool.from_defaults(fn=email_fn)

agent = FunctionAgent(
    tools=[call_tool, email_tool],
    llm=llm,
)
  1. Invoke the agent to start conversations

This sample will invoke the tool and store the events in AgentCore Memory

response = await agent.run(
    "What is the stock price of Amazon?", memory=agentcore_memory
)

After events are stored, you can then prompt the agent to answer any queries based on the memory records

response = await agent.run(
    "What stock prices have I asked for?", memory=agentcore_memory
)

References

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llama_index_memory_bedrock_agentcore-0.2.0.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file llama_index_memory_bedrock_agentcore-0.2.0.tar.gz.

File metadata

  • Download URL: llama_index_memory_bedrock_agentcore-0.2.0.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for llama_index_memory_bedrock_agentcore-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e347e8bedd93bfe64e6aa81f539b38049beeea60f93c53aa1582d9a00a604f96
MD5 93d45d44e2f344fde32dc239df32a45b
BLAKE2b-256 565a6736d898c51e103b37ea268398ccca857a3ac5669cdcc9da50003e0c89da

See more details on using hashes here.

File details

Details for the file llama_index_memory_bedrock_agentcore-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: llama_index_memory_bedrock_agentcore-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for llama_index_memory_bedrock_agentcore-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cb07123a34ebea26144c42d144cdc4e059d774b9f593f4c88688f5dee7f4a374
MD5 06c78d2554ea441162b562b0ee134e79
BLAKE2b-256 57c17c198d173d6f0a47f465bb86a7afe22d835810ca674308ea95defc811bd4

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page