llama-index memory bedrock agentcore integration
Project description
LlamaIndex Memory Integration: Bedrock AgentCore
Installation
To install the required package, run:
%pip install llama-index-memory-bedrock-agentcore
Bedrock AgentCore Setup Pre-Requisites
- AWS account with Bedrock AgentCore access
- Configured AWS credentials (boto3)
- Created memory resource in AWS Bedrock AgentCore
- Required IAM permissions:
- bedrock-agentcore:CreateEvent
- bedrock-agentcore:ListEvents
- bedrock-agentcore:RetrieveMemories
Sample Usage
- Create an instance of AgentCoreMemoryContext to setup the memory resources that you will need for building an agent.
- Actor id → This is a required field and it is the identifier of the actor (could be an agent or the end-user).
- Memory id → This is a required field and it is the identifier of the memory store.
- Session id → This is a required field and it is the unique identifier of a particular conversation.
- 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.
- 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)
- 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,
)
- 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file llama_index_memory_bedrock_agentcore-0.1.2.tar.gz.
File metadata
- Download URL: llama_index_memory_bedrock_agentcore-0.1.2.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62027628c9967d18c6abece8c56917de81263d7acf5e095792ad1f35154a47d8
|
|
| MD5 |
7eb09fe8f63c7f5f71a15d0f5e43a181
|
|
| BLAKE2b-256 |
d03f310791044ef04c858ec10859b981a0966d2bf611eba210299f6800a51451
|
File details
Details for the file llama_index_memory_bedrock_agentcore-0.1.2-py3-none-any.whl.
File metadata
- Download URL: llama_index_memory_bedrock_agentcore-0.1.2-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b919eafa8e3f1a898d5a88db75aac633e346c3da28b8fe26cada10624751440
|
|
| MD5 |
94c7080720d1acc69f80de32150d7bb4
|
|
| BLAKE2b-256 |
9978a625e792d9cd4e31bacd6b995b9520e9baa965e55809a4f49d1e43767c62
|