© 2026FindAgent  · @simprr
返回列表
k

kingjulio8238/Memary

The Open Source Memory Layer For Autonomous Agents

agentsknowledge-graphmemorymultiagent-systemsragself-improvement
⭐

2.6k

Stars

🔱

192

Forks

👁

19

Watchers

📋

11

Issues

Jupyter NotebookMIT创建于 2024/4/10更新于 今天
在 GitHub 上查看
README
由 Gemini 翻译整理

LinkedIn Follow Documentation Demo PyPI Downloads Last Commit License

管理您的智能体记忆

智能体推动了类人推理的发展,是构建 AGI(通用人工智能)以及理解人类自身的重要一步。记忆是人类处理任务的关键组成部分,在构建 AI 智能体时也应被赋予同等权重。Memary 通过模拟人类记忆来提升这些智能体的能力。

快速入门 🏁

安装 Memary

  1. 使用 pip 安装:

请确保您运行的 Python 版本为 3.10 或以上。

  1. 配置环境变量: 在根目录下创建一个 .env 文件:

    OPENAI_API_KEY="YOUR_API_KEY"
    PERPLEXITY_API_KEY="YOUR_API_KEY"
    GOOGLEMAPS_API_KEY="YOUR_API_KEY"
    ALPHA_VANTAGE_API_KEY="YOUR_API_KEY"
    
    Database usage (see API info):
    FALKORDB_URL="falkor://[[username]:[password]]@[falkor_host_url]:port"
    or
    NEO4J_PW="YOUR_NEO4J_PW"
    NEO4J_URL="YOUR_NEO4J_URL"
    
  2. 获取 API 凭证:

    API 信息

    • OpenAI key
    • FalkorDB
      • 登录 → 点击 'Subscribe' → 在仪表板创建一个免费实例 → 使用提供的凭证(用户名、密码、falkor_host_url 和端口)。
    • Neo4j
      • 点击 'Start for free' → 创建一个免费实例 → 打开自动下载的 txt 文件并使用其中的凭证。
    • Perplexity key
    • Google Maps
      • 在 Google Cloud 控制台的“API 和服务”选项卡中的“凭据”页面生成密钥。
    • Alpha Vantage
      • 建议使用 https://10minutemail.com/ 生成临时邮箱来注册。
  3. 更新用户角色设定:请根据 streamlit_app/data/user_persona_template.txt 中的模板,更新 streamlit_app/data/user_persona.txt。模板中已提供说明——将花括号内容替换为相关信息即可。

  4. [可选] 更新系统角色设定:如有需要,可修改 streamlit_app/data/system_persona.txt。

  5. [可选] 多图谱 (Multi-Graphs):使用 FalkorDB 的用户可以生成多个图谱,并在不同 ID 之间切换,这些 ID 对应不同的智能体。这使得不同智能体的记忆和知识上下文能够无缝切换和管理。

  6. 运行:

cd streamlit_app
streamlit run app.py

基础用法

from memary.agent.chat_agent import ChatAgent

system_persona_txt = "data/system_persona.txt"
user_persona_txt = "data/user_persona.txt"
past_chat_json = "data/past_chat.json"
memory_stream_json = "data/memory_stream.json"
entity_knowledge_store_json = "data/entity_knowledge_store.json"
chat_agent = ChatAgent(
    "Personal Agent",
    memory_stream_json,
    entity_knowledge_store_json,
    system_persona_txt,
    user_persona_txt,
    past_chat_json,
)

在初始化时,可以通过将 ['search', 'vision', 'locate', 'stocks'] 的子集作为 include_from_defaults 参数传入,来选择不同的默认工具集。

多图谱 (Multi-Graph)

使用 FalkorDB 数据库时,您可以创建多个智能体。以下是如何为不同用户设置个人智能体的示例:

# 用户 A 的个人智能体
chat_agent_user_a = ChatAgent(
    "Personal Agent",
    memory_stream_json_user_a,
    entity_knowledge_store_json_user_a,
    system_persona_txt_user_a,
    user_persona_txt_user_a,
    past_chat_json_user_a,
    user_id='user_a_id'
)

# 用户 B 的个人智能体
chat_agent_user_b = ChatAgent(
    "Personal Agent",
    memory_stream_json_user_b,
    entity_knowledge_store_json_user_b,
    system_persona_txt_user_b,
    user_persona_txt_user_b,
    past_chat_json_user_b,
    user_id='user_b_id'
)

添加自定义工具

def multiply(a: int, b: int) -> int:
    """将两个整数相乘并返回结果"""
    return a * b

chat_agent.add_tool({"multiply": multiply})

关于创建自定义工具的更多信息...

贡献者
skkgasa
项目信息
默认分支main
LicenseMIT License
创建时间2024/4/10
最近更新今天
GAI 中文摘要

Memary 是一个专为自主智能体设计的开源内存层框架,旨在通过模拟人类记忆机制来增强智能体的任务处理能力。该项目解决了当前智能体在长期交互中缺乏上下文连贯性和深度认知的问题,是构建类人智能系统的重要基础设施。

内置基于知识图谱的记忆存储机制,能够有效组织和检索智能体在复杂交互中的信息。支持多模态处理,兼容视觉模型以实现对环境信息的高效感知与记忆。提供灵活的本地模型切换功能,支持通过 Ollama 部署多种主流开源模型。具备良好的可扩展性,通过向量数据库与知识图谱的结合优化了智能体的自我完善能力。

适用于需要维持长期记忆或处理复杂任务的自主智能体开发人员,特别是在构建多智能体系统或需要高上下文关联的 AI 应用场景中表现出色。