teren de test TypeSafe: docs offline + script de proba

Separat de produsele ROA. docs/ = documentatia oficiala descarcata ca Markdown
(111 pagini), reluabila cu update_docs.sh. typesafe_test.py face un apel cu cate
o intrebare din fiecare tip (choice/noul/score) pe o linie de factura de furnizor.
Cheia API se ia din TYPESAFE_API_KEY, nu se versioneaza.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KHLUSsKP99G6ebv2fFUKQV
This commit is contained in:
2026-09-17 21:47:19 +03:00
commit 2d012a969c
116 changed files with 25116 additions and 0 deletions

61
README.md Normal file
View File

@@ -0,0 +1,61 @@
# TypeSafe — teren de test
Separat de ROAFACTURARE si de restul produselor ROA. Nimic de aici nu intra in
niciun produs; e doar pentru a invata API-ul si a proba pe date reale.
## Rulare
```sh
export TYPESAFE_API_KEY=cheia_ta # Git Bash
# set TYPESAFE_API_KEY=cheia_ta # cmd
python typesafe_test.py
```
Cheia sta doar in mediu — nu se scrie in fisierele de aici.
## Ce e in folder
| | |
|---|---|
| `typesafe_test.py` | un apel, cate o intrebare din fiecare tip, pe o linie de factura de furnizor. Modifica `state` si `criteria` pe cazuri reale. |
| `docs/` | documentatia oficiala, descarcata ca Markdown (111 pagini) |
| `update_docs.sh` | reia docs-urile cand se schimba |
## API, pe scurt
`POST https://api.typesafe.ai/v1/systemone`, header `Authorization: Bearer <cheie>`.
Trimiti `model` (`jev-latest`), `state` (ce vede modelul) si `questions` — oricate,
evaluate in paralel intr-un singur apel, fara sa se vada intre ele.
| tip | intoarce | pentru |
|---|---|---|
| `choice` | optiunea aleasa, probabilitati per optiune, `confidence` | una din N |
| `noul` | o probabilitate 0–1 de „da” | tine o conditie? |
| `score` | poziția pe scara descrisa, probabilitati per nivel, `confidence` | grad pe o dimensiune |
Nu intoarce text, cod sau explicatii. Fara imagini/audio deocamdata.
## De citit, in ordine
1. `docs/introduction/quickstart.md`
2. `docs/concepts/system-one.md` si `docs/concepts/how-to-build-with-system-one.md`
3. `docs/concepts/state.md` — cum structurezi ce trimiti
4. `docs/primitives.md` + pagina primitivei alese (`docs/primitives/choice.md` etc.)
5. `docs/confidence.md` — cum se citeste incertitudinea si de ce pragurile se
calibreaza pe datele tale
6. `docs/model-jaggedness/` — unde modelul se descurca prost
7. `docs/api.md` sau `docs/sdk/python.md` daca vrei SDK in loc de urllib
Cookbooks relevante pentru ce ar putea folosi in ROA: `cookbooks/entity_alignment.md`
(potrivire furnizor/client), `cookbooks/pre_parsed_value_extraction_cookbook.md` si
`cookbooks/date_extraction_cookbook.md` (extragere din documente),
`cookbooks/hierarchical_classification.md` (incadrare pe plan de conturi),
`cookbooks/sde_cascade.md` (escaladare cand modelul nu e sigur).
## Capcane de reținut
- `confidence` spune cat de concentrata e distributia, nu cat de corect e raspunsul.
- `noul` la 0.50 = „da si nu la fel de probabile”, nu „intensitate medie”.
- Pune mereu o ieșire „niciuna” cand s-ar putea sa nu se potriveasca nimic.
- La selectie din candidati: nu poate alege o valoare pe care n-ai trimis-o.
- Pragurile din cookbooks sunt exemple, nu reguli.