Loader pe stdlib (fara python-dotenv): mediul are prioritate, altfel .env de langa script. .env e in .gitignore, .env.example e sablonul versionat. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KHLUSsKP99G6ebv2fFUKQV
70 lines
2.7 KiB
Markdown
70 lines
2.7 KiB
Markdown
# 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
|
||
|
||
Pune cheia in `.env` (o linie, fara ghilimele):
|
||
|
||
```
|
||
TYPESAFE_API_KEY=cheia_ta
|
||
```
|
||
|
||
apoi:
|
||
|
||
```sh
|
||
python typesafe_test.py
|
||
```
|
||
|
||
`.env` e in `.gitignore` — nu pleaca niciodata pe git. `.env.example` e sablonul
|
||
versionat. Daca `TYPESAFE_API_KEY` exista in mediu, are prioritate peste `.env`.
|
||
|
||
## Ce e in folder
|
||
|
||
| | |
|
||
|---|---|
|
||
| `.env` / `.env.example` | cheia API, neversionata / sablon |
|
||
| `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.
|