使用说明
🚀 SAP LLM + MCP 客户端 (PoC)
简短的本地第一概念验证,结合SAP CAP(Node.js)、LangGraph和模型上下文协议(MCP),通过聊天UI回答SAP问题。它可以通过MCP服务器搜索SAP文档和SAP Notes,并使用可见的工具调用流式传输结果。
⚠️ PoC:用于本地使用。支持Azure OpenAI、OpenAI API、Ollama(本地)和SAP AI核心(BTP)。生产没有硬化。
[!小心] 这是一个PoC的研究项目,几乎不起作用。不要在生产或其他任何地方使用它。最好使用这个:https://github.com/marianfoo/local-llm-client-for-sap-consultants-librechat
它做什么
- 通过WebSocket进行实时聊天,并提供流式响应
- 通过LangGraph规划器调用MCP服务器(SAP Docs、SAP Notes、可选BTP)→ act → 响应流
- 内联显示工具调用(开始/完成、热门、错误)
快速启动
前提条件:Node 18+,npm。可选:Ollama(完全本地)。
- 安装
npm install
- 配置LLM提供程序
创建一个 .env 文件并设置LLM提供程序:
Azure OpenAI(推荐):
LLM_PROVIDER=azure
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com
AZURE_OPENAI_API_KEY=your-api-key-here
AZURE_OPENAI_DEPLOYMENT=gpt-4o-mini
# Model Capability Level (Optional)
# Controls prompt complexity based on your model's capabilities:
# - strong: GPT-4, Claude Opus (detailed reasoning)
# - medium: GPT-4o-mini, GPT-3.5, Large Llama 70B+ (default)
# - weak: Ollama 7B/13B, Small Llama (simple instructions)
MODEL_CAPABILITY=medium
OpenAI API:
LLM_PROVIDER=openai
OPENAI_API_KEY=sk-your-api-key
OPENAI_MODEL=gpt-4o-mini
MODEL_CAPABILITY=medium
Ollama(当地):
# Start Ollama first
ollama serve
ollama pull llama3.1:latest
# Configure
LLM_PROVIDER=ollama
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=llama3.1:latest
MODEL_CAPABILITY=weak # Use 'weak' for 7B/13B models, 'medium' for 70B+
SAP人工智能核心(BTP):
LLM_PROVIDER=sap-ai-core
SAP_AI_CORE_DEPLOYMENT_URL=https://api.ai.prod.eu-central-1.aws.ml.hana.ondemand.com/v2/inference/deployments/your-deployment-id
SAP_AI_CORE_CLIENT_ID=sb-your-client-id
SAP_AI_CORE_CLIENT_SECRET=your-client-secret
SAP_AI_CORE_AUTH_URL=https://your-subdomain.authentication.eu10.hana.ondemand.com
MODEL_CAPABILITY=medium # Adjust based on your deployed model
模型能力指南:
-
强壮的:用于GPT-4、GPT-4涡轮、克劳德·奥普
- 详细的推理说明
- 复杂的工具链模式
- 最佳质量响应
-
中等:用于GPT-4o-mini、GPT-3.5、Llama 70B+(默认)
- 均衡的指令复杂性
- 适用于大多数型号
- 推荐起点
-
虚弱:适用于Olama 7B/13B、小型Llama车型
- 简单、明确的指示
- 防止复制示例
- 对较小型号至关重要
然后启动应用程序:
npm run dev
- 打开用户界面
http://localhost:5173
MCP服务器配置
MCP(模型上下文协议)服务器配置在 backend/mcp.servers.json.
可用服务器
-
sap_docs -SAP帮助门户文档
- 网址:
https://mcp-sap-docs.example.com/mcp - 工具:
sap_help_search,sap_help_get,search,fetch - 用途:如何指导、设置文档、配置
- 网址:
-
sap_notes -SAP知识库
- 网址:
https://mcp-sap-notes.example.com/mcp - 工具:
sap_note_search,sap_note_get - 用于:Bug修复、补丁、故障排除、错误解决方案
- 网址:
-
抽象数据类型 -ABAP开发工具(本地)
- 网址:
http://localhost:3234/mcp - 工具:
GetProgram,GetClass,GetTable,SearchObject等等。 - 用于:ABAP源代码、表结构、功能模块
- 需要:ADT MCP服务器在端口3234上本地运行
- 网址:
-
s4hana -SAP S/4HANA OData服务
- 网址:
https://mcp-sap-s4.example.com/mcp - 工具:
search-sap-services,discover-service-entities,get-entity-schema,execute-entity-operation - 用于:业务伙伴、销售订单、服务发现、CRUD操作
- 网址:
-
帽子 -CAP应用服务
- 网址:
https://mcp-cap-plugin-test.example.com/mcp - 工具:
cap_describe_model,Books_query,Authors_query等等。 - 用于:CAP服务实体(图书、作者、编目服务)
- 网址:
配置文件
编辑 backend/mcp.servers.json:
{
"servers": [
{
"label": "sap_docs",
"enabled": true,
"url": "https://mcp-sap-docs.example.com/mcp",
"tags": ["docs", "help"],
"description": "Official SAP docs + Help Portal"
},
{
"label": "adt",
"enabled": true,
"url": "http://localhost:3234/mcp",
"tags": ["abap", "source"],
"description": "ABAP Development Tools"
}
]
}
添加新服务器
- 向添加新条目
servers数组 - 集
enabled: true激活 - 提供独特
label,url,可选tags和description - 重新启动后端或在运行时重新加载:
curl -X POST http://localhost:4004/admin/mcp/reload
后端将自动发现并集成来自所有启用服务器的工具。
有用的脚本
npm run dev→ 前端+后端(使用.env配置)npm run dev:azure→ 使用Azure OpenAI运行npm run dev:openai→ 使用OpenAI API运行npm run dev:ollama→ 与Ollama(当地人)一起跑步npm run dev:sap-ai-core→ 使用SAP AI Core(BTP)运行npm run dev:local→ dev的别名:ollamanpm run dev:backend→ 仅限CAP后端(ws://localhost:4004/聊天)npm run dev:frontend→ 仅限React前端(http://localhost:5173)npm run smoke:mcp→ 快速MCP连接检查
配置指南
看 ENV_CONFIGURATION.md 有关详细的配置示例和SAP AI Core设置说明。
更多架构细节请参见 @docs/DETAILED.md.
