Låt AI köra SAS-kod, inte bara skriva den

Alla modeller kan generera SAS. Utan ett sätt att köra koden vet ingen om den fungerar. Jenners öppna Run API ger agenten den andra halvan av loopen: kör programmet, läs de verkliga resultaten och de verkliga felen, rätta och kör igen – ingen SAS-licens, ingen lokal installation.

Anonym åtkomst fungerar helt utan API-nyckel.

Att generera kod är den enkla halvan

En assistent som skriver SAS och stannar där ger dig något som ser rätt ut. Om makrot löses upp, om sammanslagningen får med de variabler du förväntade dig, om PROC MEANS returnerar 19 rader eller 0 – inget av det går att veta förrän programmet körs.

Historiskt har körning krävt en SAS-licens och en installation, vilket är precis vad en agent inte har. Run API tar bort den begränsningen: ett enda HTTP-anrop kör koden och returnerar strukturerade resultat som modellen faktiskt kan resonera kring.

Loopen

Generera, kontrollera, kör, iterera — allt maskinläsbart.

1

Generera

Modellen skriver SAS — ett DATA-steg, en PROC, ett makro. Inget särskilt krävs: Jenner accepterar standardsyntax för SAS, så koden som en assistent redan kan skriva är koden som körs.

2

Kontrollera

POSTa skriptet till /v1/validate för en genomgång som bara tolkar koden. Diagnostiken kommer tillbaka utan att något körs, så en agent kan upptäcka ett syntaxfel innan den lägger en körning på det.

3

Kör

POSTa till /v1/run med skriptet och eventuella CSV- eller Parquet-indata. Jenner kör det i en sandlådecontainer och returnerar listningen, NOTE/WARNING/ERROR-loggen, en slutkod och varje dataset och fil som programmet skapade.

4

Iterera

Loggen och diagnostiken är strukturerad återkoppling, inte en skärmbild. Agenten läser det faktiska felet, rättar den faktiska raden och kör igen — och sluter loopen utan en människa i mitten.

Så här ser det ut

Riktiga förfrågningar mot det publika API:et. Ingen nyckel, ingen konfiguration.

Kör ett skript och få tillbaka listningen

Förfrågan
curl -X POST https://api.jenneranalytics.com/v1/quick \
  --data-binary @analysis.sas
Svar
                          The MEANS Procedure

 Variable        N           Mean        Std Dev
 -----------------------------------------------
 bmi            19     17.8420103      1.4625169
 -----------------------------------------------

Upptäck ett misstag innan du lägger en körning på det

Det här kodavsnittet saknar ett semikolon. Ett anrop som bara tolkar koden pekar ut problemet, så att agenten kan rätta det och gå vidare.

Trasig SAS
data demo;
  set sashelp.class      /* <- missing semicolon */
  bmi = weight / (height**2) * 703;
run;
POST /v1/validate
{
  "valid": false,
  "diagnostics": [
    { "severity": "error",
      "message": "Unexpected token: Eq, expected Semi" }
  ]
}

Läs resultat som modellen kan resonera kring

En fullständig körning returnerar listningen, loggen, en slutkod och varje dataset som programmet skapade – med radantal, så att agenten kan verifiera att den fick data i stället för att anta det.

POST /v1/run
{
  "run_id": "r_c8679761197f4f9d8a3bc021...",
  "status": "ok",
  "exit_code": 0,
  "output":   "...formatted listing tables...",
  "log":      "NOTE: PROC MEANS statement used.",
  "datasets": [ { "name": "demo", "row_count": 19 } ],
  "files":    [],
  "diagnostics": [],
  "duration_ms": 412,
  "jenner_version": "..."
}

Slutpunkter

Bas-URL https://api.jenneranalytics.com/v1

SlutpunktSyfte
POST/v1/runKör ett skript med valfria datainmatningar. Returnerar utdata, logg, slutkod, dataset, filer och diagnostik som JSON.
POST/v1/run/streamSamma som /v1/run, strömmat som Server-Sent Events så att loggen kommer medan programmet fortfarande körs.
POST/v1/quickBekvämt på en rad. Rått skript in, listning i klartext ut — det snabbaste sättet att svara på ”fungerar den här SAS-koden?”
POST/v1/validateSyntaxkontroll som bara tolkar koden. Returnerar diagnostik utan att köra. Makron expanderas inte, så behandla fel i makrotung kod som vägledande.
GET/v1/run/{run_id}Hämta en slutförd körning, dess filer eller en förhandsvisning eller nedladdning av ett dataset. Resultaten finns kvar i en timme och kräver körningens åtkomsttoken.

Åtkomst

Börja utan nyckel. Lägg till en när du behöver mer utrymme.

NivåAutentiseringHastighetsgränsTidsgräns
AnonymIngen nyckel krävs1 000 anrop/tim per IP30 sekunder
FreeRegistrering med e-post1 500 anrop/tim60 sekunder
ProAPI-nyckel10 000 anrop/tim5 minuter
EnterpriseAPI-nyckelAnpassadAnpassad

Fungerar med det du redan använder

Dina AI-verktyg

  • Anthropics Claude Code
  • Claude Desktop
  • OpenAI:s Codex
  • ChatGPT
  • Alla system som kan göra en HTTP-förfrågan

Eller inifrån Jenner

  • Den webbaserade arbetsytan för samarbete
  • Skrivbordsappen för macOS
  • En inbyggd Jupyter-kernel

Samma exekveringsmotor ligger bakom dem alla, så kod som en agent har validerat via API:et beter sig likadant när en människa öppnar den.

Vanliga frågor

Nej. Anonyma förfrågningar fungerar helt utan nyckel, med en hastighetsgräns per IP på 1 000 förfrågningar i timmen och en tidsgräns på 30 sekunder per körning. Det räcker för att en agent ska kunna testa och iterera på riktig kod. En gratisnyckel höjer taket, och Pro- eller Enterprise-nycklar höjer det ytterligare.

Nej. API:et kör koden i en sandlådecontainer i vår infrastruktur. Det finns ingen SAS-licens, ingen lokal installation och inget som modellens värdmiljö behöver tillhandahålla.

Ja. /v1/run tar emot upprepningsbara indatafiler tillsammans med skriptet, i CSV eller Parquet. Dataset som programmet skapar kommer tillbaka med radantal och URL:er för förhandsvisning eller nedladdning, så att en agent kan granska resultaten i stället för att gissa sig till dem.

Varje körning returnerar en slutkod, hela NOTE/WARNING/ERROR-loggen och strukturerad diagnostik. Fel är explicita och maskinläsbara, så en agent kan skilja ett program som fungerade från ett som inte gjorde det – vilket är precis den signal som ett arbetsflöde som bara genererar kod saknar.

En timme. Varje körning returnerar en åtkomsttoken som gäller just den körningen; GET-slutpunkterna kräver den och den är skild från din API-nyckel.

Ge din agent ett sätt att kontrollera sitt arbete

Ingen nyckel behövs för att komma igång. Ingen SAS-licens, någonsin.