Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
0d58062
Add context engineering course with Redis University Class Agent
abrookins Sep 25, 2025
2064e61
Temporarily ignore context engineering notebooks in CI
abrookins Sep 25, 2025
6be84e5
Fix notebooks to work in CI environments
abrookins Sep 26, 2025
73c9161
Fix final import issue in 03_project_overview notebook
abrookins Sep 26, 2025
065e91a
Fix real issues: Install package in CI and use real classes
abrookins Sep 26, 2025
2f014d5
Fix RedisVL API compatibility issue in memory retrieval
abrookins Sep 26, 2025
3011f52
Fix RedisVL API format change - handle both dict and object results
abrookins Sep 26, 2025
7b5059f
Clean up notebook 01: Remove installation guards and update memory te…
abrookins Sep 29, 2025
8f53551
Implement working memory with long-term extraction strategy awareness
abrookins Sep 29, 2025
4c80a28
Complete Context Engineering course with all 15 notebooks and referen…
abrookins Sep 30, 2025
8cb9c10
Temporarily ignore context engineering notebooks in CI
abrookins Sep 30, 2025
8722b48
Revert: Remove context engineering notebooks from ignore list
abrookins Sep 30, 2025
e7ce2ba
Fix notebook imports: MemoryManager -> MemoryClient
abrookins Sep 30, 2025
db78b54
Add agent-memory-client to dependencies
abrookins Sep 30, 2025
8abb21d
Fix working memory notebook to use actual MemoryClient API
abrookins Sep 30, 2025
3f7ed02
Fix notebook cell dependencies for independent execution
abrookins Sep 30, 2025
65ae681
Fix MemoryAPIClient initialization to use MemoryClientConfig
abrookins Sep 30, 2025
6804da9
Fix method name: set_working_memory -> put_working_memory
abrookins Sep 30, 2025
a07e72c
Comment out memory_manager calls in notebooks
abrookins Sep 30, 2025
b68536e
Convert memory_manager cells to markdown in 02_role_of_context_engine
abrookins Sep 30, 2025
64ee02c
Fix memory_type -> memory_types parameter in notebooks
abrookins Sep 30, 2025
cff357a
Fix count_tokens function dependencies in context window notebook
abrookins Sep 30, 2025
19e671f
Fix put_working_memory() call signature
abrookins Sep 30, 2025
0e71885
Fix MemoryRecord creation to include required id field
abrookins Sep 30, 2025
7efbe57
Add Docker Compose setup for Agent Memory Server
abrookins Sep 30, 2025
20ec0d1
Fix Agent Memory Server Docker image path
abrookins Sep 30, 2025
e3111a8
Fix MemoryRecord creation in save_working_memory
abrookins Oct 1, 2025
8ff0982
Add get_or_create_working_memory and update notebooks
abrookins Oct 1, 2025
80a71f6
Improve OpenAI API key handling and CI debugging
abrookins Oct 1, 2025
0fbbc06
Make Agent Memory Server startup more lenient in CI
abrookins Oct 1, 2025
5cd45eb
Fix LOG_LEVEL environment variable for Agent Memory Server
abrookins Oct 1, 2025
b1a051c
Fix get_or_create_working_memory to unpack tuple return value
abrookins Oct 1, 2025
71f93c0
Fix create_memory to handle tuple return from create_long_term_memories
abrookins Oct 1, 2025
ad8de72
Remove memory_client wrapper and use MemoryAPIClient directly
abrookins Oct 1, 2025
0482676
Fix agent.py to use actual MemoryAPIClient API
abrookins Oct 1, 2025
93a3559
Fix tools.py to use actual MemoryAPIClient API
abrookins Oct 1, 2025
4e1c4c2
Update notebooks to use MemoryAPIClient directly (partial)
abrookins Oct 1, 2025
39290e6
Add comprehensive memory client migration documentation
abrookins Oct 1, 2025
ff2c4ac
Fix all save_working_memory calls to use put_working_memory
abrookins Oct 1, 2025
bd66460
Fix remaining import issues in notebooks
abrookins Oct 1, 2025
07ac032
Fix section-3-memory/02_long_term_memory.ipynb API calls
abrookins Oct 1, 2025
0f19481
Fix remaining API issues in section-3-memory notebooks
abrookins Oct 1, 2025
30ea09e
Fix ClientMemoryRecord import - use agent_memory_client.models
abrookins Oct 1, 2025
01b693a
Fix remaining query= to text= in 02_long_term_memory.ipynb
abrookins Oct 1, 2025
7780258
Fix memory_type parameter to use MemoryType filter object
abrookins Oct 1, 2025
d6b36b0
Fix ClientMemoryRecord memory_type - use string not MemoryType filter
abrookins Oct 1, 2025
6f67685
Fix ALL remaining query= to text= in notebooks
abrookins Oct 1, 2025
61a6c3a
Fix missing MemoryClientConfig import in 01_working_memory notebook
abrookins Oct 1, 2025
da51403
Add missing user_id parameter to get_or_create_working_memory calls
abrookins Oct 1, 2025
2675d88
Fix missing comma in get_or_create_working_memory call
abrookins Oct 1, 2025
85cbe9e
Fix user_id consistency in 01_working_memory notebook
abrookins Oct 1, 2025
015c4e3
Fix syntax errors and API usage in section-3 notebooks
abrookins Oct 1, 2025
e5f5b79
Fix tool invocation in 04_memory_tools notebook
abrookins Oct 1, 2025
55e19d2
Fix list comprehension in 03_memory_integration notebook
abrookins Oct 1, 2025
8da9cc7
Add missing user_id to all get_or_create_working_memory calls in 03_m…
abrookins Oct 1, 2025
288f858
Fix all API usage issues in 03_memory_integration notebook
abrookins Oct 1, 2025
5c77fd9
Fix get_or_create_working_memory issue in 03_memory_integration
abrookins Oct 1, 2025
bc37b82
Upgrade agent-memory-client to 0.12.3
abrookins Oct 1, 2025
1677e59
Fix redisvl API compatibility in course_manager
abrookins Oct 1, 2025
1ee634b
Add get_all_courses method to CourseManager
abrookins Oct 1, 2025
45353bf
Add missing MemoryClientConfig import to section-4 notebooks
abrookins Oct 1, 2025
46bf6bc
Fix remaining issues in section-4 notebooks
abrookins Oct 1, 2025
1168b32
Fix final issues in section-4 notebooks
abrookins Oct 1, 2025
a92fe1e
Fix Redis get() calls in 05_crafting_data_for_llms
abrookins Oct 1, 2025
2092f1c
Fix KeyError in 05_crafting_data_for_llms
abrookins Oct 1, 2025
0a81a94
Fix len(memories) in 05_crafting_data_for_llms
abrookins Oct 1, 2025
9aae1c1
Fix memories slicing in 05_crafting_data_for_llms
abrookins Oct 1, 2025
f91263b
Update Redis version to 8.2 in GitHub Actions workflows
abrookins Oct 1, 2025
e113888
Remove OpenAI API key check and logging from workflow
abrookins Oct 1, 2025
3cc032a
Use redis:8.2 image in test.yml workflow
abrookins Oct 1, 2025
b3bec17
Add search_courses_tool to demonstrate catalog view + RAG pattern
abrookins Oct 1, 2025
a0680f1
Change to get_course_details tool that retrieves by course code
abrookins Oct 1, 2025
ffc8389
Add detailed explanation of data integration challenges
abrookins Oct 1, 2025
fe4149f
Fix JSON syntax error in 05_crafting_data_for_llms.ipynb
abrookins Oct 1, 2025
a0cf9a0
Clarify LLM control statement in automatic extraction section
abrookins Oct 1, 2025
53fb3ef
Clarify that it's the application's LLM that has control in tool-base…
abrookins Oct 1, 2025
0de2ddb
Add performance tradeoffs to memory extraction comparison
abrookins Oct 1, 2025
7637eff
Update 04_memory_tools to use built-in memory client tool schemas
abrookins Oct 1, 2025
c4c7501
Keep LangChain/LangGraph pattern while using memory client tools
abrookins Oct 1, 2025
036ff05
Use memory client's built-in LangChain/LangGraph integration
abrookins Oct 2, 2025
af26356
Update reference agent to use memory client's LangChain integration
abrookins Oct 2, 2025
6bc85d4
Add schema printing to memory tools notebook for debugging
abrookins Oct 2, 2025
5396372
Add schema printing to memory tools notebook
abrookins Oct 2, 2025
22ceafa
Catch and return tool validation errors to LLM
abrookins Oct 2, 2025
8c10741
Fix create_memory_tools call in working memory notebook
abrookins Oct 2, 2025
bab8f38
Simplify setup and clean up notebooks
abrookins Oct 3, 2025
07c1e91
Bump agent-memory-client to 0.12.6
abrookins Oct 3, 2025
a9b8a7a
Reorganize notebook setup and update agent-memory-server to 0.12.3
abrookins Oct 5, 2025
96a1e2a
Fix notebook failures: remove non-existent memory_index_name and meta…
abrookins Oct 5, 2025
bf0c001
Notebook cleanups: replace print-based informational cells with Markd…
abrookins Oct 21, 2025
1cec8b3
Fix malformed JSON in 02_project_overview.ipynb to unblock nbval coll…
abrookins Oct 21, 2025
a0d7f33
context-engineering: use Redis 8, fix 8088 refs, add tests
abrookins Oct 21, 2025
ba1770b
Add revised tool definition notebook for agent fundamentals
nkanu17 Oct 27, 2025
aaa427f
Add initial notebooks for fundamentals and RAG foundations
nkanu17 Oct 27, 2025
0fd6cf2
Add Section 1 fundamentals and Section 2 RAG notebooks
nkanu17 Oct 30, 2025
c59b22b
Add Section 3 memory architecture notebooks (grounding and memory int…
nkanu17 Oct 30, 2025
56d0d89
Revamp Section 1 introduction with enhanced context engineering content
nkanu17 Oct 31, 2025
6a32632
Add comprehensive RAG retrieved context notebook
nkanu17 Oct 31, 2025
db9a091
Remove obsolete notebooks from enhanced-integration and old sections
nkanu17 Oct 31, 2025
30837a7
Add Section 3 memory fundamentals and memory-enhanced RAG notebooks
nkanu17 Oct 31, 2025
b1f095f
Enhance memory fundamentals notebook and add Agent Memory Server setu…
nkanu17 Oct 31, 2025
340136f
Refactor memory fundamentals notebook for improved long-term memory c…
nkanu17 Oct 31, 2025
f40a873
Complete Section 3 memory architecture with enhanced RAG integration …
nkanu17 Oct 31, 2025
6cbc71b
Remove duplicate introduction and memory notebooks
nkanu17 Nov 1, 2025
ab6e32c
Revamp Section 1 with context types deep dive and LangGraph fundamentals
nkanu17 Nov 1, 2025
bbfb8a5
Add Section 4 Redis University course advisor agent notebook
nkanu17 Nov 1, 2025
5114a7c
Enhance system instructions, RAG, and memory notebooks with productio…
nkanu17 Nov 1, 2025
453a3b0
Remove obsolete revised_notebooks directory
nkanu17 Nov 1, 2025
dc80135
Complete Section 5 with performance, scaling, and production readines…
nkanu17 Nov 1, 2025
27b0568
Add comprehensive memory management and compression strategies notebook
nkanu17 Nov 1, 2025
8ae5357
Polish all notebooks with improved formatting and production quality …
nkanu17 Nov 2, 2025
bfc71f4
Updates to previous notebooks to keep in commit history
nkanu17 Nov 2, 2025
f3bf5e4
* Update readme, course_summary based on changes.
nkanu17 Nov 3, 2025
8dfd7ad
Rename notebooks_v2 to notebooks and update documentation
nkanu17 Nov 3, 2025
ea4efc2
Remove nk_scripts dir from git
nkanu17 Nov 3, 2025
dcf7ba7
Clean up notebooks directory - remove development/testing files
nkanu17 Nov 3, 2025
4b95635
Remove test scripts and development files from root directory
nkanu17 Nov 3, 2025
7a32607
Restore original 02_full_featured_agent.ipynb and remove Copy1 version
nkanu17 Nov 3, 2025
b4c0b1a
Remove development documentation files
nkanu17 Nov 3, 2025
ee464e4
Remove test documentation and scripts
nkanu17 Nov 3, 2025
204a63a
Remove development artifacts from reference-agent
nkanu17 Nov 3, 2025
f2ce19f
Remove unused .env.example.revised and archive directories
nkanu17 Nov 3, 2025
b676ea5
Remove development artifacts from notebooks directory
nkanu17 Nov 3, 2025
d88be0d
Rename Section 1: Context Engineering Foundations with updated notebo…
nkanu17 Nov 3, 2025
a5ddcb2
Rename Section 2: Retrieved Context Engineering with updated notebook…
nkanu17 Nov 3, 2025
266db7e
Rename Section 3: Memory Systems for Context Engineering with updated…
nkanu17 Nov 3, 2025
4bc5fd4
Remove development directories from git tracking (keep files locally)
nkanu17 Nov 3, 2025
cee408c
Remove personal development files from git tracking (keep locally)
nkanu17 Nov 3, 2025
71884c2
Rename Section 4: Integrating Tools and Agents with updated notebook …
nkanu17 Nov 3, 2025
578dff5
Format notebooks
nkanu17 Nov 4, 2025
8647c22
Add advanced context engineering with chunking notebook
nkanu17 Nov 4, 2025
d0ffbcb
Merge Section 2 & 2.5: Unified Retrieved Context Engineering
nkanu17 Nov 5, 2025
484e9da
Remove merge analysis docs from git tracking
nkanu17 Nov 5, 2025
fd8c382
Remove section 5 notebooks
nkanu17 Nov 5, 2025
62bf716
Removed vector alogrithm benchmark notebook from git
nkanu17 Nov 5, 2025
0271fad
De-emphasize production language, resolve TODOs, and clean up files
nkanu17 Nov 5, 2025
96bf0f5
Reword some content
nkanu17 Nov 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 51 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,14 @@ jobs:

services:
redis:
image: redis:8.0-M03
image: redis:8.2
ports:
- 6379:6379
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5

steps:
- uses: actions/checkout@v3
Expand All @@ -99,18 +104,63 @@ jobs:
with:
python-version: ${{ env.PYTHON_VERSION }}

# Start Agent Memory Server
- name: Start Agent Memory Server
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: |
# Start the Agent Memory Server
docker run -d \
--name agent-memory-server \
--network host \
-e REDIS_URL=redis://localhost:6379 \
-e OPENAI_API_KEY=$OPENAI_API_KEY \
-e LOG_LEVEL=INFO \
ghcr.io/redis/agent-memory-server:latest

# Wait for memory server to be ready
echo "Waiting for Agent Memory Server to be ready..."
for i in {1..30}; do
if curl -f http://localhost:8000/health 2>/dev/null; then
echo "✅ Agent Memory Server is ready!"
break
fi
echo "Waiting... ($i/30)"
sleep 2
done

# Show status but don't fail if server isn't ready
if curl -f http://localhost:8000/health 2>/dev/null; then
echo "✅ Agent Memory Server is healthy"
else
echo "⚠️ WARNING: Agent Memory Server may not be ready"
echo "Docker logs:"
docker logs agent-memory-server || true
fi

- name: Create and activate venv
run: |
python -m venv venv
source venv/bin/activate
pip install --upgrade pip setuptools wheel
pip install pytest nbval

# Install the redis-context-course package and its dependencies
cd python-recipes/context-engineering/reference-agent
pip install -e .

- name: Test notebook
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
COHERE_API_KEY: ${{ secrets.COHERE_API_KEY }}
AGENT_MEMORY_URL: http://localhost:8000
REDIS_URL: redis://localhost:6379
run: |
echo "Testing notebook: ${{ matrix.notebook }}"
source venv/bin/activate
pytest --nbval-lax --disable-warnings "${{ matrix.notebook }}"

- name: Show Agent Memory Server logs on failure
if: failure()
run: |
docker logs agent-memory-server
23 changes: 23 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -229,3 +229,26 @@ python-recipes/vector-search/datasets
litellm_proxy.log
litellm_redis.yml
.vscode/

# Development directories
nk_scripts/
python-recipes/context-engineering/notebooks_archive/

# Personal development files (keep locally, not in git)
python-recipes/agents/02_full_featured_agent-Copy1.ipynb
python-recipes/vector-search/01_redisvl-nk.ipynb
python-recipes/vector-search/08_vector_algorithm_benchmark.ipynb
python-recipes/vector_search.py

# Context engineering course - generated data files
python-recipes/context-engineering/notebooks/section-2-retrieved-context-engineering/course_catalog_section2.json

# Context engineering course - analysis and merge documentation (keep locally)
python-recipes/context-engineering/notebooks/SECTION_2_MERGE_ANALYSIS.md
python-recipes/context-engineering/overlap-analysis-summary.md
python-recipes/context-engineering/section-2.5-analysis.md
python-recipes/context-engineering/section-2.5-overlap-analysis.md
python-recipes/context-engineering/section-2.5-philosophy-alignment.md
python-recipes/context-engineering/section-2.5-revised-plan.md
python-recipes/context-engineering/sections-1-4-notebooks.html
python-recipes/context-engineering/pdfs/
2 changes: 2 additions & 0 deletions python-recipes/context-engineering/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# OpenAI API Key (required to pass to the API container)
OPENAI_API_KEY=your-openai-api-key-here
2 changes: 2 additions & 0 deletions python-recipes/context-engineering/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
venv
.env
Loading
Loading