SAP问答聊天客户端

一个结合SAP CAP、LangGraph和MCP协议的本地优先概念验证工具,用于通过聊天界面回答SAP相关问题,支持搜索SAP文档和SAP Notes。

  • by marianfoo
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 marianfoo/custom-llm-client

使用说明

🚀 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(完全本地)。

  1. 安装
npm install
  1. 配置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
  1. 打开用户界面
http://localhost:5173

MCP服务器配置

MCP(模型上下文协议)服务器配置在 backend/mcp.servers.json.

可用服务器

  1. sap_docs -SAP帮助门户文档

    • 网址: https://mcp-sap-docs.example.com/mcp
    • 工具: sap_help_search, sap_help_get, search, fetch
    • 用途:如何指导、设置文档、配置
  2. sap_notes -SAP知识库

    • 网址: https://mcp-sap-notes.example.com/mcp
    • 工具: sap_note_search, sap_note_get
    • 用于:Bug修复、补丁、故障排除、错误解决方案
  3. 抽象数据类型 -ABAP开发工具(本地)

    • 网址: http://localhost:3234/mcp
    • 工具: GetProgram, GetClass, GetTable, SearchObject等等。
    • 用于:ABAP源代码、表结构、功能模块
    • 需要:ADT MCP服务器在端口3234上本地运行
  4. 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操作
  5. 帽子 -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"
    }
  ]
}

添加新服务器

  1. 向添加新条目 servers 数组
  2. 集 enabled: true 激活
  3. 提供独特 label, url,可选 tags 和 description
  4. 重新启动后端或在运行时重新加载:
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的别名:ollama
  • npm 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.