Skip to main content

crewai-recall

Recall memory for CrewAI agents. Recall learns about the people your crew works for from their conversations, and gives that back as context, search results and answers.

Install

pip install crewai-recall

Create an API key at https://app.recallmem.dev/keys and export it as RECALL_API_KEY (and RECALL_WORKSPACE_ID to pick a workspace). Running your own server? Set RECALL_URL=http://localhost:8000.

Quickstart

from crewai import Agent, Crew, Task
from crewai_recall import recall_context, recall_tools

concierge = Agent(
    role="Travel concierge",
    goal="Plan trips the traveller will love",
    backstory="You remember what each traveller likes.",
    tools=recall_tools("user-42"),  # recall_search, recall_ask, recall_remember
)
plan = Task(
    description="{request}\n\nWhat you know about the traveller:\n{memory}",
    expected_output="A day-by-day plan",
    agent=concierge,
)
request = "Plan a weekend in Lisbon."
Crew(agents=[concierge], tasks=[plan]).kickoff(
    inputs={"request": request, "memory": recall_context("user-42", query=request)}
)

recall_context() reads the person's peer card and the facts that relate to the request (no model call, well under a second), so the crew starts with what Recall knows. The tools let an agent look up more, ask a question of memory and save facts the person states.

What is in the package

Import CrewAI interface What it does
RecallSearchTool BaseTool (recall_search) Facts about the person and messages they wrote that match a query. No model call.
RecallAskTool BaseTool (recall_ask) A question answered from memory (one Recall model call, a few seconds).
RecallRememberTool BaseTool (recall_remember) Saves facts the person stated; searchable at once.
recall_tools(user_id) list[BaseTool] The three tools, sharing one client.
recall_context(user_id, query=...) str What Recall knows about the person, for a task or a backstory.

The tools work blocking (run) and, on CrewAI versions that run tools asynchronously, with arun. They take user_id (the Recall peer) and an optional client=Recall(...) (or AsyncRecall(...), async only) from recall-mem, and declare RECALL_API_KEY, RECALL_WORKSPACE_ID and RECALL_URL as their environment variables. If Recall cannot be reached, a tool tells the agent so instead of failing the crew.

To have Recall learn from conversations, store them with the SDK, e.g. the request and the crew's answer: recall.session("trip-1").add_messages([user.message(request), crew_peer.message(str(result))]). See the guide.

CrewAI's own memory. CrewAI's Memory takes a pluggable StorageBackend, but that interface is a vector store: CrewAI computes the embeddings and the backend stores and searches vectors. Recall does its own learning and search from text, so it is offered as tools and context rather than as a storage backend.

Docs

MIT licensed.

Metadata

Release files for crewai-recall 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for crewai-recall 0.1.0
File Size Uploaded
crewai_recall-0.1.0.tar.gz 6.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for crewai-recall 0.1.0
File Interpreter ABI Platform
crewai_recall-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 15.2 kB

Release files / crewai_recall-0.1.0.tar.gz

Download URL crewai_recall-0.1.0.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
dd623b361023f6893a9984556552d2157552de6cb9eb67df2e570ca9fce975db
BLAKE2b-256 checksum
How to use checksums
d45b5bd069047acfd474e4bdfdcfdd3b8495767e458ffe54931c877d06cdc2e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / crewai_recall-0.1.0-py3-none-any.whl

Download URL crewai_recall-0.1.0-py3-none-any.whl
Size 8.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c98c8227d2665e5ce400e32dae5e6d67fa4cea5fae9e92c12fe3f16ae8b2cd76
BLAKE2b-256 checksum
How to use checksums
44b050a90613e14fafb0f66e57590d402c9990ec2f122d0058e83734440acb9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release 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