Ai Lab App

← início

AI Lab — aplicação CAP com IA no SAP BTP

Aplicação de exemplo (Node.js + CAP + UI5) com um adaptador de provedor de IA que

suporta três modos, escolhidos automaticamente:

ProvedorQuando é usadoComo configurar
SAP AI Core (Generative AI Hub)há binding aicore ou AICORE_SERVICE_KEYcds bind / serviço aicore / .env
LLM externo (OpenAI-compatível)existe LLM_API_KEY ou OPENAI_API_KEY.env (ver abaixo)
mocknada configurado— (a app funciona em modo demonstração)

Estrutura

db/schema.cds              entidade Interactions (histórico de prompts/respostas)

srv/ai-service.cds serviço OData: action ask(prompt) + function provider()

srv/ai-service.js handlers do serviço

srv/lib/ai-provider.js adaptador de provedores (AI Core / OpenAI / mock)

app/ui/ UI5 (freestyle, sem build)

app/xs-app.json rotas do approuter (login XSUAA + proxy para o srv)

app/package.json dependência @sap/approuter (módulo approuter do MTA)

mta.yaml MTA: srv (CAP) + approuter + xsuaa

Rodar localmente

cd ~/projects/ai-lab

npm install

npx cds watch

Abra <http://localhost:4004/ui/index.html>.

Teste rápido da API:

curl 'http://localhost:4004/api/ai/provider()'

curl -X POST http://localhost:4004/api/ai/ask \

-H &#x27;content-type: application/json&#x27; \

-d &#x27;{&quot;prompt&quot;:&quot;Olá!&quot;}&#x27;

Configurar IA

Crie um arquivo .env na raiz do projeto (não versionado).

Opção A — LLM externo (funciona hoje):

LLM_API_KEY=sua-chave

LLM_BASE_URL=https://api.openai.com/v1 # opcional

LLM_MODEL=gpt-4o-mini # opcional

Opção B — SAP AI Core / Generative AI Hub:

  1. 1. Tenha um serviço aicore disponível (AI Core + Generative AI Hub habilitados).
  2. 2. Faça o bind do serviço à aplicação, ou defina no .env:
AICORE_SERVICE_KEY={"serviceurls":{...},"clientid":"...","clientsecret":"...","url":"..."}

AICORE_MODEL=gpt-4o # opcional

O código já usa @sap-ai-sdk/orchestration quando detecta essa configuração.

Deploy no Cloud Foundry

cd ~/projects/ai-lab

mbt build

cf deploy mta_archives/ai-lab_1.0.0.mtar -f

App: <https://0494f001trial-dev-ai-lab.cfapps.us10-001.hana.ondemand.com>

(o login é feito com sua conta SAP via XSUAA)

Observações

Para dados persistentes, crie uma instância do SAP HANA Cloud no Cockpit e rode

cds add hana para usar um HDI container no MTA.

simplificar o fetch da UI. Em produção, habilite e trate o token x-csrf-token.

Alternativas: Generative AI Hub Trial (30 dias), conta BTP Free Tier, ou

entitlement de AI Core na sua global account corporativa.