Token导航 LogoToken导航TokenDH.com
SAP Discovery Agent logo
AI代理未说明官方级别未说明来源级核验

SAP Discovery Agent

MCP Server

一个AI驱动的代理系统,利用LangGraph、LangChain和OpenAI GPT-4智能地将业务流程映射到SAP构件(模块、交易代码、Fiori应用、执行流程)。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
PythonAI代理工作流自动化

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

WasifAkram1997

提供方

WasifAkram1997

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

SAP流程发现代理

AI驱动的代理系统,使用LangGraph、LangChain和OpenAI GPT-4智能地将业务流程映射到SAP工件(模块、事务代码、Fiori应用程序、执行流)。

🎯 概述

语法GenAI平台开发人员评估,该项目演示了具有基于质量的迭代推理、多用户会话管理和生产就绪架构的高级代理工作流。

关键能力

  • 智能代理工作流:质量驱动的推理循环(plan → action → scoring → synthesis)迭代直到60%置信阈值
  • 多用户会话隔离:具有作业跟踪和自动清理功能的线程安全会话管理
  • 双工具集成:用于SAP文档的MCP服务器+用于web搜索的Serper API
  • 会话界面:具有上下文感知记忆的自然语言聊天
  • 批处理:同时处理多个流程并跟踪进度
  • 生产特点:文件日志轮换、全面测试、Docker部署

🏗️ 建筑

代理推理循环

START → plan → action → scoring → synthesis → END
         ↑                  │
         └──────────────────┘
    (iterates until quality ≥ 0.60 or max 3 iterations)

质量维度 (权重相等):

  • 模块覆盖范围-已识别的SAP模块(MM、FI、CO、SD等)
  • T-Code置信度-找到交易代码
  • Fiori Presence-提到的Fiori应用程序
  • 执行流程深度-分步流程

技术栈

后端:

  • FastAPI(带有Uvicorn的异步REST API)
  • LangGraph 1.0(工作流编排)
  • LangChain 1.0(代理框架)
  • PostgreSQL(通过LangGraph检查指针的对话内存)
  • Python 3.11

前端:

  • React 18+TypeScript
  • Tailwind CSS
  • Vite(构建工具)
  • Axios(HTTP客户端)

基础设施:

  • Docker+Docker组合
  • PostgreSQL 16
  • MCP(模型上下文协议)服务器

🚀 快速开始

选项1:Docker(推荐用于演示)

先决条件:Docker,Docker Compose

# 1. Clone repository
git clone 
cd sap-process-discovery

# 2. Create .env file (copy from template)
cp .env.example .env

# 3. Edit .env with your API keys
# Required: OPENAI_API_KEY, SERPER_API_KEY
# Optional: LANGSMITH_* (for tracing)

# 4. Start all services with one command
docker-compose up

# Services will be available at:
# - Frontend: http://localhost:3000
# - Backend API: http://localhost:8001
# - API Docs: http://localhost:8001/docs
# - PostgreSQL: localhost:5432

选项2:手动设置(开发)

先决条件:Python 3.10+,Node.js 18+,PostgreSQL 14+

# 1. Clone and navigate
git clone 
cd sap-process-discovery

# 2. Run automated setup script
./setup.sh

# 3. Configure environment
cp .env.example .env
# Edit .env with your API keys

# 4. Start backend (terminal 1)
cd backend
uvicorn api.main:app --host 0.0.0.0 --port 8001

# 5. Start frontend (terminal 2)
cd frontend
npm run dev

# 6. Open http://localhost:3000

📋 配置

环境变量

创建 .env 具有以下内容:

# OpenAI API (required)
OPENAI_API_KEY=your_openai_api_key_here

# Web Search (required for supplementary research)
SERPER_API_KEY=your_serper_api_key_here

# Database URL (for LangGraph conversation memory)
LANGGRAPH_DATABASE_URL=postgresql://postgres:abcd1234@localhost:5432/sap_discovery

# LangSmith Tracing (optional)
LANGSMITH_TRACING=true
LANGSMITH_API_KEY=your_langsmith_key_here
LANGSMITH_PROJECT=sap-discovery

🧪 测试

该项目包括关键功能的单元测试:

cd backend

# Run all tests
pytest tests/ -v

# Run specific test files
pytest tests/test_session_isolation.py -v
pytest tests/test_api_health.py -v

# Expected output: 4 tests pass
# - 2 session isolation tests (proves multi-user safety)
# - 2 API health tests (proves system works)

📂 项目结构

sap-process-discovery/
├── backend/
│   ├── api/
│   │   ├── main.py              # FastAPI application entry point
│   │   ├── middleware.py        # Session middleware
│   │   └── models.py            # API request/response models
│   ├── sap_discovery/
│   │   ├── workflow/
│   │   │   ├── graph.py         # LangGraph workflow definition
│   │   │   ├── state.py         # Agent state schema
│   │   │   └── nodes.py         # Workflow nodes (plan, action, scoring, synthesis)
│   │   ├── main_agent/
│   │   │   ├── agent.py         # Main conversational agent
│   │   │   ├── chat.py          # Chat interface
│   │   │   └── tools.py         # Agent tools (run_sap_discovery, export, report)
│   │   ├── models/
│   │   │   └── schema.py        # Structured output schemas (SAPProcessMapping)
│   │   ├── tools/
│   │   │   ├── registry.py      # Tool initialization (MCP)
│   │   │   └── web_tools.py     # Web search tools
│   │   ├── llm/
│   │   │   └── models.py        # LLM instance creation
│   │   ├── utils/
│   │   │   ├── logging.py       # File logging with rotation (10MB FIFO)
│   │   │   ├── session_state.py # In-memory session state management
│   │   │   └── storage.py       # File upload handling
│   │   └── data/
│   │       └── loader.py        # Excel data loading
│   ├── tests/
│   │   ├── conftest.py          # Pytest configuration
│   │   ├── test_session_isolation.py  # Session safety tests
│   │   └── test_api_health.py         # API endpoint tests
|   |
│   ├── requirements.txt         # Python dependencies
│   ├── Dockerfile              # Backend container config
│   └── .env.example            # Environment template
├── frontend/
│   ├── src/
│   │   ├── components/          # React components
│   │   ├── services/
│   │   │   └── api.ts          # API client
│   │   ├── types/              # TypeScript interfaces
│   │   └── App.tsx             # Main application
│   ├── package.json
│   ├── Dockerfile              # Frontend container config
│   └── vite.config.ts
├── data/
│   └── input/
│       └── Car_Rental_Business_Processes_Detailed.xlsx
├── docs/
│   ├── QUICKSTART.md           # Detailed setup guide
│   ├── ARCHITECTURE.md         # System architecture
│   └── POSTGRESQL_SETUP.md     # Database setup
├── logs/                       # Application logs (auto-created)
├── uploads/                    # User file uploads (auto-created)
├── docker-compose.yml          # Multi-container orchestration
├── setup.sh                    # Automated setup script
└── README.md

🎨 功能深潜

1.基于会话的多用户架构

  • 孤立:每个用户会话都有隔离状态(无数据交叉污染)
  • 作业跟踪:使用唯一的作业ID跟踪每个会话的多个Excel上传
  • 内存存储:快速访问会话数据和发现结果

2.质量驱动的代理工作流

发现子代理使用复杂的推理循环:

  1. 计划节点:分析质量差距并决定调用哪些工具
  2. 动作节点:执行SAP文档搜索和/或网络搜索
  3. 评分节点:评估4个维度的结果(每个维度0-1分)
  4. 合成节点:生成最终结构化 SAPProcessMapping

迭代逻辑:循环直到 overall_quality ≥ 0.60 或最多3次迭代

3.旋转式文件记录

  • 位置: backend/logs/sap_discovery.log
  • 旋转:文件超过10MB时删除FIFO
  • 备份:保留5个旧文件(最多60MB)
  • 格式: [timestamp] [module] LEVEL: message

4.结构化输出模式

class SAPProcessMapping(BaseModel):
    process: str                              # Business process name
    module: List[str]                         # SAP modules (MM, FI, CO, SD, etc.)
    transaction_codes: List[str]              # T-codes (ME21N, FB01, etc.)
    fiori_apps: List[str]                     # Fiori app IDs
    execution_flow: List[str]                 # Step-by-step flow
    configuration_dependencies: List[str]      # Config requirements
    integration_points: List[str]             # System integrations
    references: List[Reference]               # Source citations

📊 API终点

端点方法描述
/获取API信息
/healthGET健康检查(代理状态、时间戳)
/chatPOST发送消息(文本+可选Excel文件)
/docsGET交互式API文档(Swagger UI)

🔧 发展

重建Docker容器

# Rebuild specific service
docker-compose build backend
docker-compose build frontend

# Rebuild all services
docker-compose build

# Start with fresh build
docker-compose up --build

查看日志

# Docker logs (live)
docker-compose logs -f backend
docker-compose logs -f frontend

# Local file logs
tail -f backend/logs/sap_discovery.log

数据库访问

# Connect to PostgreSQL (Docker)
docker-compose exec postgres psql -U postgres -d sap_discovery

# View conversation memory
SELECT thread_id, checkpoint_id FROM checkpoints LIMIT 10;

📖 文档

🚧 已知限制和未来工作

当前限制:

  • 内存会话存储(服务器重启时数据丢失)
  • 无身份验证/授权(单租户)
  • MCP服务器URL是硬编码的(应该是可配置的)

潜在增强功能:

  • Redis用于分布式会话缓存(水平扩展)
  • 用于异步作业处理的Celery任务队列
  • 用于常见SAP查找的响应缓存
  • 每节LLM成本跟踪
  • 实时进度的流式响应(SSE)
  • 导出为多种格式(PDF、JSON、CSV)

👥 贡献者

加齐·瓦西夫·阿克兰

______________________________________________________________________

专为:语法软件开发人员评估 聚焦:代理编排、生产架构、可扩展性思维 日期: 2026

目录标签

目录标签

PythonAI代理工作流自动化SAP集成本地部署业务流程映射智能工作流会话接口

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP