教程 5.1:内存中对话代理 欢迎来到会话管理的第一步!本教程将教你如何创建一个 AI 代理,它能够在单个会话内记住对话内容,使用 。 你将学到的内容 InMemorySessionService:用于临时对话的基本会话管理 会话创建:如何创建和管理对话会话 状态管理:存储和检索对话上下文 事件跟踪:记录对话历史 多轮对话:构建能够记住上下文的代理 核心概念:内存中会话 InMemorySessionService 将会话数据存储在你电脑的 RAM(内存)中。
欢迎来到会话管理的第一步!本教程将教你如何创建一个 AI 代理,它能够在单个会话内记住对话内容,使用 InMemorySessionService。
InMemorySessionService 将会话数据存储在你电脑的 RAM(内存)中。这意味着:
非常适合:
from google.adk.sessions import InMemorySessionService
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ CREATE │───▶│ USE │───▶│ CLOSE │ │ SESSION │ │ SESSION │ │ SESSION │ └─────────────┘ └─────────────┘ └─────────────┘
{ "session_id": "unique_session_id", "user_id": "user_identifier", "state": { "conversation_history": [...], "user_preferences": {...}, "current_context": "..." }, "events": [ {"type": "user_input", "content": "...", "timestamp": "..."}, {"type": "agent_response", "content": "...", "timestamp": "..."} ] }
在本教程中,我们将创建一个 个人助理代理,它能够:
5_1_in_memory_conversation/ ├── README.md # This file - concept explanation ├── requirements.txt # Dependencies ├── agent.py # Main agent with session management └── app.py # Streamlit web interface
完成本教程后,你将理解:
安装依赖:
pip install -r requirements.txt
设置你的环境:
# Create a .env file with your Google AI API key echo "GOOGLE_API_KEY=your_api_key_here" > .env
运行代理:
# Start the Streamlit app streamlit run app.py
测试记忆功能:
# 1. Create session service session_service = InMemorySessionService() # 2. Create a new session session = await session_service.create_session( app_name="personal_assistant", user_id="user123" ) # 3. Update session state await session_service.update_session_state( session_id=session.session_id, state={"user_name": "John", "preferences": ["travel", "music"]} ) # 4. Add events to track conversation await session_service.add_event( session_id=session.session_id, event_type="user_input", content="My name is John" )
尝试以下对话流程来测试记忆功能:
User: "My name is Alice" Agent: "Nice to meet you, Alice! How can I help you today?" User: "What's my name?" Agent: "Your name is Alice! I remember you told me that."
User: "I love pizza and hiking" Agent: "Great! I'll remember that you love pizza and hiking." User: "What are my interests?" Agent: "Based on our conversation, you love pizza and hiking!"
User: "I'm planning a trip" Agent: "That sounds exciting! Since you mentioned hiking, would you like recommendations for hiking destinations?" User: "Yes, where should I go?" Agent: "Given your love for hiking, I'd recommend..."
完成本教程后,你将准备好:
免责声明:
本文档采用基于机器的 AI 翻译服务进行翻译。尽管我们力求准确,但请注意,自动翻译可能存在错误或不准确之处。应以原文语言版本的文档作为权威依据。如需获取关键信息,建议使用专业的人工翻译。对于因使用本翻译而产生的任何误解或误读,我们概不负责。