Οποιοδήποτε μοντέλο μπορεί να παραγάγει SAS. Χωρίς τρόπο εκτέλεσης, κανείς δεν ξέρει αν λειτουργεί. Το ανοικτό Run API του Jenner δίνει στον πράκτορα το άλλο μισό του κύκλου: εκτελέστε το πρόγραμμα, διαβάστε την πραγματική έξοδο και τα πραγματικά σφάλματα, διορθώστε το, εκτελέστε το ξανά — χωρίς άδεια SAS, χωρίς τοπική εγκατάσταση.
Η ανώνυμη πρόσβαση λειτουργεί χωρίς κανένα κλειδί API.
Ένας βοηθός που γράφει SAS και σταματά εκεί σάς δίνει κάτι που μοιάζει σωστό. Αν η μακροεντολή αναλυθεί σωστά, αν η συγχώνευση εντοπίσει τις μεταβλητές που περιμένατε, αν η PROC MEANS επιστρέψει 19 γραμμές ή 0 — τίποτα από αυτά δεν είναι γνωστό μέχρι να εκτελεστεί το πρόγραμμα.
Ιστορικά, η εκτέλεσή του απαιτούσε άδεια SAS και εγκατάσταση — ακριβώς αυτό που δεν διαθέτει ένας πράκτορας. Το Run API αίρει αυτόν τον περιορισμό: μία κλήση HTTP εκτελεί τον κώδικα και επιστρέφει δομημένα αποτελέσματα, για τα οποία το μοντέλο μπορεί πραγματικά να συλλογιστεί.
Παραγωγή, έλεγχος, εκτέλεση, επανάληψη — όλα αναγνώσιμα από μηχανή.
Το μοντέλο γράφει SAS — ένα DATA step, μια PROC, μια μακροεντολή. Δεν χρειάζεται κάτι ιδιαίτερο: το Jenner δέχεται τυπική σύνταξη SAS, άρα ο κώδικας που ήδη ξέρει να γράφει ένας βοηθός είναι ο κώδικας που εκτελείται.
Στείλτε το σενάριο με POST στο /v1/validate για έλεγχο μόνο της σύνταξης. Τα διαγνωστικά επιστρέφονται χωρίς να εκτελεστεί τίποτα, ώστε ένας πράκτορας να εντοπίζει ένα συντακτικό σφάλμα πριν ξοδέψει μια εκτέλεση για αυτό.
Στείλτε POST στο /v1/run με το σενάριο και τυχόν δεδομένα εισόδου σε CSV ή Parquet. Το Jenner το εκτελεί σε απομονωμένο κοντέινερ και επιστρέφει τα αποτελέσματα εξόδου, το αρχείο καταγραφής NOTE/WARNING/ERROR, έναν κωδικό εξόδου και κάθε σύνολο δεδομένων και αρχείο που παρήγαγε το πρόγραμμα.
Το αρχείο καταγραφής και τα διαγνωστικά είναι δομημένη ανατροφοδότηση, όχι ένα στιγμιότυπο οθόνης. Ο πράκτορας διαβάζει το πραγματικό σφάλμα, διορθώνει την πραγματική γραμμή και εκτελεί ξανά — κλείνοντας τον κύκλο χωρίς άνθρωπο στη μέση.
Πραγματικά αιτήματα προς το δημόσιο API. Χωρίς κλειδί, χωρίς ρυθμίσεις.
curl -X POST https://api.jenneranalytics.com/v1/quick \
--data-binary @analysis.sas The MEANS Procedure
Variable N Mean Std Dev
-----------------------------------------------
bmi 19 17.8420103 1.4625169
-----------------------------------------------Σε αυτό το απόσπασμα λείπει ένα ερωτηματικό «;». Μια κλήση μόνο για ανάλυση εντοπίζει το πρόβλημα, ώστε ο πράκτορας να το διορθώσει και να προχωρήσει.
data demo;
set sashelp.class /* <- missing semicolon */
bmi = weight / (height**2) * 703;
run;{
"valid": false,
"diagnostics": [
{ "severity": "error",
"message": "Unexpected token: Eq, expected Semi" }
]
}Μια πλήρης εκτέλεση επιστρέφει τα αποτελέσματα, το αρχείο καταγραφής, έναν κωδικό εξόδου και κάθε σύνολο δεδομένων που παρήγαγε το πρόγραμμα — μαζί με τα πλήθη γραμμών, ώστε ο πράκτορας να επαληθεύει ότι πήρε δεδομένα αντί να το υποθέτει.
{
"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": "..."
}Βασικό URL https://api.jenneranalytics.com/v1
| Τελικό σημείο | Σκοπός |
|---|---|
POST/v1/run | Εκτελεί ένα σενάριο με προαιρετικά δεδομένα εισόδου. Επιστρέφει έξοδο, αρχείο καταγραφής, κωδικό εξόδου, σύνολα δεδομένων, αρχεία και διαγνωστικά σε μορφή JSON. |
POST/v1/run/stream | Ίδιο με το /v1/run, με ροή ως Server-Sent Events, ώστε το αρχείο καταγραφής να φτάνει ενώ το πρόγραμμα εκτελείται ακόμη. |
POST/v1/quick | Ευκολία μίας γραμμής. Στέλνετε το σενάριο, λαμβάνετε τα αποτελέσματα σε απλό κείμενο — ο ταχύτερος τρόπος να απαντήσετε στο «λειτουργεί αυτό το SAS;» |
POST/v1/validate | Έλεγχος σύνταξης χωρίς εκτέλεση. Επιστρέφει διαγνωστικά χωρίς να εκτελέσει τίποτα. Οι μακροεντολές δεν αναπτύσσονται, οπότε αντιμετωπίστε τις αποτυχίες σε κώδικα με πολλές μακροεντολές ως απλώς ενδεικτικές. |
GET/v1/run/{run_id} | Ανακτήστε μια ολοκληρωμένη εκτέλεση, τα αρχεία της ή μια προεπισκόπηση ή λήψη ενός συνόλου δεδομένων. Τα αποτελέσματα διατηρούνται για μία ώρα και απαιτούν το διακριτικό πρόσβασης της εκτέλεσης. |
Ξεκινήστε χωρίς κλειδί. Προσθέστε ένα όταν χρειαστείτε περιθώριο.
| Βαθμίδα | Έλεγχος ταυτότητας | Όριο αιτημάτων | Χρονικό όριο |
|---|---|---|---|
| Ανώνυμη | Δεν απαιτείται κλειδί | 1.000 αιτήματα/ώρα ανά IP | 30 δευτερόλεπτα |
| Free | Εγγραφή με email | 1.500 αιτήματα/ώρα | 60 δευτερόλεπτα |
| Pro | Κλειδί API | 10.000 αιτήματα/ώρα | 5 λεπτά |
| Enterprise | Κλειδί API | Προσαρμοσμένο | Προσαρμοσμένο |
Την ίδια μηχανή εκτέλεσης χρησιμοποιούν όλα, οπότε ο κώδικας που επαλήθευσε ένας πράκτορας μέσω του API συμπεριφέρεται με τον ίδιο τρόπο όταν τον ανοίξει ένα άτομο.
Δεν χρειάζεται κλειδί για να ξεκινήσετε. Ποτέ άδεια SAS.