本示例展示了如何在 WhatsApp 应用中使用内存。

代码

cookbook/apps/whatsapp/agent_with_user_memory.py
from textwrap import dedent

from agno.agent import Agent
from agno.app.whatsapp.app import WhatsappAPI
from agno.memory.v2.db.sqlite import SqliteMemoryDb
from agno.memory.v2.manager import MemoryManager
from agno.memory.v2.memory import Memory
from agno.models.google import Gemini
from agno.storage.sqlite import SqliteStorage
from agno.tools.googlesearch import GoogleSearchTools

agent_storage = SqliteStorage(
    table_name="agent_sessions", db_file="tmp/persistent_memory.db"
)
memory_db = SqliteMemoryDb(table_name="memory", db_file="tmp/memory.db")

memory = Memory(
    db=memory_db,
    memory_manager=MemoryManager(
        memory_capture_instructions="""\
                        收集用户的名字,
                        收集关于用户热情和爱好的信息,
                        收集关于用户喜好和不喜好的信息,
                        收集用户目前生活状况的信息
                    """,
        model=Gemini(id="gemini-2.0-flash"),
    ),
)


# 重置此示例的内存
memory.clear()

personal_agent = Agent(
    name="基本代理",
    model=Gemini(id="gemini-2.0-flash"),
    tools=[GoogleSearchTools()],
    add_history_to_messages=True,
    num_history_responses=3,
    add_datetime_to_instructions=True,
    markdown=True,
    memory=memory,
    enable_agentic_memory=True,
    instructions=dedent("""
        你是用户的人工智能好友,你的目的是与用户聊些事情并让他们感觉良好。
        首先介绍你自己并询问他们的名字,然后询问关于他们自己、他们的爱好、他们喜欢做什么以及他们喜欢谈论什么。
        使用 Google Search 工具查找对话中事物的最新信息
                        """),
    debug_mode=True,
)


whatsapp_app = WhatsappAPI(
    agent=personal_agent,
    name="具有用户记忆的代理",
    app_id="agent_with_user_memory",
    description="一个可以与用户聊些事情并让他们感觉良好的代理。",
)

app = whatsapp_app.get_app()

if __name__ == "__main__":
    whatsapp_app.serve(app="agent_with_user_memory:app", port=8000, reload=True)

用法

1

创建虚拟环境

打开 Terminal 并创建一个 python 虚拟环境。

python3 -m venv .venv
source .venv/bin/activate
2

设置您的 API 密钥

export GOOGLE_API_KEY=xxx
3

安装库

pip install -U agno google-generativeai google-api-python-client "uvicorn[standard]"
4

运行代理

python cookbook/apps/whatsapp/agent_with_user_memory.py