自动化工具

Eros Automation是一个基于Python的自动化工具,提供图像处理、音频生成和会话管理功能。

  • by Bagyalakshmi-Eros
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Bagyalakshmi-Eros/Agentic-AI-MCP

使用说明

Eros自动化

安装程序(Python 3.11)

1) 创建虚拟环境(venv)

从项目文件夹(包含requirements.txt的文件夹)

python3.11-m venv.venv

2) 激活venv

Linux/macOS

source.ven/bin/activate

Windows(PowerShell)

.venv\Scripts\Activate.ps1

3) 安装依赖项

python-m pip安装--升级pip pip安装-r要求.txt

4) 运行(两个终端)

终端1(MCP服务器)

python main.py mcp

终端2(Web应用程序)

python app.py

跑

两种工艺设置(推荐):

  • 终端1(MCP服务器): python main.py mcp
  • 终端2(Web应用程序): python app.py

web应用程序通过SSE连接到MCP服务器(请参阅 modules/config.py).

运行时数据写入 data/:

  • data/uploads/ 用户上传
  • data/outputs/ 生成的图像/音频
  • data/memory/ session+长期内存JSON

AI架构

代理架构(核心管道)

  • 编排器: modules/agent.py (ErosAgent)
    • 每个进程加载一次推理LLM(变压器)(modules/inference.py)
    • 通过SSE连接到MCP服务器并发现可用工具
    • 迭代:提示推理模型→ 解析工具调用→ 执行MCP工具→ 将工具结果反馈给模型
  • 推断: modules/inference.py
    • 用途 REASONING_MODEL_ID +数据类型来自 modules/config.py
    • 生成纯文本或结构化工具调用(请参阅下面的工具用法)
  • 规划师: modules/planner.py
    • 保持迭代限制/控制旋钮(保持与当前循环相同的行为)

工具使用(MCP)

  • 运输上海证券交易所
    • MCP服务器: modules/infra/mcp_server.py (FastMCP,运行速度为 http://<host>:<port>/sse)
    • MCP客户端: modules/agent.py 连接使用 MCP_SERVER_URL 从 modules/config.py
  • 工具合同:
    • 推理模型被指示(通过 SYSTEM_PROMPT)发射:
      • <tool_call>{"name":"tool","arguments":{...}}</tool_call>
    • modules/tools.py 将其解析为可执行调用。
  • 暴露的工具 (姓名保留):
    • colorize_image(image_path)
    • make_grayscale(image_path)
    • change_background(image_path, background_description)
    • text_to_image(prompt)
    • voice_clone(prompt, voice_file_path, voice_id, language)
    • voice_remix_rafi(input_audio_path)

内存设计

  • 会话内存: modules/memory.py (SessionManager)
    • 坚持 data/memory/sessions.json
    • 按会话id存储聊天记录+工具调用元数据
  • 长期记忆: modules/memory.py (LongTermMemory)
    • 坚持 data/memory/long_term_memory.json
    • 存储轻量级的最新摘要 user_id

流程图

flowchart LR
  UI[FastAPI Web UI<br/>modules/infra/web_app.py] -->|POST /api/chat| AG[ErosAgent.process<br/>modules/agent.py]
  AG -->|SSE client| MCP[(MCP Server SSE<br/>/sse)]
  MCP --> TOOLS[Tools: colorize/grayscale/background<br/>text_to_image/voice_clone/voice_remix]
  TOOLS --> OUT[data/outputs]
  UI --> UP[data/uploads]
  AG --> MEM[data/memory<br/>sessions.json + long_term_memory.json]
  OUT --> UI