From 6d258862869ac451000fb44807b3f0c7f16a9d4b Mon Sep 17 00:00:00 2001 From: cruld Date: Mon, 31 Mar 2025 03:06:38 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(agent):=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=99=BA=E8=83=BD=E4=BD=93=E5=AD=98=E5=82=A8=E5=92=8C=E8=AE=B0?= =?UTF-8?q?=E5=BF=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 引入SqliteAgentStorage和SqliteMemoryDb来实现智能体的持久化存储 - 优化智能体的记忆管理,以支持用户记忆和会话摘要功能 --- 数据库优化工程师.py | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/数据库优化工程师.py b/数据库优化工程师.py index 9d65a6f..bc4ebe3 100644 --- a/数据库优化工程师.py +++ b/数据库优化工程师.py @@ -15,7 +15,7 @@ from typing import Optional from dataclasses import dataclass from dotenv import load_dotenv -from agno.agent import Agent +from agno.agent import Agent, AgentMemory from agno.models.deepseek import DeepSeek from agno.knowledge.pdf import PDFKnowledgeBase from agno.vectordb.lancedb import LanceDb, SearchType @@ -25,8 +25,9 @@ from agno.tools.mcp import MCPTools from mcp.client.stdio import stdio_client from mcp import ClientSession, StdioServerParameters from agno.knowledge.website import WebsiteKnowledgeBase +from agno.storage.agent.sqlite import SqliteAgentStorage +from agno.memory.db.sqlite import SqliteMemoryDb - async def main(): load_dotenv() @@ -94,13 +95,31 @@ async def main(): ): agent = Agent( model=DeepSeek(id="deepseek-chat"), + storage=SqliteAgentStorage( + table_name="agent_sessions", db_file="tmp/agent_storage.db" + ), + memory=AgentMemory( + db=SqliteMemoryDb( + table_name="agent_memory", db_file="tmp/agent_storage.db" + ), + create_user_memories=True, + create_session_summary=True, + ), + # Set add_history_to_messages=true to add the previous chat history to the messages sent to the Model. + #add_history_to_messages=True, + # Number of historical responses to add to the messages. + #num_history_responses=3, markdown=True, knowledge=knowledge_base, search_knowledge=True, show_tool_calls=True, tools=[postgres_tools, searxng_tools], + session_id="1", + # Enable the agent to read the chat history + read_chat_history=True, ) - await agent.aprint_response("帮我分析一下aq.public数据库,并给出优化建议", stream=True) + await agent.aprint_response("我现在想要记录用户对智能体和课程的使用权限及使用情况,需要如何设计表结构", stream=True) + # await agent.aprint_response("帮我分析一下aq.public数据库,并给出优化建议", stream=True) # await agent.aprint_response("阅读下 https://www.lucidchart.com/blog/database-design-best-practices 这篇文章", stream=True)