> ## Documentation Index
> Fetch the complete documentation index at: https://ikun.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# SQLite 内存存储

## 代码

```python cookbook/agent_concepts/memory/sqlite_memory.py theme={null}
"""
此示例展示了如何使用带 SQLite 存储的 Memory 类。
"""

from agno.agent.agent import Agent
from agno.memory.v2.db.sqlite import SqliteMemoryDb
from agno.memory.v2.memory import Memory
from agno.models.openai import OpenAIChat
from agno.storage.sqlite import SqliteStorage

# 创建 SQLite 内存数据库
memory_db = SqliteMemoryDb(
    table_name="agent_memories",  # 在数据库中使用的表名
    db_file="tmp/memory.db",      # SQLite 数据库文件的路径
)

# 创建具有 SQLite 后端的内存实例
memory = Memory(db=memory_db)

# 如果表不存在，这将创建该表
memory.clear()

# 会话和用户标识符
session_id = "sqlite_memories"
user_id = "sqlite_user"

# 使用内存和 SQLite 存储创建代理
agent = Agent(
    model=OpenAIChat(id="gpt-4o-mini"),
    memory=memory,
    storage=SqliteStorage(
        table_name="agent_sessions", 
        db_file="tmp/memory.db"
    ),
    enable_user_memories=True,
    enable_session_summaries=True,
)

# 第一次交互 - 介绍个人信息
agent.print_response(
    "My name is John Doe and I like to hike in the mountains on weekends.",
    stream=True,
    user_id=user_id,
    session_id=session_id,
)

# 第二次交互 - 测试内存是否已存储
agent.print_response(
    "What are my hobbies?", 
    stream=True, 
    user_id=user_id, 
    session_id=session_id
)

# 显示存储在 SQLite 中的内存
memories = memory.get_user_memories(user_id=user_id)
print("Memories stored in SQLite:")
for i, m in enumerate(memories):
    print(f"{i}: {m.memory}")
```

## 用法

<Steps>
  <Snippet file="create-venv-step.mdx" />

  <Step title="设置环境变量">
    ```bash theme={null}
    export OPENAI_API_KEY=xxx
    ```
  </Step>

  <Step title="安装库">
    ```bash theme={null}
    pip install -U agno openai
    ```
  </Step>

  <Step title="运行示例">
    <CodeGroup>
      ```bash Mac/Linux theme={null}
      python cookbook/agent_concepts/memory/sqlite_memory.py
      ```

      ```bash Windows theme={null}
      python cookbook/agent_concepts/memory/sqlite_memory.py
      ```
    </CodeGroup>
  </Step>
</Steps>
